Guides
Credits
Every request costs a few credits, set by what it costs us to run. The first 1,000 credits each month are free; with a card on file the rest are billed monthly on a graduated scale.
Costs
| Action | Credits | Note |
|---|---|---|
| Render, HTTP mode (no JavaScript) | 1 | |
| Render, browser mode | 5 | |
| Screenshot or PDF | 5 | |
| + stealth tier | +5 | only when the stealth tier served the page |
| + residential tier with your own proxy | +0 | you pay your proxy provider for bandwidth; available on every plan |
| + extract with a JSON schema (LLM) | +40 | |
| + extract with a template | +0 or +40 | lead, product, article, job: +0 when the page markup has every required field; the LLM add-on only when it had to run |
| + page actions over 15 s | +5 | clicks, scrolls and waits are free up to 15 s in total per request |
| Search | 2 | |
| Map (discover a site's URLs) | 1 | sitemaps + the start page's links; 0 when no URL is found |
| Crawl | per page | each page costs the same as a render; reading sitemaps is free |
| Structured data (format or extract) | +0 | JSON-LD, microdata, OpenGraph, app state and records: no more than the render itself |
| Served from cache (max_age) | 0 | render, screenshot, pdf, extract; an LLM extraction still adds its own cost |
| Search served from cache | 0 | identical searches within 6 hours (or your max_age) are answered from the cache |
| Cache revalidated (304 Not Modified) | 1 | instead of the fetch; tier add-ons still apply |
| Batch | per URL | each successful URL costs the same as a render; failures are free |
| Monitor check | per check | each successful check costs the same as a render (or extract); failed checks are free |
A request's cost is the sum of its parts. The response's credits field and the x-credits-used header tell you exactly what was charged. Output formats are free: asking for structured, metadata or every format costs the same as the fetch alone, and so does /v1/extract with structured or selectors. A template adds the LLM credits only when the page markup lacked a required field and the LLM ran. Reading sitemaps to seed a crawl is free too.
The residential tier goes through your team's own proxy and adds +0 credits: you pay your proxy provider for the bandwidth, we add no surcharge, and it works on every plan.
Charged only for success
- If the target answered (2xx, 3xx or 4xx), the request succeeded and is charged.
- Our own errors, timeouts, targets that blocked every tier we tried (including block pages and pages with no visible text), CAPTCHAs (
captcha_required), login redirects (login_required) and searches with no results because the engines failed, were suspended or were throttled are free. - So are
robots_disallowed,target_rate_limited(the site asked us to slow down) andproxy_failed(your own proxy failed). - With
max_age, a response served from the cache costs nothing, and one the site confirmed unchanged (304) costs the revalidation price instead of a full fetch. See caching. - Searches answered from the search cache (identical searches within 6 hours, or your
max_age) cost nothing. See search caching. - With
unblock: "auto"we escalate none → stealth → residential and charge only for the tier that succeeded, not for the attempts before it.
Worked examples
| Workload | Credits | Cost in a month on its own |
|---|---|---|
| 1,000 HTTP renders (no JavaScript) | 1,000 | Free |
| 1,000 browser renders | 5,000 | $1.20 |
| 1,000 browser renders that needed the stealth tier | 10,000 | $2.70 |
| 100 browser renders through your own residential proxy | 500 | Free |
| 1,000 screenshots | 5,000 | $1.20 |
| 1,000 searches | 2,000 | $0.30 |
| Crawl of 200 pages in browser mode | 1,000 | Free |
| 100,000 browser renders | 500,000 | $124.80 |
| 1,000,000 searches | 2,000,000 | $424.80 |
Monthly reset
Usage is counted per calendar month in UTC and resets on the 1st at 00:00 UTC. Every organization gets 1,000 free credits each month; unused free credits do not roll over.
Usage rates
Credits beyond the free credits are "billable". They are priced per 1,000 on a graduated scale: each rate applies to the credits inside its range, like tax brackets, and the total resets every month.
| Billable credits per month | Price per 1,000 credits |
|---|---|
| Free credits: the first 1,000 each month | Free |
| First 250K | $0.30 |
| 250K – 2M | $0.20 |
| 2M – 10M | $0.12 |
| Over 10M | $0.08 |
- Pay as you go: add a card on the Billing page. At the end of each month (UTC) the card is charged for that month's billable credits.
- Invoiced: the same rates on a monthly invoice with payment terms (net 30 by default). Request it from the Billing page.
Running out, and the spend limit
Without a card, a request that would take you past the free credits is refused with 402 insufficient_credits and nothing is charged. With a card, requests continue up to your monthly spend limit ($50 to start; owners and admins can change it on the Billing page). At the limit, billable requests are refused with 402 spend_limit_reached until the limit is raised or the month ends. Owners and admins get an email at 50%, 80% and 100% of the limit. If a payment fails, billable usage pauses until the invoice is paid. Every 402 carries a reason (free_credits_used, payment_failed, subscription_inactive or spend_limit) and a billing_url: see Errors.
Check your balance with GET /v1/usage or in the dashboard. Rates are on Pricing.