ZenRows MCP server
19 operations0 webhooks
Web data infrastructure for agents and applications. Fetch any page through anti-bot bypasses, a headless browser and residential proxies, extract structured JSON, crawl a site from one URL, and track the credits behind it all.
Try ZenRows with your agent
Connect ZenRows, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in ZenRows on my account, then run one read-only example and show me the result.
ZenRows tools and triggers
Tools are what your agent can do in ZenRows through Corsair's MCP server. Triggers are the ZenRows events a routine can start from.
Fetch
- BrowseWrite
Render a page and act on it before capture: fill fields, click, check, scroll or run JavaScript. Reaches the site, so it can change its state
fetch.browse
- Css ExtractRead-only
Extract named fields from a page with your own CSS or XPath selectors, such as a title, a price and every link, on any site with no preparation
fetch.cssExtract
- ExtractRead-only
Turn a page into structured JSON with Extract: the site's own field names, or a canonical Real Estate schema, on a domain prepared for it
fetch.extract
- Json ResponseRead-only
Capture the page and the XHR and fetch calls it made, as a JSON envelope, from a rendered page
fetch.jsonResponse
- OutputsRead-only
Pull typed data out of a page without parsing it: emails, phone numbers, links, headings, tables, metadata and more
fetch.outputs
- PageRead-only
Fetch one page through Zenrows: HTML by default, or Markdown and plaintext, with optional browser rendering, residential proxies, geolocation and resource blocking
fetch.page
- PostWrite
Send a POST to the target through Zenrows and return its answer. Reaches the site with the caller's body, so the site's state can change
fetch.post
- PutWrite
Send a PUT to the target through Zenrows and return its answer. Reaches the site with the caller's body, so the site's state can change
fetch.put
Crawl
- GetRead-only
Read a crawl with its coverage and one page of results; poll it with the same cursor to collect new URLs
crawl.get
- Get ContentRead-only
Read one kept page of a crawl, in the crawl's output format
crawl.getContent
- ListRead-only
List crawls, newest first, without their results
crawl.list
- StartWrite
Start a crawl from one URL: each page it opens is a billed Fetch request, and a crawl runs until its page limits stop it
crawl.start
- StopWrite
Stop a running crawl. Pages already being fetched finish and are billed
crawl.stop
Extract
- AllowanceRead-only
Read how many domain preparations this account has left this month
extract.allowance
- DomainsRead-only
List the sites Extract can handle today, with their verticals
extract.domains
- Get Domain StatusRead-only
Read how far a domain preparation has got: preparing, ready or failed
extract.getDomainStatus
- List Prepared DomainsRead-only
List the domains this account submitted for preparation, with the monthly allowance
extract.listPreparedDomains
- Prepare DomainWrite
Ask Zenrows to prepare a domain for Extract, which takes minutes and one slot of the monthly allowance; preparation is free and shared across accounts
extract.prepareDomain
Account
- SubscriptionRead-only
Read the plan behind the key: credits used and allowed, period end, per-product usage and the concurrency limit
account.subscription
Connect ZenRows to Claude, ChatGPT or Cursor
- 1
Connect ZenRows in Corsair
Add your ZenRows API key once in Corsair. Corsair stores the credential encrypted and makes the ZenRows API calls for your agent, so it never goes into a prompt or a config file. Connect ZenRows
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs ZenRows. On a ChatGPT personal plan, connect ZenRows here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. None of ZenRows's operations are destructive, so in the default Cautious mode they all run right away. Strict mode asks before each of its 6 writes, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/zenrows, add the ZenRows plugin, and connect with an API key. Then call methods like corsair.zenrows.api.account.subscription() from your app. Corsair keeps each tenant isolated.
Yes. ZenRows requires an API key from your ZenRows account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit ZenRows, GitHub, Notion, Stripe, and the rest. Trigger ZenRows from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for web data infrastructure for agents and applications. Fetch any page through anti-bot bypasses, a headless browser and residential proxies, extract structured JSON, crawl a site from one URL, and track the credits behind it all. Common builds include sync jobs, admin tooling, and agents that call ZenRows APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per ZenRows API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/zenrows in the open repo. When ZenRows ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your ZenRows data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store ZenRows data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put ZenRows on a link in Strict mode and every write waits for your approval, while destructive actions are refused. None of the ZenRows operations are destructive, so the default Cautious mode runs them all without asking. You can change a link's mode at hub.corsair.dev/me.