What counts as a request
Billed: identifications
Each scored identification is one request. Its score,
signals, and webhook all come with it.Billed: Management API history
The Management API
/v1/history/… path bills one request per row (an empty result still bills one).Free: webhooks & history
Webhook delivery and History API reads on
account.shieldlabs.ai cost nothing.Free: dashboard & exports
The dashboard, every chart and breakdown, CSV and JSON exports, and your profile and balance.
The simple rule: a new score costs a request. Re-reading scores through the account History API is free; only the Management API History path bills a request per row. Everything you read in the dashboard, and every webhook ShieldLabs pushes to you, is free.
Plans
The Free plan is a one-time allowance of 5,000 identifications. Starter, Growth, and Scale each give you a monthly request balance, and the per-1,000 rate above is the effective price within each tier. For traffic above the Scale tier, Custom volume is a committed-volume quote — contact us.
Billing frequency
Pick monthly, quarterly, or yearly. Longer commitments cost less per request:
Change your plan or billing frequency any time under Settings → Plans & Requests in the dashboard.
What every plan includes
Every plan — Free, Starter, Growth, and Scale — ships the full feature set. The tiers differ only on monthly volume; Scale adds priority support on top.- Identification — a persistent VisitorID and DeviceID for every visitor.
- Anonymity signals — VPN, proxy, Tor, Privacy Relay, anti-detect, and the rest.
- Risk scoring — the explainable 0–100 Risk Score with its signals.
- Patterns — ready-made relationship patterns over your historical data.
- Risk analytics — the real-time dashboard, every breakdown, and CSV / JSON export.
- API — read scored results from your backend.
- Webhooks — scores pushed to your endpoints in real time.
- Support — included on every plan; Scale adds priority support.
Compare all features
All paid tiers ship the same capabilities; the plans differ on volume, retention, and rate. Identifications
Identification
Anonymity Signals
Automation & Headless
Risk Scoring
Abuse Patterns
Analytics
API & Delivery
Platform & Support
Estimating your monthly requests
Your request usage is driven by how often you identify visitors and how much history you re-read:1
Count your identify calls
Most integrations run one identification per visit (or per sensitive action, such as a login or checkout). That is one request per call. If you call
forceCheckAnonymous again before a high-stakes action, that is a second request.2
Prefer webhooks for live decisions
Acting on the webhook you already received is free, and so are reads through the account History API on
account.shieldlabs.ai. The Management API History path on api.shieldlabs.ai is the one that bills per returned row.3
Read the rest on the dashboard
Analytics, breakdowns, and exports are free, so reporting and review work never adds to your bill.
When you run out of requests
If your request balance is exhausted, you get HTTP 402 (out of requests) in two places: when the snippet posts an identification to be scored, and on Management API History calls. The fix is to upgrade your plan or add to your request balance.402 means “out of requests,” a billing state. It is separate from 429 rate limiting, a per-IP gateway protection that has nothing to do with your plan balance and follows its own gateway thresholds. The API overview carries the full error list.