Skip to main content
Use ZenRows through Corsair: one client, typed API calls. Every call goes through https://api.zenrows.com. The key travels in the X-API-Key header, or in the apikey query parameter when customHeaders is on, because ZenRows copies every request header onto the target page in that mode. A Fetch answer is not always JSON. fetch.page returns the page itself as HTML, Markdown or plaintext, fetch.cssExtract and fetch.outputs return a JSON object, and fetch.extract returns { html, parsed }. ZenRows labels all of these text/plain, so the operation you call is what tells you the shape. A crawl is a job. crawl.start returns a crawl_id and spends credits per page, crawl.get reads its status and one page of results, and polling it with the same cursor returns only new URLs. On Corsair’s cloud, get_job and the job card follow it for you. Extract needs a domain prepared first. extract.getDomainStatus says whether it is ready; extract.prepareDomain asks for it, which takes minutes and one slot of the monthly allowance. fetch.cssExtract works on any site with no preparation. What you get:
  • 19 typed API operations

Setup

1

Install

2

Add the plugin

corsair.ts
With multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.
3

Choose authentication

4

Connect a tenant

Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.

Example API calls

Fetch a page as HTML
Crawl the first two pages of a site
See the full list on the API page.

What’s next

API reference

Every zenrows.api.* operation with input and output types.

Connect / OAuth

createLink, Hub delivery, and tenant connect flows.

Use with agents

Expose this plugin’s operations as MCP tools.