Skip to main content
Zenrows gives you five primitives. Each one does one job well, and they share the same account, credits and access to protected sites, so they combine without glue code. This page explains what each one is for and how they work together.

The five primitives

Fetch is the foundation. Extract is a Fetch parameter, and Crawl and Batch run Fetch requests for you at scale. Browser is the interactive counterpart: instead of one request per page, your code or agent keeps a real browser open and acts in it.

Read, or act?

The first question is whether the job is about reading a page or acting on it.
  • Reading: getting text, prices, listings, links or a screenshot from pages a URL leads to. Fetch handles reading, including JavaScript rendering, scripted clicks and scrolls with js_instructions, and anti-bot protection with Adaptive Stealth Mode. Every request is independent, so reading scales with your list.
  • Acting: logging in, filling a multi-step form, adding to a cart, following whatever the page shows next. Browser handles acting. Your code or agent holds the session and decides each next step from what it sees.
Most data jobs are reading jobs. Choose Browser when the next step depends on the last one.

How many pages?

Once you know you’re reading, the number of pages picks the primitive:

Page, or fields?

Fetch returns the page. Choose the shape that matches what you do next:
  • For an LLM or a RAG index: response_type=markdown or plaintext.
  • For your database: extract=auto returns ready-made fields for products, real estate, jobs, travel and more. css_extractor returns exactly the selectors you name.
  • For a human or an audit trail: screenshot or response_type=pdf.

Combine primitives

The primitives are built to chain. The most common combinations:

Pick your surface

Every primitive is available from the surface you already work in: Each surface keeps its own native shape: the API speaks parameters, the CLI speaks commands (zenrows fetch, extract, crawl, batch, browser), MCP speaks tools (scrape, extract, crawl_*, batch_*, browser_*), and the SDKs mirror the API. The recipes show each one in its own terms. The name Extract appears on more than one surface. On the API, Extract is the extract=auto parameter on Fetch. The CLI’s zenrows extract command and the MCP extract tool cover extract=auto and CSS selectors (css_extractor), and you pick the mechanism with a flag or a tool argument.

Start building

Lesson 1: Make your first request

Start the six-lesson course that uses all five primitives on one project.

Scrape pages protected by anti-bot systems

The Fetch recipe most projects start with.

Get structured JSON from any page

Fields from any page with extract=auto.

Connect Playwright or Puppeteer to Zenrows Browser

Drive Zenrows Browser from your code or agent.