01Workspace · project · key
Three nested containers, top down:
- Workspace — the billing unit. One subscription, one credit balance, one set of members.
- Project — a logical scope inside a workspace. Independent metrics, independent webhooks, independent API keys. You'll typically create one project per service or environment.
- API key — the credential. Belongs to exactly one project. Scoped, IP-restricted, and revocable. See Authentication.
02Credits
The unit of API usage. A "credit" is the smallest indivisible chunk of work — the base cost of one datacenter-proxied scrape with no extras. Every request reports the credits charged in its meta.credits_used field, and the workspace balance is decremented atomically. Cost breakdown lives in the relevant endpoint page (e.g. Scrape credits).
Credits are bought in monthly bundles or pay-as-you-go. Unused monthly credits roll over for 30 days, then expire. Free-tier credits never expire but are capped at 1,000 per workspace lifetime.
03Proxy tiers
| Tier | IPs | Cost | Best for |
|---|---|---|---|
datacenter | 12.6 M | +0 | Anything that doesn't actively fingerprint at the network layer. Default. |
residential | 200.3 M | +1 | Major retailers, ticketing, travel, classifieds. |
mobile | 42.8 M | +4 | Hardest targets — telcos, banks self-service, geo-strict apps. |
Always test with datacenter first. Upgrade only if you observe consistent 4xx / 5xx from the target — most sites don't actually care about the proxy tier as long as the request looks human.
04Geotargets
Pin the exit IP to a specific country, region (state/province), city, or ASN. Useful for:
- Local catalogs (a French shop only shows you French prices if you arrive from a French IP).
- Localized SERPs (Google results differ by city even within the same country).
- A/B isolation (test how a site behaves on Comcast vs. AT&T).
City- and ASN-level targeting requires residential or mobile tier — datacenter pools don't have meaningful sub-country granularity.
05Render modes
- No render (
render: false) — plain HTTP fetch. Fast, cheap, defeated by SPAs and JS-rendered content. - Browser render (
render: true) — full headless Chromium / Firefox / WebKit. Slower (≥1 s), 5× cost, but sees what a human sees. - Stealth render — the default when render is on. Rotates TLS fingerprint, canvas, WebGL, font enumeration. Turn off with
stealth: falseif you need a vanilla browser identity.
06Sessions
An opaque string that ties multiple requests to one logical identity — same exit IP, same cookies, same browser fingerprint. Use sessions for login flows, multi-step traversal, or anywhere the target tracks state across requests. Sessions live for 10 minutes by default; refresh by using the session before it expires.
07Extract schemas
The way you tell the AI Parser what you want. Two formats:
- Sketch — JSON where each value is a one-line type + hint string. Compact, forgiving, ideal for prototyping.
- JSON Schema — full draft-2020-12 document. Strict validation, refusal of non-conforming output.
See AI Parser for the full taxonomy.
08Retries
Two layers of retry: inside Hypedata (we'll retry a failed fetch with different proxies before giving up — usually free) and your client retrying after a 429 / 5xx. See Retries & idempotency.
09Trace IDs
Every response (success or error) includes meta.trace_id (or top-level trace_id on errors). It's the only field that uniquely identifies a request in our logs. Log it. Include it in every support ticket. It's the difference between "we can find your request in 5 seconds" and "we can't help you."