Get started / Limits and costs
Limits and costs.
Free has 1,000 records, one time. Paid plans have fair-use limits per five hours and per week, and every response says what's left.
rolling · 5 hours
RecordsCounted only when data comes back. The window starts at your first request.
rolling · 5 hours
RequestsEvery call counts, hits and misses alike.
rolling · 7 days
Records per weekA backstop against bulk extraction.
What each call uses
| Tool | Records | Requests | Free plan |
|---|
| search_people / companies | 1 per record returned | 1 per call | uses free records |
| enrich_person / company | 1 per record returned | 1 per call | uses free records |
| verify_email | counts toward enrichment | 1 per call | uses free records |
| scrape_company / jobs | 1 scrape unit per page | — | add-on |
| get_usage, jobs/{id} | none | none | none |
| Empty result | 0 records | 1 request | none |
Plan limits
| Plan | Enrichment: records / requests per 5 hrs / records per week | Search: same | Concurrent searches | Personal email (US) |
|---|
| Solo · $29 | 1k / 5k / 5k | 500 / 2.5k / 2.5k | 3 | Included |
| Pro · $99 | 15k / 75k / 75k | 7.5k / 37.5k / 37.5k | 5 | Included |
| Team · $399 | 150k / 750k / 750k | 75k / 375k / 375k | 8 | Max 75k / week |
| Max · $999 | 225k / 1.125M / 1.125M | 112.5k / 562.5k / 562.5k | 8 | Max 75k / week |
Lifetime data is unlimited on every plan. Scraping is an add-on in units (1 unit = 1 standard page). Free: 1,000 records, one time.
Pace your agent
Call get_usage before a big run, or read the usage object every response returns. If a run would cross a window, split it or submit an async job.
{ "enrich": { "records_5h": [9150, 15000], "requests_5h": [30400, 75000],
"records_week": [45800, 75000], "resets_at": "14:15Z" },
"search": { "records_5h": [3150, 7500], "requests_5h": [11920, 37500],
"records_week": [18420, 37500], "resets_at": "15:40Z" },
"concurrent_searches": [2, 5], "scrape_units": 320 } Each pair is [used, limit]. Example: a Pro account.