What counts as a request
Billed: identifications
Each scored identification is one request. Its score,
signals, and webhook all come with it.Free: history & profile
History API reads on
account.shieldlabs.ai and Management GET /v1/profile cost nothing.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 History API is free. 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 on monthly volume, how many domains you can keep active, and the per-domain ingest rate on the gateway. 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, active domains, ingest rate, and retention. 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: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 History API on
account.shieldlabs.ai.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) when the snippet posts an identification to be scored. History and profile reads do not return402. 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 on the gateway (per IP, per domain, shared ingest cap, or a temporary domain freeze). Freeze pauses REST and WebRTC processing and is not billed; it is not a disabled domain. A 429 has nothing to do with your plan balance. The API overview carries the full error list.