Skip to content
Billing

Plans and costs

GET/v1/billing/plans
Free

Request

GEThttps://api.scrapercompany.com/v1/billing/plans

Authenticate 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.

200 response
{
  "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 fields
    • plans[].codestringrequired

      Plan code.

      One offreestartergrowthscaleenterprise

    • 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 fields
    • costs[].methodstringrequired
    • costs[].pathstringrequired
    • costs[].creditsintegerrequired
  • freearray of stringrequired

    Operations that never cost credits.

  • notesarray of stringrequired
  • modestringrequired

    One ofoffshadowenforce

Errors

Errors return a JSON body with a detail field. Failed requests are not charged. See Errors for the full list and retry advice.

StatusMeaningRetry?
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

  1. Export your key: export SCRAPERCOMPANY_API_KEY=sk_... (no key yet? request access).
  2. Copy the cURL example above and run it in a terminal.
  3. Or open the interactive playground on api.scrapercompany.com, paste your key and pick this endpoint.