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
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.
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 returns402 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
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. Checkperiod_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_EXCEEDEDin the CLI: the job’s estimate is above yourmax_credits_per_run. Split the job, raise the cap, or use--manualwith only the options the site needs.- A domain costs more than you planned: it needs rendering and premium proxies on its pages. Keep
mode=autoso each page uses only what it needs, and send only the URLs you need, for example by filtering a crawl withinclude_patterns.
Related recipes
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.