> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zenrows.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The Zenrows API (Fetch, Extract via extract=auto, and Batch) is described in OpenAPI 3.1 at https://www.zenrows.com/openapi.json and listed in the RFC 9727 API catalog at https://www.zenrows.com/.well-known/api-catalog. Use the spec for exact parameter names and types.

# Prompts that put Zenrows MCP to work

> A copy-ready, plain-English prompt library for the Zenrows MCP server: read pages, get structured fields, map sites, scrape at scale, drive a browser, and combine them.

With the Zenrows MCP server connected, your AI agent picks the right tool from a plain-English request. You never need parameter names: describe the page, the outcome and the format, and the agent chooses the tool and its settings, including JavaScript rendering, premium proxies and the country to browse from. Copy a prompt, swap the URL, and run it.

**Uses:** [Zenrows MCP server](/mcp/overview): `scrape`, `extract`, `crawl_*`, `batch_*`, `browser_*`, `account_usage` (see the [tool reference](/mcp/tool-reference))

## Connect the server

Connect the Zenrows MCP server to your client first: see [Connect your AI agent to Zenrows](/academy/connect-your-ai-agent). Every connection option exposes the same tools.

## Read and summarize pages

Ask for any page in plain words. Zenrows renders JavaScript and handles anti-bot protection on its own, and returns clean markdown your agent can read.

| Outcome | Prompt |
| - | - |
| A summary of one page | `Use Zenrows to read https://www.scrapingcourse.com/ecommerce/product/abominable-hoodie/ and summarize it in three bullets.` |
| Answers from a JavaScript-heavy page | `Use Zenrows to read https://www.scrapingcourse.com/javascript-rendering and list every product name and price on it.` |
| The page as a specific country sees it | `Use Zenrows to read <product url> as a visitor from the UK and tell me the price and currency shown.` |
| A screenshot to check the layout | `Use Zenrows to take a full-page screenshot of https://www.scrapingcourse.com/ecommerce/ and describe the layout.` |
| Links from a page | `Use Zenrows to get every link on https://www.scrapingcourse.com/ecommerce/ and list the product pages among them.` |

## Get structured fields

Ask for the fields you want. Zenrows returns them as JSON instead of a full page, which keeps your agent's context small.

| Outcome | Prompt |
| - | - |
| Product fields as JSON | `Use Zenrows to get the title, current price and stock status of https://www.amazon.com/dp/B08Z6X4NK3 as a shopper in the US sees it.` |
| Exactly the elements you name | `Use Zenrows to read https://www.scrapingcourse.com/ecommerce/ and give me a table of every product's name and price, using the CSS selectors .product-name and .price.` |
| A comparison across retailers | `Use Zenrows to get the price of each of these products and compare them in one table: <url1> <url2> <url3>` |

## Discover every page on a site

Give a start page and say which pages you want. The agent crawls the site and returns the URLs, or the pages themselves.

| Outcome | Prompt |
| - | - |
| Every product URL in a catalog | `Use Zenrows to find every product page on https://www.scrapingcourse.com/ecommerce/, spending at most 20 page loads, and list the URLs.` |
| A site map of a docs section | `Use Zenrows to map every page under https://docs.example.com/guides/ and group the results by path.` |
| The pages themselves, not only URLs | `Use Zenrows to crawl <url>, keep the first 10 pages with their content, and summarize the first three.` |

## Scrape at scale

Hand the agent the whole list, a hundred URLs or a hundred thousand. It sends them to Zenrows as one job that runs in parallel in the cloud, so the conversation stays short and the results wait for you.

| Outcome | Prompt |
| - | - |
| A whole URL list as one job | `Use Zenrows to scrape every URL in urls.txt as one batch job, wait for it to finish, and save each page as markdown in a folder called pages/.` |
| Structured data for a full catalog | `Use Zenrows to find every product page on https://www.scrapingcourse.com/ecommerce/, scrape them all in one batch, and give me name, price and SKU for each as a CSV.` |
| A big job you check on later | `Submit these 5,000 URLs to Zenrows as one batch job and give me the job ID. Don't wait for it.` then later `Check my Zenrows batch job <job ID> and list any URLs that need a retry.` |
| Spend before and after | `Check my Zenrows credits, run the batch, then tell me how many credits the job used.` |

A two-URL test job came back `"status": "completed"` with `"stats": {"total": 2, "successful": 2, "spend": {"credits": 2}}`.

## Click, type and log in

Describe the steps the way you would to a colleague. The agent drives Zenrows Browser through them and reports back.

| Outcome | Prompt |
| - | - |
| Content behind a "Load more" button | `Use the Zenrows browser to open https://www.scrapingcourse.com/button-click, click "Load more" twice, then list every product name. Close the session when done.` |
| A logged-in page | `Use the Zenrows browser to log in at https://www.scrapingcourse.com/login with admin@example.com and password, and tell me the heading of the page you land on. Close the session.` |
| A PDF of a rendered page | `Use the Zenrows browser to open <url>, wait for the main content to load, save the page as a PDF, and close the session.` |
| A page from a region | `Use the Zenrows browser to open <url> as a visitor from Europe and tell me which currency the prices use. Close the session.` |

<Tip>
  End every browser prompt with "close the session". It frees the session and its concurrency slot right away.
</Tip>

## Combine primitives in one prompt

The agent chains tools on its own when the prompt names the full outcome.

```text Catalog to dataset theme={"dark"}
Use Zenrows to find every product page on https://www.scrapingcourse.com/ecommerce/,
scrape them all in one batch, pull name, price and SKU from each,
and give me the result as a CSV table.
```

```text Read first, browse when needed theme={"dark"}
Use Zenrows to read <url>. If the reviews section is missing,
open the page in the Zenrows browser, click "Show all reviews", read the reviews,
and close the session.
```

```text Research brief theme={"dark"}
Use Zenrows to search Bing for "web scraping best practices",
read the top three result pages, and write a one-page brief with a source link per point.
```

```text Budget-aware run theme={"dark"}
Check my Zenrows credits. If I have more than 1,000 left,
crawl <url> for up to 50 pages and summarize them. Otherwise tell me what it would need.
```

## Use the built-in MCP prompts

The server also ships three ready-made prompts. Clients that support MCP prompts list them in their prompt or slash-command menu, for example `/mcp__zenrows__scrape_and_summarize` in Claude Code.

| Prompt | Arguments | What it does |
| - | - | - |
| `scrape_and_summarize` | `url` | Scrapes the page and returns a concise summary with key points, headings and data |
| `extract_structured_data` | `url`, `fields` (a JSON map of field names to CSS selectors) | Runs `extract` in `css` mode and returns clean JSON |
| `scrape_js_page` | `url` | Scrapes a JavaScript-rendered page with `mode=auto` and returns the rendered content as markdown |

## Write prompts the agent follows

* **Start with "Use Zenrows"** so the agent reaches for live data instead of its memory.
* **Describe the result, not the settings**: "a table of name and price", "as a visitor from Germany", "after the reviews load". The agent picks the parameters.
* **Say the size of the job**: "every product page", "these 5,000 URLs", "up to 50 pages". Large lists run as one batch job.
* **Name elements when you know them**: a CSS selector such as `.price` turns a broad request into a precise one.
* **Close browser sessions** in the same prompt.

## Troubleshooting

* **The agent answers without calling Zenrows**: it used its own knowledge. Start the prompt with "Use Zenrows to...".
* **The tool list is empty**: the server didn't authenticate. Check the URL is exactly `https://mcp.zenrows.com/mcp` and the Bearer token holds your key, then restart the client.
* **The agent reports a crawl or batch job as still running**: large jobs take longer than one check. Ask it to keep checking until the job is complete.
* **`AUTH004` or `AUTH014`**: the plan or the key needs more credits. Ask the agent to check your Zenrows credits, then see [Track usage and control spend](/academy/production/control-costs).

## Related recipes

<CardGroup cols={2}>
  <Card title="Connect your AI agent to Zenrows" icon="plug" href="/academy/connect-your-ai-agent">
    Set up the MCP server in your client, step by step.
  </Card>

  <Card title="Automate scraping from your terminal with the CLI" icon="terminal" href="/academy/surfaces/cli-workflows">
    The same jobs as shell commands and cron.
  </Card>

  <Card title="Build a research agent with live web data" icon="robot" href="/academy/pipelines/research-agent">
    Search, read and cite sources with one agent.
  </Card>

  <Card title="Let your AI assistant browse with Browser tools" icon="world" href="/academy/browser/ai-assistant-browsing">
    Drive Zenrows Browser from a chat.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.