Credit Usage
ScrAPI uses a credit-based billing system. Each API call consumes credits based on the features you enable. Credits are additive - if you use multiple features in a single request, the total credits consumed is the sum of each feature’s cost.
No credits are consumed for failed requests that do not return any HTML or Markdown content. Solved captchas are the one exception, described below.
Credit Cost Per Feature
| Feature | Credits | Details |
|---|---|---|
| No Browser (HTTP client) | 1 | Default - fastest and cheapest option. |
| Real Browser | 5 | Full headless browser with JavaScript execution. Replaces the 1 credit for the HTTP client rather than adding to it. |
| Screenshot | 2 | PNG capture of the final rendered page. |
| 2 | PDF document of the final rendered page. | |
| Video Recording | 3 | WEBM recording of all browser actions. |
| Residential Proxy | 10 | Premium proxy with wide geolocation support. |
| Data Center Proxy | 5 | Fast proxy with limited geolocation options. |
| Tor Proxy | 1 | Route requests through the Tor network. |
| Callback URL | 1 | Charged when you supply a callbackUrl to receive the result asynchronously. |
| Captcha Solved | 30 | Per captcha solved (reCAPTCHA, hCaptcha, Cloudflare, FunCaptcha, GeeTest, Yandex SmartCaptcha, Lemin, Amazon WAF). |
| Google Search | 20 | Surcharge added to any request routed through the Google Search pipeline. See below. |
Free proxies and custom proxies do not consume additional credits.
Google Search Requests
A request to a google.com search URL runs through a dedicated pipeline. ScrAPI forces a real browser and a residential proxy for these requests, then adds a 20-credit surcharge, so a Google search costs 35 credits: 5 for the browser, 10 for the residential proxy, and 20 for the surcharge.
The surcharge only applies when the request is billed at all. A Google request that fails and returns no content costs nothing. See Google Search scraping for what the pipeline handles.
Captchas Are Charged Even When A Request Fails
Every other feature is only billed when the request succeeds. Solved captchas are billed separately: if ScrAPI solves a challenge and the page then blocks the request anyway, you are still charged 30 credits for the captcha, and nothing for the rest of the request.
The work has already been paid for by the time the block happens, and the solve is what costs money. To keep this from adding up on a target that challenges you repeatedly, use a session so captcha clearance cookies carry across requests, and only set solveCaptchas on targets that actually present challenges.
Example Credit Calculations
| Scenario | Features Used | Total Credits |
|---|---|---|
| Simple HTTP scrape | HTTP client | 1 |
| Browser scrape with screenshot | Browser (5) + Screenshot (2) | 7 |
| Residential proxy with captcha solving | Browser (5) + Residential (10) + 1 captcha (30) | 45 |
| Full capture with data center proxy | Browser (5) + Data Center (5) + Screenshot (2) + PDF (2) + Video (3) | 17 |
| Google search | Browser (5) + Residential (10) + Google surcharge (20) | 35 |
| Async scrape with a callback | Browser (5) + Callback (1) | 6 |
| Captcha solved, request still blocked | 1 captcha (30), nothing else billed | 30 |
Tips to Optimize Credit Usage
- Skip the browser when possible. If the page doesn’t require JavaScript rendering, the default HTTP client costs just 1 credit. See Real Browser for guidance on when a browser is necessary.
- Use data center proxies over residential when geolocation requirements are flexible - they cost half the credits.
- Avoid enabling captcha solving unless needed. The detection process adds latency even when no captcha is present. Only enable
solveCaptchasfor sites known to present challenges. - Use sessions to persist captcha clearance cookies across requests, avoiding repeated captcha charges.
Checking Credits Used
The number of credits consumed by a request is returned in the creditsUsed field in JSON responses (the default format):
{
"requestUrl": "https://www.deventerprise.com",
"responseUrl": "https://deventerprise.com",
"duration": "00:00:01.000000",
"attempts": 1,
"captchasSolved": {
"reCaptchaV2": 1
},
"creditsUsed": 35,
"statusCode": 200,
"content": "<html>...</html>"
}When using HTML or Markdown response formats, credits used are returned in the X-ScrAPI-CreditsUsed response header instead.
Checking Your Credit Balance
You can check your remaining credit balance at any time using the Credit Balance API. You can also view your balance and manage your subscription by logging into the subscriber area.