Plans and costs
/v1/billing/plansRequest
https://api.scrapercompany.com/v1/billing/plansAuthenticate with your API key in the x-api-key header (see Authentication).
Example request
curl "https://api.scrapercompany.com/v1/billing/plans" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY"Response
200 — Plans and per-endpoint credit costs.
{
"plans": [
{
"code": "free",
"name": "Free",
"monthly_credits": 1000,
"price_usd": 0,
"concurrency": 2
},
{
"code": "starter",
"name": "Starter",
"monthly_credits": 50000,
"price_usd": 49,
"concurrency": 10
}
],
"costs": [
{
"method": "POST",
"path": "/v1/calendar",
"credits": 5
},
{
"method": "POST",
"path": "/v1/ota/compare",
"credits": 20
}
],
"free": [
"GET /v1/billing",
"GET /v1/usage"
],
"notes": [
"Failed, blocked and empty results are not charged."
],
"mode": "shadow"
}Response fields
Fields marked required are always present; others appear when they apply.
- plansarray of objectrequired
Show 5 child fieldsHide child fields
- plans[].codestringrequired
Plan code.
One of
freestartergrowthscaleenterprise - plans[].namestringrequired
- plans[].monthly_creditsintegerrequired
Credits granted at the start of each period.
- plans[].price_usdintegerrequired
Monthly price in USD; 0 = free, -1 = custom (sales).
- plans[].concurrencyintegerrequired
Concurrent metered requests allowed once enforcement is on.
- costsarray of objectrequired
Base credit cost of every metered operation.
Show 3 child fieldsHide child fields
- costs[].methodstringrequired
- costs[].pathstringrequired
- costs[].creditsintegerrequired
- freearray of stringrequired
Operations that never cost credits.
- notesarray of stringrequired
- modestringrequired
One of
offshadowenforce
Errors
Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.
| Status | Meaning | Retry? |
|---|---|---|
401Unauthorized | Missing or invalid API key. {"detail":"missing or invalid API key"} | No, fix the request |
429Too Many Requests | Too many requests: the key's requests-per-minute limit was exceeded, or (once credit enforcement is on) the plan's concurrent-request limit. No rate-limit or Retry-After headers are sent; back off and retry. {"detail":"rate limit 60/min exceeded"} | Yes, with backoff |
Try it
- Export your key:
export SCRAPERCOMPANY_API_KEY=sk_...(no key yet? request access). - Copy the cURL example above and run it in a terminal.
- Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.