Home › Use Cases › Company Data Search API: Find Companies by Industry and Size
Company Data Search API: Find Companies by Industry and Size
A company data search API returns a list of companies that match filters, such as industry, country, city and employee range. Use it when you do not yet know the domains. Use a lookup API when you already do. Search is for building lists; lookup is for completing records.
Lookup versus search
The two are easy to confuse and priced differently. Lookup takes one identifier and returns one company. Search takes criteria and returns many. A prospecting workflow usually runs both: search to discover accounts, lookup or bulk lookup to complete or refresh them later. Our enrichment article explains where enrichment sits relative to search.
What the filters look like
The BusinessMCP Company Data API page documents a POST search endpoint with these optional inputs:
| Filter | Type | Notes from the page |
|---|---|---|
| industry | string | Max 80 characters, for example “logistics” |
| keywords | array | 0 to 5 items, matched against industry and category fields only |
| country | string | ISO-2 code or country name |
| city | string | Max 60 characters |
| employees_min / employees_max | integers | Size bounds |
| has_phone | boolean | Restrict to companies with a phone |
| limit | integer | The FAQ says up to 25 companies per call |
| exclude_domains | array | Up to 200 items, used to page past companies you already have |
The page’s own example asks for logistics companies in the US with at least 50 employees and a limit of 2. Its stated price is $0.01 per item returned, and search results exclude companies whose websites are offline.
Key takeaway: treat search as a way to build a candidate list, not a finished list. Verify the candidates against your ideal customer profile before anyone writes an email.
Paging without duplicates
Many search APIs page with an offset or cursor. This one uses an exclusion list: after each call you add the returned domains to exclude_domains and call again. That has two practical consequences.
- Keep a running set of domains you already hold, including from earlier campaigns, and pass them in so you do not pay for repeats.
- The list is capped at 200 items per call, so for large pulls you rotate or segment by filters (for example by city or size band) rather than paging forever.
If you are building a big list, narrower filters give cleaner results than one huge query.
Designing a good query
- Start with country and size. They are the most reliable structured fields.
- Add a single industry label. Industry strings come from category data, so try two or three variants (“logistics”, “freight”, “transportation”) and compare results.
- Use keywords sparingly. They match structured categories, not what a company writes on its website.
- Set has_phone only if you will call. It shrinks the pool.
- Run a small limit first and inspect results before pulling a large batch.
What to check in the results
Hand-review the first 20 results. Do they match your ICP? Are subsidiaries or branches duplicated? Is the size band plausible? In our experience of reviewing firmographic lists in general, industry labels from public categories can be broader than a sales team expects, so you may need a second pass with your own rules. That is a caution about the data type, not a claim about any one vendor.
Cost planning
At $0.01 per item, a 1,000-company pull costs roughly $10 on the stated price, though the exact number depends on how many results are actually returned. Compare that with seat-based tools in the pricing guide. For ongoing prospecting with sequencing and contact data, a commercial platform may be more efficient overall, a point covered in the provider comparison.
What search cannot do
- It does not return people. The provider states company-level data only.
- It does not rank by buying intent; the comparison page says it carries no intent data.
- It does not search by website text or technology; the
tech_stackfield is described as empty in the provider’s guide.
Combining search with other endpoints
A sensible pipeline: search to get candidate domains, check website status to drop dead sites (see company website status), then use the email pattern endpoint if you need the format a company uses. The page describes that endpoint as returning the pattern, MX and catch-all status with no personal addresses, and we cover it in email pattern lookup.
Always document the query you ran, the date and the filters, so you can reproduce or refresh the list later. Reproducibility is what separates a list-building process from a one-off export.
Building an ideal-customer list step by step
Start from your best existing customers rather than from the filter form. Pull twenty of them, note their industry labels, countries and size bands, and look for the pattern. Then translate it into filters. If twelve of twenty are logistics firms with 50 to 500 employees in North America, a first query might be industry “logistics”, country US, employees_min 50, employees_max 500, limit 25. Compare the results with your customer list: how many of the returned companies look like peers? If most do, widen by city or by adjacent industry labels. If few do, tighten the size band.
Document the query and the date next to the output so the list is reproducible. The BusinessMCP Company Data API page gives the exact field names and limits, and the API reference has the schemas for responses.
Using exclude_domains well
Because paging relies on exclude_domains, keep a persistent table of every domain you have ever pulled or enriched. On each search, send as many of the most relevant as fit within the 200-item cap, preferring recent pulls. For larger exclusion sets, partition your searches by city or size band so each query’s results rarely overlap with the exclusion set. After each call, append returned domains to the table.
Quality filters you apply yourself
Search results are only as good as the underlying categories. After you pull a list, apply your own filters: remove subsidiaries of existing customers, drop competitors, check country codes, and eliminate any companies in markets you cannot serve. Then run a website status pass on the survivors if you plan outreach, even though search already excludes offline sites according to the provider, because the measurement date may be old.
Scenario: regional sweep
A founder wants to find 500 small manufacturers in one region. They run ten queries, one per city, each limited to 25 results, repeat with size bands to reach depth, and exclude previously pulled domains each time. At $0.01 per item the pull costs about $5 for 500 results, per the stated price. The real work is the review: a person scans the list for fit in an hour, and removes the quarter that do not match. Compare that effort with the seat price of a commercial tool using the provider comparison.
Frequently asked questions
What is a company search API?
An API that returns a list of companies matching filters such as industry, country, city and employee range, instead of looking up one known company.
How many results does a search return?
It varies. BusinessMCP’s FAQ says a call returns up to 25 companies, and exclude_domains lets you page past ones you already have.
Can I search by keyword?
Sometimes, but be careful. BusinessMCP states keywords are matched only against structured industry and category fields, not free text on websites.
Does search return contact people?
Not in BusinessMCP’s company search; it is company-level only. Contact discovery needs a different type of product.