Getting started
Credits & billing
How credits are consumed, which requests are billed, and what happens when you run out.
ScreenshotDude uses credits. One credit pays for one successful request on a billable endpoint. Failed requests are never billed.
Three balances, consumed in order
Your workspace can hold credits in three places. Each billable request takes credits from the first balance that has any left:
- Subscription quota — the credits included in your plan. Resets at the start of each billing period (monthly allowance, also on yearly plans). Unused quota doesn't roll over.
- One-time packs — purchased credit packs, consumed in purchase order (oldest first). Each pack is valid for 12 months from purchase.
- Credits ledger — credits granted to your workspace (for example promotional or support credits).
When all three are empty:
- Paid plans keep working. Each extra request is billed as overage at your plan's per-credit rate and added to your next invoice. Workspace admins can disable overage in Settings → Subscription.
- Free plan (or overage disabled) — requests are refused with
402:
{ "error": "Insufficient credits: 1 required, 0 available" }Check all balances at any time with the free /v1/usage endpoint.
Plans
| Plan | Credits / period | Extra requests | Rate limit |
|---|---|---|---|
| Free | 100 | Not available (402) | 2/s · 30/min |
| Starter | 1,000 | $9.00 per 1,000 | 5/s · 120/min |
| Pro | 10,000 | $8.00 per 1,000 | 10/s · 500/min |
| Ultimate | 50,000 | $7.50 per 1,000 | 25/s · 1500/min |
See pricing for current prices.
Credit cost per endpoint
| Endpoint | Path | Credits | 404 billed |
|---|---|---|---|
| Capture (Screenshot) | GET /v1/capture |
1 | No |
| Content | GET /v1/content |
1 | No |
| Analyze (AI) | GET /v1/analyze |
1 | No |
| Website Crawler | GET /v1/website/crawler |
1 | Yes |
| Jobs | GET /v1/jobs/{id} |
0 | — |
| Usage | GET /v1/usage |
0 | — |
| Stats | GET /v1/stats |
0 | — |
Billing rules
| Situation | Billed? |
|---|---|
Synchronous request returns 200 |
Yes — when the response is delivered |
Async request accepted (202 with job_id) |
No — not at submission |
| Async job completes successfully | Yes — on completion (logged as status 201) |
Polling GET /v1/jobs/{id} |
No — always free |
Cache hit (x-cache: HIT) |
Yes — counts as a successful request |
Any 4xx or 5xx error |
Never |
Website crawler: target returns 404 |
Yes — the crawl itself succeeded |
/v1/usage, /v1/stats |
Never |
Credits are reserved when a request starts and released automatically if it fails, so a request can't overdraw your balance.
Payment errors
| Status | Message | What to do |
|---|---|---|
| 402 | Payment required |
Your subscription needs a valid payment method or has been suspended. Update billing in the dashboard. |
| 402 | You have open invoices: … |
One or more invoices are unpaid. Pay them from Settings → Invoices. |
| 402 | Insufficient credits: X required, Y available |
No balance left and overage isn't available. Upgrade, buy a pack, or wait for the next period. |
One-time packs
Packs are available to customers on a paid plan. They're consumed after your subscription quota and expire 12 months after purchase.
| Pack | Credits | Price | Validity |
|---|---|---|---|
| 5K pack | 5,000 | $40 | 12 months |
| 25K pack | 25,000 | $175 | 12 months |
| 100K pack | 100,000 | $600 | 12 months |
| 500K pack | 500,000 | $2,500 | 12 months |
To refill automatically when you run low, enable auto top-up.
Payments, invoices and taxes
Payments are processed by Dodo Payments, our merchant of record. Dodo Payments is the seller of record for subscriptions and packs, calculates and collects sales tax or VAT where applicable, and issues your invoices. Download invoices from Settings → Invoices.
Changing plans
- Upgrades apply immediately. You're charged a prorated amount for the rest of the period and get the new quota right away.
- Downgrades take effect at the end of the current period.
- Cancellation stops renewal; your plan stays active until the period ends.