Search People
Search the people database. One call uses one page of the daily search budget.
https://api.foxreach.io/api/v1/lead-finder/searchRequires an API key with the read scope.
Each call fetches one page and counts against the workspace's daily search budget. The budget grows with the reveals you make that day; Get Credits shows today's usage. Emails are not included in search results: reveal them with Reveal Emails. It needs a paid plan. filters is an object of filter keys. Call Get Filter Options for the full list of keys and the allowed values for industries and company types. A value outside the provider's vocabulary matches nothing and returns zero rows rather than an error.
Body Parameters#
filtersobjectbodyrequiredPerson filters, for example {"jobTitles": ["CTO"], "countries": ["US"]}. At least one filter besides countries is required. companyIds accepts at most 200 entries.
pageSizeintegerbodyDefault: 25Results per page, 1 to 50.
pageTokenstringbodyThe nextPageToken from the previous page.
Response#
dataobjectOne page of results.
Show data
totalintegerpeoplearrayThe page.
Show people
idstringfirstNamestringlastNamestringtitlestringcompanystringcompanyDomainstringlinkedinUrlstringlocationstringindustrystringcompanySizeintegernull when unknown.headlinestringrevealStatusstringpending or found when this workspace has already revealed the person, otherwise null.revealedEmailstringinLeadsbooleanleadIdstringnull.nextPageTokenstringpageToken for the next page. null on the last page.Errors#
| Status | Description |
|---|---|
401 | Missing, invalid, revoked or expired API key |
403 | API key does not have the required scope: read |
400 | country_not_available when a requested country is outside the covered list ({"detail": {"code": "country_not_available", "message": "...", "allowed": [], "blocked": []}}); unknown_filter_keys naming each key that does not exist ({"detail": {"code": "unknown_filter_keys", "message": "...", "unknownKeys": [], "validKeys": []}}); or a message asking for at least one filter besides countries |
403 | upgrade_required on the Free plan: {"detail": {"code": "upgrade_required", "limit_type": "lead_finder", "message": "..."}}. A missing scope also returns 403 with a plain detail string |
404 | Lead Finder is not enabled while Lead Finder is switched off on this environment |
422 | More than 200 companyIds in one call (too_many_company_ids), or pageSize outside 1-50 |
429 | lead_finder_search_cap when today's search budget is used up: {"detail": {"code": "lead_finder_search_cap", "message": "...", "used": 20, "allowance": 20, "revealsToday": 0}}. Revealing emails raises the allowance, or retry tomorrow |
502 | The data provider is unavailable right now |
503 | Lead Finder is not configured when it is enabled but has no data provider key |
Rate Limit#
- 100 requests per minute, per API key. Fixed 60-second window.
- Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining, andX-RateLimit-Reset(unix epoch seconds). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.