Search Companies
Search the company database. One call uses one page of the daily search budget.
POST
https://api.foxreach.io/api/v1/lead-finder/companies/searchRequires an API key with the read scope.
A company page costs the same as a people page and counts against the same daily search budget. It needs a paid plan. Company filters have their own keys; see companyFilterKeys in Get Filter Options.
Body Parameters#
filtersobjectbodyrequiredCompany filters. At least one filter besides countries is required.
pageSizeintegerbodyDefault: 25Results per page, 1 to 50.
pageTokenstringbodyThe nextPageToken from the previous page.
Response#
dataobjectOne page of results.
Show data
totalintegerMatching companies across all pages.
companiesarrayThe page.
Show companies
idstringCompany identifier.
namestringCompany name.
domainstringDomain.
linkedinIdstringLinkedIn public id.
linkedinUrlstringLinkedIn company URL.
logoUrlstringLogo URL.
descriptionstringDescription.
locationstringHeadquarters location.
industrystringIndustry.
typestringCompany type.
employeesintegerHeadcount.
employeeRangestringHeadcount range.
revenueRangestringRevenue range.
growth12minteger12-month headcount growth, percent.
specialtiesarrayListed specialties.
nextPageTokenstringPass as
pageToken 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 | 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.
Was this page helpful?
View as MarkdownLast updated November 2, 2026