Skip to main content
Everything on this page applies to every Public API endpoint.

Response envelope

Successful responses carry success: true. List endpoints add pagination and data.
Errors carry success: false:

Pagination

integer
default:"1"
1-indexed page number. Applies to /people and /companies.
integer
default:"100"
Results per page. Maximum 1000 — a higher value returns 400 INVALID_PARAMETER rather than being silently clamped.
integer
Set to 1 to skip the count query. total and totalPages return null, which is faster on large result sets.

Walking every page

For a full backfill, prefer streaming — one request instead of dozens, and it cannot miss rows the way offset paging can when data shifts mid-walk.

Date filtering

All dates are UTC.
integer
Last N UTC days, including today. Maximum 366.
string
Inclusive UTC day in YYYY-MM-DD format.
string
Inclusive UTC day in YYYY-MM-DD format.
Use either discovered_days or the discovered_from/discovered_to pair — never both, which returns 400. Either bound may be given on its own.
“Discovered” means when we last checked a person or company against a source — not when they were confirmed as a user.Someone we checked yesterday who turned out not to be a user still matches discovered_days=2, and their sources array will be empty. Add is_user=true when you want confirmed users only.

Filtering

string
A source slug from /sources.
string
default:"all"
true returns confirmed users only. false returns people we checked who are not users. Omit for both.

Rate limits

60 requests per minute per key. Every response carries: A 429 response adds Retry-After.
A streaming request counts as one unit against this limit no matter how long it runs.

Error codes

Each endpoint’s page in the API Reference tab lists exactly which of these it can return. Always branch on error.code rather than the human-readable error.message, which may change.