# Companies by industry: build a company list by industry, size, location or tech stack through one key

Describe the companies you want, by industry, headcount, country, revenue, funding or the technology they run, and get a list back as rows with a domain on each. 29 providers answer through one olywork.com key, from Apollo and Crunchbase to the smaller databases nobody has heard of, each at its own rate with $0.000 added and most of them priced per company returned, so the size of the page is the price. Three rows are free, and a free row that returns ids is not the same as a free row that returns companies; the notes say which is which.

## What's the best way to ask ChatGPT?

Setup line (paste into any agent): `set up olywork — https://olywork.com/llms.txt`

Then ask: "Using olywork, build me a list of 200 B2B software companies in Germany with 50 to 500 employees, show me the price for 200 rows from each provider first, run the two cheapest, dedupe on domain, and tell me how many rows each one returned and how many overlapped."

- **Say the filters in plain words** Every row here filters on industry, size and location, and most on tech or funding. The agent maps your words to each provider's field names.
- **Ask for the price for N rows, not per row** Most rows bill per company returned, Apollo bills per page, Tomba bills per fifty. The same 200 rows costs a different amount on every row.
- **Run two and compare the overlap** No provider has every company. Two cheap lists deduped on domain is the honest way to find out which one covers your market.
- **Dedupe on domain, not name** The same company arrives as three spellings of its name and one domain. The domain is the key for everything downstream.

## Why go through olywork.com

- **No code to write** Connect once, keep the token server side, and call from any agent.
- **Nothing to integrate** No SDK, no OAuth dance per vendor, no seats.

## Behind the scenes: what ChatGPT sees before it calls

olywork.com does not choose for you. It hands ChatGPT this comparison and it picks, or you tell it how.

### Which company search API is cheapest?

- Cheapest per found: AI Ark at $0.000527 (`aiark.companies.search`)
- Cheapest per call: Tomba at $0.000178 (`tomba.companies.search.reveal`)
- Cheapest per result: Icypeas at $0.00038 (`icypeas.companies.search`)

Those units are not interchangeable: one call can return many results, so compare on the unit you will actually be billed in.

### How do the company databases compare?

| Provider | Price | Accepts | Verified |
|---|---|---|---|
| Tomba | $0.000178 per call | query, filters, page, webhook_url | 2026-08-20 |
| Icypeas | $0.00038 per result | query, pagination | 2026-08-20 |
| AI Ark | $0.000527 per found | lookalikeDomains, account, lists, page, size | 2026-09-17 |
| Dropleads | $0.0018 per result | filters, pagination | 2026-09-15 |
| The Companies API | $0.0019 per result | query, size, page, search, searchFields, simplified | unverified |
| LimaData | $0.002 per result | ai_prompt, filter_expression, filters, limit, offset | 2026-09-17 |
| Aviato | $0.0025 per found | dsl | 2026-08-25 |
| QuickEnrich | $0.00483 per result | home_page_text, bio_li, services, industry, number_of_employees, revenue | 2026-09-08 |
| Lusha | $0.00499 per result | pages, filters | 2026-07-28 |
| Exa | $0.007 per call | query, category, numResults, includeDomains, startPublishedDate, contents | 2026-08-27 |
| Openmart | $0.00894 per result | search_param, pagination | 2026-09-17 |
| Crustdata | $0.009 per result | filters, search, fields, sorts, limit, cursor | 2026-08-25 |
| CompanyEnrich | $0.0098 per result | expand, page, pageSize, query, semanticQuery, semanticWeight | 2026-08-20 |
| MoltSets | $0.01 per result | query, domain, industry, employee_range, revenue_range, naics_code | 2026-09-16 |
| Wiza | $0.0125 per found | filters, size, page_token | 2026-09-16 |
| ContactOut | $0.02 per result | name, domain, size, location, industry, technologies | 2026-09-09 |
| Fiber AI | $0.02 per result | searchParams, pageSize, cursor | unverified |
| Prospeo | $0.0245 per found | filters, page | 2026-09-16 |
| LeadMagic | $0.025 per result | company_domain, company_name, linkedin_url, industries, min_employees, max_employees | 2026-07-28 |
| Apollo.io | $0.026 per call | q_organization_domains_list[], organization_num_employees_ranges[], organization_locations[], organization_not_locations[], revenue_range[min], revenue_range[max] | unverified |
| Diffbot | $0.0299 per result | query, type, size, from, format, jsonmode | 2026-07-28 |
| PredictLeads | $0.04 per result | location, sizes, naics_codes, industry, revenue_range_low, revenue_range_high | 2026-08-20 |
| People Data Labs | $0.38 per result | sql, query, size, scroll_token, titlecase, pretty | 2026-07-31 |
| Akta by Wokelo | own account, free | query | 2026-07-31 |
| Coresignal | own account, free | query | unverified |
| Crunchbase | no dollar rate published | field_ids, query, order, limit, after_id, before_id | unverified |
| Findymail | no dollar rate published | query, limit, config | unverified |
| Hunter | own account, free | query, headquarters_location, industry, headcount, company_type, technology | 2026-07-28 |
| Ocean.io | no dollar rate published | size, searchAfter, companiesFilters, peopleFilters, fields | 2026-08-20 |

Endpoints:

- `aiark.companies.search`: olywork call aiark.companies.search --data '{"account":{"domain":{"any":{"include":["example.com"]}}},"page":0,"size":1}'
- `akta.companies.search`: olywork call akta.companies.search --query query=canva.com
- `apollo.companies.search`: olywork call apollo.companies.search --query q_organization_domains_list[]=stripe.com --query per_page=1
- `aviato.companies.search`: olywork call aviato.companies.search --data '{"dsl":{"filters":[{"name":{"operation":"fts","value":"Stripe"}}],"limit":10,"offset":0,"sort":[]}}'
- `companyenrich.companies.search`: olywork call companyenrich.companies.search --data '{"pageSize":1,"page":1,"technologies":["stripe"],"countries":["US"]}'
- `companyenrich.companies.search.scroll`: olywork call companyenrich.companies.search.scroll --data '{"pageSize":1,"technologies":["stripe"],"countries":["US"]}'
- `companyenrich.companies.search.preview`: olywork call companyenrich.companies.search.preview --data '{"technologies":["stripe"],"countries":["US"]}'
- `contactout.companies.search`: olywork call contactout.companies.search --data '{"domain":["contactout.com"]}'
- `coresignal.companies.search`: olywork call coresignal.companies.search
- `crunchbase.companies.search`: olywork call crunchbase.companies.search
- `crustdata.companies.search`: olywork call crustdata.companies.search --data '{"filters":{"field":"basic_info.primary_domain","type":"=","value":"stripe.com"},"fields":["basic_info.name","basic_info.primary_domain"],"limit":1}'
- `diffbot.companies.search`: olywork call diffbot.companies.search --query query=type:Organization industries:"Software Companies" --query size=1
- `dropleads.companies.search`: olywork call dropleads.companies.search --data '{"filters":{"companyDomains":["example.test"]},"pagination":{"page":1,"limit":1}}'
- `exa.companies.search`: olywork call exa.companies.search --data '{"query":"vector database startups","category":"company","numResults":3}'
- `fiber-ai.companies.search`: olywork call fiber-ai.companies.search --data '{"searchParams":{"exactCompanyV2":{"anyOf":[{"identifier":"domain","domain":"stripe.com"}]}},"pageSize":1}'
- `findymail.intellimatch.search`: olywork call findymail.intellimatch.search --data '{"query":"Series A fintech startups in the US using Stripe","limit":10}'
- `hunter.x.discover-companies`: olywork call hunter.x.discover-companies --data '{"query":"B2B SaaS companies in the United States"}'
- `hunter.x.discover-people`: olywork call hunter.x.discover-people --query query=B2B SaaS companies in the United States
- `icypeas.companies.search`: olywork call icypeas.companies.search --data '{"query":{"companyId":{"include":["stripe.com"]}},"pagination":{"size":1}}'
- `leadmagic.x.companies-search-v3`: olywork call leadmagic.x.companies-search-v3 --data '{"company_domain":"leadmagic.io","limit":1}'
- `limadata.companies.search`: olywork call limadata.companies.search --data '{"filter_expression":"company_name=olywork-nonexistent-company","limit":1}'
- `lusha.companies.search`: olywork call lusha.companies.search --data '{"pagination":{"page":0,"size":10},"filters":{"companies":{"include":{"domains":["lusha.com"]}}}}'
- `moltsets.companies.search`: olywork call moltsets.companies.search --data '{"query":"olywork-nonexistent-company-20260916","limit":1}'
- `oceanio.companies.search`: olywork call oceanio.companies.search --data '{"size":2,"companiesFilters":{"lookalikeDomains":["stripe.com"]},"fields":["domain","name","description","employeeCountOcean","webTraffic","technologies","headcountGrowth","primaryCountry","industries"]}'
- `openmart.companies.search`: olywork call openmart.companies.search --data '{"search_param":{"search_term":"coffee shop","location":[{"country":"US"}]},"pagination":{"limit":10}}'
- `pdl.x.company-search-post`: olywork call pdl.x.company-search-post --data '{"sql":"SELECT * FROM company WHERE name='people data labs'","size":1}'
- `pdl.companies.search`: olywork call pdl.companies.search --query sql=SELECT * FROM company WHERE name='people data labs' --query size=1
- `predictleads.companies.discover`: olywork call predictleads.companies.discover --query limit=1
- `prospeo.companies.search`: olywork call prospeo.companies.search --data '{"page":1,"filters":{"company":{"websites":{"include":["intercom.com"]}}}}'
- `quickenrich.companies.search`: olywork call quickenrich.companies.search --data '{"company_url":"stripe.com","per_page":1}'
- `thecompaniesapi.companies.search`: olywork call thecompaniesapi.companies.search --query query=[{"attribute": "about.industries", "operator": "or", "sign": "equals", "values": ["fintech"]}] --query size=2
- `tomba.companies.search.suggestions`: olywork call tomba.companies.search.suggestions --query query=stripe
- `tomba.companies.search.reveal`: olywork call tomba.companies.search.reveal --data '{"filters":{"country":["IE"],"industry":["Financial Services"]},"page":1}'
- `wiza.companies.search`: olywork call wiza.companies.search --data '{"filters":{"company_industry":[{"v":"Computer Software","s":"i"}]},"size":1}'

## What people actually struggle with

This is a thin corpus honestly reported: of the ~210 Reddit and X posts read in August 2026 about ten were on the job, and a template farm of eight near identical review posts across eight invented subreddits was excluded, along with a post that hid word joiners inside its bracket tags. These five are practitioners, and they are mostly talking about what goes wrong after the list arrives.

**Accuracy drifts once nobody is checking**

> "even the best b2b data enrichment tools for crm accuracy drift once they go live and nobody double checks" (r/SmallBusiness_US, 3 points: https://www.reddit.com/r/SmallBusiness_US/comments/1vx3uub/even_the_best_b2b_data_enrichment_tools_for_crm/)

What this page can do about it: No provider here publishes a freshness number, and this page will not invent one. What per call pricing changes is the cost of checking: re-pull a sample of your list every quarter for cents and measure the drift yourself.

**Four vendors, one ICP, bounce rates from 2% to 19%**

> "Verified 4 B2B data vendors against the same ICP. Bounce rates ranged from 2% to 19%" (r/Coldemailing: https://www.reddit.com/r/Coldemailing/comments/1vezuay/verified_4_b2b_data_vendors_against_the_same_icp/)

What this page can do about it: That test is the method this page recommends, and per call pricing is what makes it affordable: the same filter through several rows, deduped on domain, then verified. The spread that poster found is the reason not to trust any single row, this page's cheapest included.

**Ninety five percent accurate, of what?**

> "I got tired of vendor pages claiming '95%+ accuracy' with no definition of what accuracy means" (r/Coldemailing: https://www.reddit.com/r/Coldemailing/comments/1vezuay/verified_4_b2b_data_vendors_against_the_same_icp/)

What this page can do about it: So there is no accuracy column here. The table carries the rate, the billing unit, the fields each row accepts and whether it has been called live through olywork.com. Accuracy on your market is something you measure, not something a vendor states.

**Which of these is a database and which is a scraper**

> "Tried searching online but getting overwhelmed with options and not sure which ones are legit vs just data scrapers" (r/b2bmarketing: https://www.reddit.com/r/b2bmarketing/comments/1r08jcy/need_recommendations_for_b2b_contact_data/)

What this page can do about it: That is what a comparison with real rates is for. Every row here is a named provider with a documented endpoint and a published or observed price, and the difference between them is on the table rather than in a review somebody paid for.

**Crunchbase without the scraping workaround**

> "Turns out Crunchbase has a bunch of restrictions, so I tried a couple methods to scrape leads efficiently" (r/weezly: https://www.reddit.com/r/weezly/comments/1n38bo0/how_i_scraped_thousands_of_crunchbase_leads_free/)

What this page can do about it: Crunchbase's own search API is a row on this page, called through olywork.com on a licence rather than per call. It is not the cheapest route to a list, and a different row will be for most filters, but it is the legitimate one.


## What actually differs

- The billing unit is the whole story, and it varies. Most rows bill per company returned, so the page size is the price: Icypeas at a few hundredths of a cent, The Companies API, Aviato, Lusha, Crustdata, CompanyEnrich and Fiber AI at fractions of a cent, LeadMagic and Diffbot around three cents, PredictLeads four, and People Data Labs at thirty eight cents a record, two hundred times the cheapest. Apollo bills per page rather than per company, so a full page is cheaper than a small one, the opposite of everyone else. Tomba bills one credit per fifty companies revealed. Crunchbase, Ocean.io and Findymail publish no dollar rate, so the table prints none. All of it is the provider's own rate with $0.000 added.
- Three rows are free and they are not interchangeable. Hunter Discover returns companies with their email counts and consumes no credits. Coresignal's search is free because it returns ids only; the cost lands on the collect step that turns an id into a company. Akta's row is a name or domain to id lookup, not a filtered search. The Companies API has a `simplified=true` switch that makes the whole call free at the price of fewer fields, which is the cheapest honest way to count a market before paying for rows. The row labelled olywork is the routed endpoint: the explicit opt in where you ask olywork.com to choose among these providers, your own keys first, and it names the one that served and bills that provider's rate.
- Nobody on this page publishes a number for how stale their data is, and the one practitioner test in the research measured the drift at about a fifth of records having changed title or employer while the email still resolved. Treat every headcount and industry field as a claim from the month it was indexed. The rows that were called live through olywork.com carry a verified date in the table; Apollo, Coresignal, Crunchbase, Fiber AI, Findymail and The Companies API are documented but not yet verified through olywork.com, so run one page before an agent runs a thousand.

## What is a company list by industry?

It is the output of a company search call: you send filters, industry, headcount band, country, revenue, funding stage, technology in use, and the provider returns the companies in its database that match, with a domain, a name and whatever firmographics it holds. It is the first step of account based prospecting and of most market sizing, and every provider on this page sells the same shape of answer from a different database. The differences that matter are coverage, which is where a company actually gets indexed, how stale the headcount and industry are, and the billing unit, which decides what a two hundred row list costs before you know whether it is any good.

## Questions

**Which provider has the best company data?** The research behind this page found no independent benchmark, and every accuracy figure in circulation was written by the vendor selling it. Run the same filter through two or three cheap rows, dedupe on domain, and count. Two hundred rows from three providers costs less than a dollar on most of them.

**Why does the same list cost so much more on one provider?** Because the billing units differ. Per company, per page and per fifty are not the same thing, and one provider charges thirty eight cents a record where another charges a few hundredths of a cent. Ask the agent to print the price for your list size on every row before it runs.

**Can I count the matches before paying for the rows?** On some rows, yes. The Companies API's simplified mode is free, Coresignal's search returns ids for nothing, and several providers have a count call on its own page. A count first is the cheapest way to check that your filters mean what you think.

**Is this the Apollo API or the Crunchbase API?** Both are rows on this page, called through one olywork.com key at their own rates. Crunchbase is covered by its licence rather than priced per call, so the table prints no dollar figure for it, and Apollo bills per page rather than per company.

HTML version: https://olywork.com/use-cases/build-a-company-list-by-industry-size-or-tech