Company search

7 min read

Search the database for company profiles using multiple filters.

POST

Introduction

The Company Search endpoint returns paginated company profiles matching a combination of filters. All filters are optional and combined with AND logic. Results are drawn from our cache-based search index. This endpoint never triggers a live fetch.

Use this endpoint to discover companies that match criteria like industry, size, or headquarters location, then chain into Profile for the complete data of any hit.

Authorization

apikey string required
Your API key from the developer dashboard. Pass it via Authorization: Bearer YOUR_API_KEY header.

Request body

All filters are optional and combined with AND logic. Scalar filters live in the table below; the two nested-object filters (employeeCountRange, location) are documented as expandable field items right after.

companyName string
Filter by company name
companyDomain string
Filter by company website domain. Disposable domains are rejected with 422
industry string | string[]
Industry name or array of industries. See Industry values for the full list
maxDataAgeDate string
ISO 8601 datetime. Only returns companies refreshed after this date
page number
Page number (1–1000, default 1)
perPage number
Results per page (1–100, default 100)
employeeCountRangeobject
Filter by employee count range. Both bounds are optional and inclusive (range 0 – 1,000,000,000).
Show child attributesHide child attributes
min number
Minimum value, inclusive
max number
Maximum value, inclusive
locationobject
Multi-field location filter. Each sub-field is optional and accepts a single string or an array of strings (OR matching). Note: there is no area field here (unlike the person location filter).
Show child attributesHide child attributes
country string | string[]
Country name (e.g. "United States")
countryCode string | string[]
ISO 3166 country code (e.g. "US")
region string | string[]
State or region
city string | string[]
City

Response structure

Note: This endpoint uses a nested envelope. The top-level V2 data field wraps an inner search payload that contains the actual results array (data.data) and the pagination info (data.metadata). See the example response for the exact shape.

success boolean
true if the request was processed successfully
error null
Always null on success
data.dataobject[]
Array of matching company profiles wrapped under data.data in the envelope. Empty array if no match.
Show child attributesHide child attributes
id string
ReverseContact company id (com_...). Use it as the id parameter of the Company Profile endpoint
name string
Company name
publicId string
Universal name / slug (the /company/xxx part of the URL)
linkedinId string
Social company identifier
linkedinUrl string | null
Full Social company URL
websiteUrl string | null
Official company website URL
industry string | null
Industry (e.g. "Software Development")
tagline string | null
Tagline / slogan
employeesCount number
Exact number of employees
followersCount number
Number of Social followers
employeeCountRange EmployeeCountRange | null
Employee count bracket. null if unknown
companyUpdateDate string | null
When ReverseContact last refreshed this record (ISO 8601)
employeeCountRangeobject
Employee count bracket (null if unknown). Note the start / end field names (different from the request RangeFilter which uses min / max). Buckets mirror LinkedIn’s native staffCountRange: 1, 2–10, 11–50, 51–200, 201–500, 501–1,000, 1,001–5,000, 5,001–10,000, 10,001+. For the top bucket (10,001+), LinkedIn has no upper bound and returns end: 1 as a sentinel — interpret any range where end < start as start+ (unbounded). Use employeeCount for the exact headcount when available.
Show child attributesHide child attributes
start number
Lower bound of the range
end number
Upper bound of the range. If end < start, the bucket is unbounded (start+, i.e. 10,001+)

Example (10,001+ bucket): { "start": 10001, "end": 1 }. Since end (1) < start (10001), this means the company has 10,001 or more employees. No upper bound is available for this bucket.

locationobject
Primary location of the company (always present, fields may be null)
Show child attributesHide child attributes
city string | null
City
country string | null
Country ISO 3166 code (e.g. "US", "FR")
data.metadataobject
Pagination metadata wrapped under data.metadata in the envelope.
Show child attributesHide child attributes
currentPage number
Current page number (1-indexed)
pageNumber number
Total number of pages available
perPage number
Results per page
total number
Total number of matching records across all pages
quotasobject
Credits and rate limit usage after this request
Show child attributesHide child attributes
creditsConsumed number
Credits consumed by this request
workspaceobject
Workspace-level limits
Show child attributesHide child attributes
id string
Your workspace identifier
hasUnlimitedCredits boolean
Whether workspace credits are unlimited
allowDailyOvercost boolean
Whether the workspace may exceed its daily cap
creditsobject
Credit balance
Show child attributesHide child attributes
total number
Total credits in your plan
used number
Credits consumed so far
left number
Remaining credits
dailyLimitobject
Daily request limit (null if not configured)
Show child attributesHide child attributes
limit number
Maximum requests per day
used number
Requests made today
left number
Remaining requests today
nextReset string
When the daily window resets (ISO 8601)
minuteRateLimitobject
Per-minute rate limit
Show child attributesHide child attributes
limit number
Maximum requests per minute
used number
Requests made in the current minute
left number
Remaining requests in the current minute
nextReset string
When the minute window resets (ISO 8601)
keyobject
API key-level limits (null when request is from dashboard)
Show child attributesHide child attributes
id string
API key identifier
dailyLimitobject
Daily limit for this key (null if not configured)
Show child attributesHide child attributes
limit number
Maximum requests per day
used number
Requests made today
left number
Remaining requests today
nextReset string
When the daily window resets (ISO 8601)
minuteRateLimitobject
Minute rate limit for this key
Show child attributesHide child attributes
limit number
Maximum requests per minute
used number
Requests made in the current minute
left number
Remaining requests in the current minute
nextReset string
When the minute window resets (ISO 8601)
metadataobject
Request tracking information (not to be confused with data.metadata which is pagination)
Show child attributesHide child attributes
requestId string
Unique identifier for this request
executionTimeMs number
Total execution time in milliseconds

Previous

People search

Next

Profile