Discover Companies

Find companies that match a simple set of filters. Use this for ICP-driven account list building.

Endpoint

POST /api/v1/discover/companies

Authentication

All requests require the X-Satellyte-API-Key header. See Quickstart.

Request body

FieldTypeRequiredNotes
industrystringNoIndustry filter. Lowercase aliases are normalized (see table below).
employee_sizestringNoCompany size range, for example 51-200. Allowed values from /meta/field-values.employee_ranges.
locationstringNoHQ filter. Country names or ISO codes; WORLD for any country.
revenuestringNoAccepted in contract; coverage varies.
keywordsstring[]NoKeyword include filter.
max_resultsnumberNo1 to 100. Defaults to 100.

At least one of industry, employee_size, location, revenue, or keywords must be provided. A request without any filter returns 400 validation_error with message "Provide at least one discovery filter.".

Industry alias normalization

You sendProvider value
bankingBanking
saas / softwareSoftware Development
fintech / financeFinancial Services
insuranceInsurance
consultingBusiness Consulting and Services
retailRetail
manufacturingManufacturing
healthcareHospitals and Health Care
educationEducation
real_estate / real estateReal Estate

cURL

curl -i -X POST "https://api-staging.satellyte.ai/api/v1/discover/companies" \ -H "X-Satellyte-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "industry": "Banking", "employee_size": "51-200", "location": "Singapore", "revenue": "$10M-$50M", "keywords": ["fintech", "payments", "compliance"], "max_results": 3 }'

Response (200)

{ "data": [ { "id": "https://www.linkedin.com/company/itau", "name": "Itaú Unibanco", "domain": "itau.com.br", "website": "https://www.itau.com.br", "industry": "Banking", "location": "Sao Paulo, Brazil", "employee_size": null, "employee_count": null }, { "id": "https://www.linkedin.com/company/state-bank-of-india", "name": "State Bank Of India", "domain": "bank.sbi", "website": "https://bank.sbi", "industry": "Banking", "location": "Mumbai, Maharashtra, India", "employee_size": null, "employee_count": null } ] }

Response fields

FieldTypeNotes
idstringOpaque company identifier. Often a LinkedIn URL.
namestringCompany display name.
domainstringPrimary domain.
websitestringMarketing site URL.
industrystringCanonical industry label.
locationstring | nullHQ location, when known.
employee_sizestring | nullSize bucket, when known.
employee_countnumber | nullExact headcount, when known.

Error responses

All failed calls use the standard error envelope documented in Errors.

StatusCodeNotes
400validation_errorReturned when the request body is invalid or the company discovery filters are missing or invalid.
401unauthorizedReturned when X-Satellyte-API-Key is missing, invalid, or expired.
404not_foundReturned when Public API access is not enabled or the requested Public API resource is unavailable.
429rate_limit_exceededReturned when the API key exceeds its configured rate limit.
500service_errorReturned when the service cannot complete the request. Retry with backoff.