Credit system
Every API call consumes credits. Credits are deducted when a request completes successfully. Failed requests (4xx errors caused by bad input) are not charged. Your balance resets monthly, at the start of your billing cycle. Credits do not roll over — unused credits expire at the end of the cycle, on every plan including paid ones.Per-surface credit costs
GET /v1/walmart/product was re-enabled on 2026-08-03, now backed primarily by our dedicated walmart_product target (with the generic browser-render path retained as a fallback) — this replaced the generic-only path that had been hitting frequent PerimeterX-related blocks on individual product pages.
Proxy-tier surcharge on Fetch, Crawl, and Map
Fetch, Crawl, and Map all escalate through an access-tier ladder automatically — direct HTTP, stealth browser, then a residential proxy if needed — to get past anti-bot defenses. Each surface’s base credit price only covers the direct/stealth tiers. If a specific request (or, for Crawl/Map, a specific page/URL) needs the residential proxy to succeed, a surcharge is added on top, billed off whichever tier actually served that request, not a flat rate applied to every call:
- +65 credits if the request needed the residential proxy (typically hardened, anti-bot-defended targets like sites behind PerimeterX-class defenses).
8 × 2 + 2 × (2 + 65) = 150 credits, not a flat 10 × 2 = 20. Interact is billed at its flat per-session price regardless of access tier and is not affected by this surcharge.
use_proxy: skip straight to the strongest tier
Fetch, Crawl, Map, and Interact all accept an optional use_proxy: true field. By default these surfaces escalate through the access-tier ladder automatically, cheapest tier first, only advancing when a cheaper tier gets blocked. If you already know a target needs the strongest tier — e.g. you’re hitting a hardened site and expect to be blocked on anything cheaper — setting use_proxy: true skips the wasted cheap-tier attempts and goes straight there, which also reduces the chance of hitting timeout_ms mid-escalation on a tight budget.
use_proxy requires a paid plan (Starter or higher) and returns 402 plan_upgrade_required immediately if set on the Free plan, since Free never reaches that tier regardless. Billing is unaffected by the flag itself — you’re still billed by whichever tier the request actually lands on (see the surcharge table above), not a separate rate for using use_proxy.
Crawl and Map auto-promote to an async job on large requests
Crawl and Map normally run synchronously, fetching every page within the same HTTP request/response. If your request is large enough that it would plausibly exceed the tenant’s inline execution budget — max_pages/max_urls above the surface’s own default (25 for Crawl, 100 for Map), or an explicit timeout_ms above your plan’s inline timeout — the API automatically queues it as an async job instead of holding the connection open, and responds the same way POST /v1/jobs does:
GET /v1/jobs/{job_id} for the result, same as any other async job. Small/default requests are unaffected and stay synchronous — you can also opt into async explicitly at any size via POST /v1/jobs with { "kind": "crawl" | "map", "input": {...} }.
If a request times out before the ladder would have reached its strongest tier, the 504 timeout error includes a hint suggesting use_proxy or a higher timeout_ms, unless the request already had use_proxy set or is on the Free plan (where the hint wouldn’t apply).
Plan limits
Credits do not roll over on any plan — unused credits expire at the end of the billing cycle.
Free plan does not include proxy access
The Free plan never routes requests through a datacenter or residential proxy — only direct HTTP and stealth-browser access. Most targets work fine without either, but sites with stronger anti-bot defenses may block Free-plan requests that would succeed on a paid plan. When this happens, the API returnsfree_plan_proxy_required (see Error Reference) instead of a generic block, so you know upgrading is the fix rather than retrying.
Dedicated APIs and Fast Search require a paid plan
Amazon, Walmart, Booking.com, Agoda, YouTube (search, video, subtitles, and search crawl), Airbnb, Target, Reddit, TikTok, Apple App Store, Bing, ChatGPT, Perplexity, Gemini, and Fast Search all require a Starter plan or higher. Google SERP search requires a Pro plan or higher. Requesting any of these on an ineligible plan returns402 plan_upgrade_required.
Quota errors
When your credit balance runs out, the API returns:
Credits are a hard cap, not billed overage — requests are blocked once your plan’s included credits run out. Buy a top-up or upgrade to a higher plan to keep going.
Checking your usage
Use theusage field in every successful inline response to see how many credits that call consumed: