Firmographic Ledger

Home › Use Cases › Company Data Search API: Find Companies by Industry and Size

Company Data Search API: Find Companies by Industry and Size

Editorial team · Updated 2026-10-14 · 5 min read

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.

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.

  1. Keep a running set of domains you already hold, including from earlier campaigns, and pass them in so you do not pay for repeats.
  2. 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

  1. Start with country and size. They are the most reliable structured fields.
  2. Add a single industry label. Industry strings come from category data, so try two or three variants (“logistics”, “freight”, “transportation”) and compare results.
  3. Use keywords sparingly. They match structured categories, not what a company writes on its website.
  4. Set has_phone only if you will call. It shrinks the pool.
  5. 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_stack field 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.