Skip to main content
Zenrows reports what every request costs, on the response itself, and lets you set limits per API key and per CLI run. This page shows how to read cost as you go, check your plan’s balance from code, and keep large jobs on the configuration that gets each page for the fewest credits. Uses: Fetch response headers, the plan usage endpoint, API key credit caps, Adaptive Stealth Mode (mode=auto), zenrows batch estimate and CLI policy

Ask your AI agent

With the Zenrows MCP server connected, paste this prompt. Checking usage is free.

Read the cost of each request

Every Fetch response carries its cost. X-Request-Credits is the number of credits the request used, and X-Request-Cost is the same amount in US dollars.

Example output

Log X-Request-Credits with each URL. Summed per domain, it shows which targets drive your spend.

Check your plan’s balance from code

GET /v1/subscriptions/self/details returns your plan’s usage. It is free and doesn’t count against your concurrency, so call it before a large run or on a schedule:
Python (Requests)
plan.products breaks the usage down by product key (api is Fetch, scraping_browser is Browser), and api_key.caps lists this key’s caps with their remaining credits and reset times. From the terminal, zenrows usage prints the same summary.

Choose the lightest configuration that gets the page

Each Fetch request costs credits by configuration: mode=auto starts light, adds rendering and premium proxies only when a page needs them, and bills only the configuration that succeeds. For example, it billed 1 credit for the scrapingcourse.com catalog, 5 for an Amazon product page and 25 for a Google results page, each without any tuning. When you run the same domain at volume, read X-Request-Credits from a handful of mode=auto requests, and that’s the cost to plan for. Requests that don’t succeed aren’t charged, so retries cost only the attempt that succeeds.
block_resources controls which resource types the rendering browser loads. Zenrows already blocks images and stylesheets by default, so pages load fast without any setting. See Block resources before changing it.

Cap what each API key can spend

Give each project, environment or customer its own API key, and set credit caps per key on the API keys page: per billing period, daily, weekly or monthly. A key that reaches a cap returns 402 with AUTH014 while your other keys keep working. See API key credit caps. Responses from a capped key include X-Key-Credits-Remaining, the lowest remaining balance across its caps. Read it to slow down or switch keys before a cap is reached.

Estimate and cap jobs from the CLI

Before you submit a Batch job, estimate it locally. The estimate is a ceiling: tasks in Adaptive Stealth Mode count at 25 credits each, and each task bills only what it actually uses.
CLI
Set a cap per run in the workspace policy. The CLI checks every batch create against it before any cloud call:
CLI
max_pages_per_run bounds how many URLs one batch submits and how many pages one crawl fetches. See all keys with zenrows policy show. After a job runs, its real spend is in the job’s stats: zenrows batch status <job-id> --json returns stats.spend.credits. The three-task job estimated above billed 3 credits.

Customize it

Troubleshooting

  • AUTH004 (402): the plan’s credits for this period are used. Check period_ends_at, then top up or upgrade to continue now. See AUTH004.
  • AUTH014 (402): this key reached one of its caps. Raise the cap or wait for its window to reset. See AUTH014.
  • POLICY_LIMIT_EXCEEDED in the CLI: the job’s estimate is above your max_credits_per_run. Split the job, raise the cap, or use --manual with only the options the site needs.
  • A domain costs more than you planned: it needs rendering and premium proxies on its pages. Keep mode=auto so each page uses only what it needs, and send only the URLs you need, for example by filtering a crawl with include_patterns.

Resolve common response codes

Symptom-to-fix for 422, 429, 402 and more.

Automate scraping from your terminal with the CLI

Batch, crawl and trace runs from the CLI.

Scrape a list of URLs

Run thousands of URLs as one Batch job.

Scrape pages protected by anti-bot systems

Let Adaptive Stealth Mode pick the right configuration per page.