↑ ↓ to move ↵ to open

Credits and limits

What a call costs, what is free, and how many run at once.

You pay for Upscrape with credits. You buy them once, they never expire, and every endpoint says what it costs before it runs.

What a call costs

Every endpoint publishes its price in credits per call: on its reference page, in the catalog, and to an AI agent before it runs anything. Most cost 1 credit.

  • A range. A few endpoints charge by what they return and publish a range, such as 1 to 9 credits. You pay the price for the input you sent, never more than the top of the range.

  • Part of a credit. Some endpoints cost less than one credit, such as 0.25. Each call is charged exactly, so your balance can show decimals: 10 credits become 9.75 after one such call.

A finished job's billing.credits_charged says exactly what that call cost.

What is free

You are charged once, when a job completes. These cost nothing:

  • a call that fails;

  • checking on a job that is still running;

  • the automatic retries Upscrape makes for you inside a job;

  • a retry with the same Idempotency-Key, which returns the first job;

  • asking for the same data again soon after, which is answered from the result you already paid for.

Set a ceiling

Send max_credits in the request body, or the X-Max-Credits header, to cap what one call may cost:

JSON
{  "capability": "googlemaps.search",  "input": {"query": "coffee shops", "location": "San Francisco, CA"},  "max_credits": 1}

If the endpoint's price for your input is higher, the call is refused with HTTP 422 and credit_limit_exceeded, before any job starts and without charge. The ceiling is a whole number and a part-credit price counts as the next whole credit, so max_credits: 1 lets a 0.25-credit call through. The MCP tools take the same max_credits.

Your balance

New accounts start with up to 100 free credits. When the balance cannot cover a call, the call is refused before it runs and nothing is charged. You can buy more at any time in the console; they are added right away and never expire. Pricing lists the packs.

While calls are running, their price is set aside from your balance, so calls made at the same moment can never spend more than you have.

How many calls run at once

AccountCalls at once
Free credits3
After buying the $49 pack5
After buying the $149 pack10
After buying the $499 pack20
EnterpriseAs agreed

The higher number stays with the account. Calls beyond it wait in line and start as earlier ones finish, so a call sent with Prefer: wait may come back as 202 with a poll_url while it waits its turn.

Rate limits

Each API key can make 1,200 requests a minute, and so can all of an account's keys together. The headers x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset on every response say where you stand. A request over the limit gets HTTP 429 with a Retry-After header and retry_after_ms in the body: wait that long before trying again. An account can hold up to 25 active API keys.

How long a call may take

  • The wait. Prefer: wait holds the connection for up to 30 seconds. Over MCP, a call waits up to about 55 seconds before handing back a job to fetch later.

  • The endpoint's own limit. Each endpoint has a maximum run time, shown on its reference page as "Runs for up to". A job that runs past it fails, and costs nothing.

The two are separate: when a wait ends, the job keeps running, and a longer wait cannot extend an endpoint's run time.

Something missing or unclear? Ask the team that builds the endpoints.