Skip to main content

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 daily at midnight UTC on the Free plan. Paid plans carry credits forward.

Per-surface credit costs

SurfaceCredits per callNotes
Fetch (no JS)1Static HTML fetch
Fetch (JS rendering)2render_js: true
Fetch + extract2–5+1–3 depending on extraction mode
Crawl1 per page crawledCharged per page, not per job
Interact3Per interaction session
Search (no fetch)2Google SERP only
Search + fetch results2 + 1 per fetched result
YouTube search1
YouTube video details1
YouTube subtitles1
Amazon product2
Amazon search2
Walmart product2
Walmart search2

Plan limits

PlanDaily creditsNotes
Free1,000Resets midnight UTC
Pro50,000Rolls over unused credits (up to 2×)
EnterpriseCustomSLA + dedicated capacity

Quota errors

When you exceed your balance or daily cap, the API returns:
{
  "request_id": "...",
  "error": {
    "code": "daily_credit_cap_exceeded",
    "message": "This tenant has reached its daily credit cap."
  }
}
CodeStatusWhen
credits_exhausted402Balance is zero
daily_credit_cap_exceeded429Daily cap reached (Free plan)

Checking your usage

Use the usage field in every successful inline response to see how many credits that call consumed:
{
  "usage": { "credits": 2 }
}
Aggregate usage dashboards are available at scrapio.dev.