The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
There is no universal “captures remaining” field for screenshot APIs. Check the provider’s authenticated usage or account endpoint, or read quota headers returned by a capture request. Then identify what the number means—plan-period allowance, purchased credits, a short-window request bucket, or concurrency—and verify the reset rule in that provider’s documentation.
Start with the provider and account plan
First identify the exact API host and account whose key your application uses. Quotas belong to a provider, project or account, not to the screenshot concept in general. A key for one workspace can show a different balance from another key, even when both call the same endpoint.
- Record the API hostname and the key or project used by your application.
- Open that provider’s usage, account or billing documentation.
- Authenticate exactly as documented. Some services use an API-key query parameter; others require an authorization header.
- Look for a usage endpoint or quota fields in a capture response.
- Read the balance definition and reset timestamp together before forecasting a batch.
If the service offers a dashboard, use it as a cross-check rather than assuming its labels match the API response. A dashboard may combine recurring allowance and top-up credits, while an endpoint may expose only one of them.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsWhat “remaining” can mean
A field called remaining, available or quota is not self-explanatory. Confirm its period and accounting rules.
#1 Best Overall
Plan-period allowance
This is the number of renders left in the current monthly or subscription period. ScreenshotOne calls this field available; its usage response also reports total and used. The period follows the plan, so do not assume a calendar-month reset without checking your account terms. See ScreenshotOne’s usage documentation.
Calendar-month quota
Screenshot API documents a UTC calendar-month reset for its quota. Its account usage data includes usage.remaining, and capture responses can include an X-Quota-Remaining header. The header is useful for logging the balance at the time of a request, while the account endpoint is better for an explicit usage check. Details are in the Screenshot API documentation.
Subscription-anniversary quota
ScreenshotAPI.to documents calendar-month resets for free accounts and subscription-anniversary resets for paid plans. Its screenshot response includes quota fields, but the meaning depends on the allowance and credit rules described in its endpoint documentation: ScreenshotAPI.to screenshot endpoint.
Recommended Free Tools
Top-up or purchased credits
Recurring allowance and purchased credits may be separate balances. CaptureKit says its usage endpoint’s subscription object combines subscription quota and remaining top-ups, while the dashboard shows their split. ScreenshotAPI.to documents that purchased credit packs are used after the period allowance. Do not add numbers from different fields unless the provider explicitly defines them as one spendable pool.
Burst, rate and concurrency counters
A short-window counter limits how quickly requests can be started; it is not the number of renders left in your plan. ScreenshotOne exposes a concurrency.remaining value for this purpose. Its documentation explains that the counter is a bucket of starts that resets, rather than a count of currently active renders. Keep this value separate from available when designing workers and alerts.
Rank #2
Provider examples and reset behavior
| Provider | Where to check | Reported value | Reset or accounting note |
|---|---|---|---|
| ScreenshotOne | Authenticated usage endpoint | total, available, used; also concurrency.remaining |
available applies to the current plan period; concurrency is a separate short-window bucket. Documentation |
| Screenshot API | Account usage endpoint or capture response headers | usage.remaining and X-Quota-Remaining |
UTC calendar-month reset; failed renders are refunded according to its documentation. Documentation |
| CaptureKit | /v1/usage and dashboard |
Subscription object combines subscription quota and remaining top-ups | Dashboard shows the split; do not infer separate balances from one combined object. Documentation |
| ScreenshotMAX | /v1/usage |
Provider-defined usage response | Use the endpoint’s own field definitions and period. Documentation |
| ScreenshotAPI.to | Screenshot response quota fields | Provider-defined allowance and credit fields | Free accounts reset by calendar month; paid plans by subscription anniversary; exhausted allowance with no credits returns HTTP 402 without processing. Documentation |
| TwitterShots | /api/v1/usage |
remaining and limit |
Use the endpoint’s documented period and reset information. Documentation |
These implementations are examples, not interchangeable conventions. A service not listed here may use completely different names, periods or billing rules.
How to build a reliable quota check
Poll the usage endpoint outside the render path
Run a scheduled check—such as every few minutes or before a large batch—and store the raw response with a timestamp. Keep the provider name, account or project identifier, plan period, reset timestamp and every balance field. Storing the raw payload lets you investigate a sudden change without reconstructing it from application logs.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Read headers from capture responses
When a provider returns quota headers, log them from every response, including successful captures and documented errors. Header values describe the provider’s state when that request was handled; they are not a reservation for future parallel requests. Redact API keys and cookies before sending logs to a third-party system.
Set alerts on the correct balance
Alert on the recurring allowance that your workload consumes, not on a concurrency bucket. A practical policy is to warn at a fixed percentage of the current period’s allowance and again when the balance is below the size of your next planned batch. Include the reset date in the alert so an operator can decide whether to slow, defer or add credits.
Prevent overspending in workers
For parallel jobs, fetch usage before enqueueing a batch, then reserve capacity in your own queue. Recheck after each provider response because another process or deployment may be using the same account. A local counter is only an estimate; the provider’s usage endpoint or response header is authoritative.
Failed renders, refunds and HTTP errors
Do not assume every failed request consumes a capture. Screenshot API says failed renders are refunded. ScreenshotAPI.to instead documents HTTP 402 when the allowance is exhausted and no credits remain, without processing the request. Other providers may apply different policies.
- HTTP 402 or an explicit quota error: stop retrying immediately, check the usage response, and confirm whether a reset or top-up is required.
- Timeout, blank page or bot check: consult the provider’s billing policy before counting it as consumed. A transport failure and a rendered-but-invalid page can be accounted for differently.
- Retries: use an idempotency mechanism if the provider offers one, or a queue that records request state. Blind retries can turn one logical page into several billable attempts.
Code patterns for checking usage
Use the exact URL, authentication method and field names in your provider’s documentation. The following patterns show how to inspect a JSON usage response without assuming that every service has the same schema.
cURL
curl -sS -H "Authorization: Bearer $API_KEY"
"https://api.example.com/v1/usage"
For a provider that authenticates with a query parameter, replace the header with the documented parameter. To inspect quota headers from a capture call:
curl -sS -D headers.txt -o shot.png
-H "Authorization: Bearer $API_KEY"
"https://api.example.com/v1/screenshot?url=https%3A%2F%2Fexample.com"
grep -i -E 'quota|usage|remaining|reset' headers.txt
Python
import requests
r = requests.get(
"https://api.example.com/v1/usage",
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=30,
)
r.raise_for_status()
usage = r.json()
print(usage)
print("remaining:", usage.get("remaining"))
Use the provider’s documented nested path when the value is, for example, usage.remaining. Treat a missing field as an integration error, not as zero.
Node.js
const res = await fetch('https://api.example.com/v1/usage', {
headers: { Authorization: `Bearer ${process.env.API_KEY}` }
});
if (!res.ok) throw new Error(`Usage request failed: ${res.status}`);
const usage = await res.json();
console.log(usage);
console.log('remaining:', usage.remaining);
Screenshot API header check
For Screenshot API, inspect usage.remaining from the account response or X-Quota-Remaining on a capture response, as documented at screenshot-api.net/docs. Do not map that value to another provider’s monthly field without checking its definition.
Rank #4
Common problems and fixes
The endpoint returns 401 or 403
Verify that the key belongs to the account you intend to inspect, that it has permission to read usage, and that the authentication location is correct. Do not paste a secret key into a browser URL or source-control repository.
The balance is zero but captures still work
You may be reading a different project, a stale dashboard, a top-up field separate from the recurring allowance, or a short-window counter. Compare the account identifier, timestamp and field definition in the provider’s response.
The balance changes between two checks
Another worker, deployment or teammate may share the key. Capture responses can also update usage asynchronously. Centralize requests through one queue and record response timestamps when exact reconciliation matters.
The reset date is unclear
Find the plan-period or billing-period definition rather than inferring it from the first request date. Screenshot API documents UTC calendar-month resets, while ScreenshotOne uses the current plan period and ScreenshotAPI.to distinguishes free and paid reset rules.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A batch fails partway through
Save each URL’s status and provider request identifier, stop when the authoritative balance or error indicates exhaustion, and resume only after confirming the reset or available credits. This avoids duplicating completed captures.
Best Value
Or skip the browser setup
ScreenshotNeo provides a usage API and returns quota-related headers with each capture, so you can monitor consumption alongside the image request. It is also a practical alternative when your main concern is whether failed work should count: before capture it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.
A single request is enough to capture a page:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for authentication, usage details and the full option set. ScreenshotNeo also offers an MCP server with take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Operational checklist
- Identify the exact host, account, project and plan.
- Use the authenticated usage or account endpoint, and log quota headers when available.
- Record the field definition, period, reset timestamp and credit source.
- Separate recurring allowance from top-ups, rate limits and concurrency.
- Confirm how failed renders and retries are billed.
- Alert before the next batch would exceed the authoritative balance.
- Stop on quota errors and resume only after confirming new capacity.
Frequently Asked Questions
Can I calculate remaining captures as total minus successful responses?
Only if the provider defines every attempt, refund and credit source that way. Use the provider’s usage response or quota header as the authoritative value.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallShould a concurrency limit be added to my monthly quota?
No. A concurrency or burst counter controls request starts in a short window; it is a different constraint from the plan-period render allowance.
Which reset date should a scheduler use?
Use the reset timestamp supplied for the exact account and plan. Calendar-month, UTC-month and subscription-anniversary rules differ by provider.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

