Skip to main content
POST

Company Search

POST /v3/companies/search is the single V3 company lookup endpoint for building and paging through account lists from structured criteria. Use Company Search for both one-company lookup and filtered company lists. Send a single identifier such as company_domain, domain, website, company_name, profile_url, or linkedin_url for one company, or use company_filters for account lists.
Existing clients that send one-company search bodies such as company_domain, domain, website, company_name, profile_url, or linkedin_url can keep using the same request shape. When no broad filters or explicit limit are supplied, the API treats the request as a one-row lookup and returns the richer company record plus legacy-friendly aliases such as companyName, companyDomain, and websiteUrl.
You can pass multiple company identities at once using company_domains, company_websites, B2B company profile inputs, and company_names. Those identity filters are treated as alternatives, then the rest of your filters narrow the matched set.

Endpoint Details

Credits finalize by returned company count, not by requested limit.

Quick Examples

Use one of the patterns below. They hit the same endpoint but return different response shapes.
Send a single company identifier at the request root. Do not include company_filters, query, or limit unless you want list mode.
Accepted root fields: company_domain (preferred), domain, website, company_name, profile_url, linkedin_url (and aliases listed below).Response extras: found, company, companyName, companyDomain, websiteUrl, linkedinUrl plus companies[] with one row.
Adding limit, company_filters, or query switches the request to list mode. For a single-company lookup, send only identity fields such as company_domain or linkedin_url.

Request Body

string
One-company lookup: company domain (preferred). Aliases: domain, website, company_website.
string
One-company lookup: company name. Aliases: name.
string
One-company lookup: B2B company profile URL. Aliases: linkedin_url, company_linkedin_url, company_url, url.
object
List search: primary filter object. You may also send the same fields inside filters or at the request root; company_filters is preferred for new integrations.
string
Optional natural-language/company keyword query. Use structured fields when you know the exact filters.
integer
default:"10"
Number of companies to return. Maximum is 50 for this public API route.
integer
default:"0"
Offset for pagination. Increase by limit to fetch the next page.

Company Identity Filters

Firmographic Filters

Location Filters

Funding Filters

Contact Coverage Filters

Technology Filters

Text And Classification Filters

Website Filters

Sort

Response

object[]
Company records matching your criteria.
object
Present for one-company lookup requests. Contains the first returned company record.
boolean
Present for one-company lookup requests. true when a company row was returned.
string
Present for one-company lookup requests. Alias for company.company_name.
string
Present for one-company lookup requests. Alias for company.company_domain.
string
Present for one-company lookup requests. Alias for company.company_website.
string
Present for one-company lookup requests. Alias for company.linkedin_url.
integer
Number of companies returned.
integer
Alias for count.
integer
Applied page size.
integer
Applied offset.
number
Finalized credits charged (1 per returned company; 0 when no companies match).
Normalized filters used by the backend.

Example Responses

Returned company rows can include: company_domain, company_name, company_website, company_industry_linkedin, employee_range, employee_min, employee_max, revenue_range, revenue_min, revenue_max, hq_country, hq_country_code, hq_city, hq_state, hq_street, hq_postcode, hq_region, hq_continent, founded_year, category, specialties, total_funding, funding_investor_count, last_funding_type, last_funding_date, last_funding_amount, lead_investors, linkedin_url, company_headline, company_about, company_logo_url, company_phone, company_entity_type, has_tech_stack, total_contacts, contacts_with_email, contacts_with_phone, valid_email_count, website_active, website_for_sale, sic_code, naics_code, sic_description, naics_description, domain_tld, total_app_reviews, and all technology columns listed above.

Company Lookalike

Find similar accounts from a seed company and return the same full company row shape.

Technographics

Get detailed technology stack information for one company.

People Search

Search contacts across one company or a filtered company set.

Authorizations

X-API-Key
string
header
required

Your LeadMagic API key. Header name is case-insensitive (X-API-Key, X-API-KEY, x-api-key all work).

Body

application/json
company_domain
string

Direct one-company lookup input. Returns one rich company row plus legacy-friendly aliases when no broad filters or explicit limit are supplied.

Example:

"leadmagic.io"

domain
string

Alias for company_domain.

website
string

Company website URL or domain.

company_name
string

Company name lookup input.

profile_url
string

Company profile URL.

linkedin_url
string

Company profile URL.

company_filters
object

Full company filter object.

query
string
limit
integer
default:10
Required range: 1 <= x <= 50
offset
integer
default:0
Required range: x >= 0

Response

Company search results

message
string
credits_consumed
number
companies
object[]
found
boolean

Present for one-company lookup requests.

company
object | null

Present for one-company lookup requests. Contains the first returned company row.

companyName
string | null

Present for one-company lookup requests. Alias for company.company_name.

companyDomain
string | null

Present for one-company lookup requests. Alias for company.company_domain.

websiteUrl
string | null

Present for one-company lookup requests. Alias for company.company_website.

linkedinUrl
string | null

Present for one-company lookup requests. Alias for company.linkedin_url.

count
integer
returned_count
integer
limit_applied
integer
offset
integer
metadata
object