33 providers · from $0.000495 per found · $0.000 markup

Company enrichment API: domain to firmographics, providers compared on price and fill

Turn a domain into firmographics: industry, headcount, location, founding year, tech stack, funding. 33 providers do this job through one useterra.app key, from $0.000495 a call, with no seat fee and no annual contract. Your agent compares them on price and measured fill rate, picks one, and you pay only for the calls it makes.
$1.00 of free credit once per new verified account · no provider signup · no card
38 of 48 endpoints on this page are live-verified against the provider.
compared on this page
Akta by WokeloApollo.ioBright DataCompanyEnrichCrunchbase
The economics

What 100 of these actually costs

instead of
$398/mo
Diffbot $299/mo + Crunchbase $99/mo, at list
→
you pay
$0.05
100 × $0.000495 at BlitzAPI, metered per call

Subscription figures are provider list prices recorded in useterra.app’s own catalog grid; per-call prices are what useterra.app charges today, with $0.000 added.

Try it

What’s the best way to ask ChatGPT?

1Set your agent up, once
in your agent's chat
set up terra — https://useterra.app/llms.txt
2Ask for the job
the prompt
Using terra, enrich these 30 domains into a table: company name, industry, headcount, country, founded year and tech stack. Show me the price first, and mark any field that came back empty.
works in
ChatGPTClaudeClaude CodeCodexCursorGemini CLI

Why this prompt works

Give the domain, not the name

A domain maps to one company. A name is ambiguous and matches the wrong one.

Ask for the fields you need

Some providers price per section requested. Asking for everything costs more.

Ask it to mark the blanks

An empty field is information. A quietly guessed one is not.

Batch when you can

Several providers have a bulk route at half the single-call price.

Why useterra.app

Why go through useterra.app

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

useterra.app does not choose for you. It hands ChatGPT this comparison, with the price shown before any call, and ChatGPT picks. Or you tell it how: "cheapest", "most reliable", "the one that takes what I have", or a provider by name.

Which is cheapest?

Cheapest per found

BlitzAPI at $0.000495 · Company data

Cheapest per result

Bright DataBright Data at $0.0015 · Company data

Cheapest per call

HarvestAPI at $0.004 · LinkedIn

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

Which is the most reliable?

ProviderSuccessMedianSample
ContactOut100%108ms1013 calls
Aviato100%141ms852 calls
People Data Labs100%144ms208 calls
Prospeo100%218ms6339 calls
Apollo.ioApollo.io100%227ms23220 calls
TombaTomba100%229ms24583 calls
Measured on useterra.app traffic: real calls, real inputs, and sample sizes differ by provider. Live reliability, not a controlled benchmark.

How do they compare?

Company data

ProviderPriceAcceptsSuccess rateVerified
BlitzAPI$0.000495 per foundcompany_linkedin_url100% (20155 calls)2026-10-16
Bright DataBright Data$0.0015 per resultdataset_id, format, input97% (39 calls)unverified
Dropleads$0.0018 per resultdomains, companyNames98% (256097 calls)2026-09-15
The Companies API$0.0019 per foundsimplified, refresh, domain, email100% (530720 calls)unverified
Ocean.ioOcean.io$0.00405 per resultcompany, people, fields, domains, companyDataMapping, webhookUrlnot yet measured2026-08-20
HunterHunter$0.0049 per founddomain, clearbit_format100% (274125 calls)2026-07-31
TombaTomba$0.0089 per founddomain100% (24583 calls)2026-08-20
Openmart$0.00894 per resultwebsite, social_media_link, limit, estimate_total100% (777 calls)2026-09-17
IcypeasIcypeas$0.0095 per foundurl100% (2700 calls)2026-08-20
CompanyEnrichCompanyEnrich$0.0098 per calldomain, expand, name, linkedinUrl, linkedinId, twitterUrl100% (54460 calls)2026-08-20
Sumble$0.01 per resultorganizations, filter, include_closed, select, limit, offset100% (391 calls)2026-09-09
FindymailFindymail$0.0198 per foundsee endpoints100% (10432 calls)unverified
ContactOut$0.02 per resultdomains100% (1013 calls)2026-09-09
LimaData$0.02 per founddomain, linkedin_url100% (5751 calls)2026-09-17
Datagma$0.0226 per founddata, companyPremium, companyFull, personFull, phoneFull, deepTraffic99% (5104 calls)2026-09-18
Prospeo$0.0245 per founddata100% (6339 calls)2026-09-16
LeadMagicLeadMagic$0.025 per foundcompany_domain, profile_url, company_name99% (764 calls)2026-07-31
Context.dev$0.0253 per founddomain, maxSpeed, maxAgeMs, timeoutMS, force_language, name100% (4135 calls)2026-08-20
Apollo.ioApollo.io$0.026 per founddomain, website, name, linkedin_url100% (23220 calls)unverified
Diffbot$0.0299 per calltype, url, name, location, ip, phone100% (943 calls)2026-07-28
Fiber AIFiber AI$0.04 per foundcompanyIdentifier, companyDomain, companyName100% (1308 calls)unverified
PredictLeadsPredictLeads$0.04 per callid_or_domain100% (1625 calls)2026-08-20
Wiza$0.05 per foundcompany_name, company_domain, company_linkedin_id, company_linkedin_slug100% (359 calls)2026-09-16
Enrichlayer$0.1 per foundurl, categories, funding_data, exit_data, acquisitions, extra100% (31 calls)2026-10-01
Aviato$0.15 per foundid, linkedinID, linkedinNumID, linkedinURL, website, preview100% (852 calls)2026-08-25
Sixtyfour AI$0.24 per foundtarget_company, struct, tier, research_plan, field_confidence (1 calls)unverified
LushaLusha$0.25 per foundcompanies100% (115 calls)2026-07-31
People Data Labs$0.38 per foundwebsite, name, profile, ticker, location, locality100% (208 calls)2026-07-31
Coresignal$0.392 per foundwebsite, fields, id100% (197 calls)unverified
Akta by WokeloAkta by Wokelo$0.875 per foundcompany, sections100% (86 calls)2026-07-31
Crustdata$1.2 per resultdomains, names, professional_network_profile_urls, fields100% (340069 calls)2026-08-25
CrunchbaseCrunchbaseno dollar rate publishedfield_ids, card_ids, entity_idnot yet measuredunverified

LinkedIn

ProviderPriceAcceptsSuccess rateVerified
HarvestAPI$0.004 per callurl, universalName, search100% (77886 calls)2026-09-10

Run one

the cheapest verified call
terra call blitzapi.companies.enrich --data '{"company_linkedin_url":"https://www.linkedin.com/company/blitz-api"}'

Swap the id for any provider above. All 48 endpoints behind this job, with their parameters and captured responses, are on the Company data, LinkedIn shelf.

How these numbers are made

PricesEach provider’s own published rate, converted to US dollars for one chargeable event of the unit they bill in. useterra.app adds $0.000. Where a provider bills in credits, the conversion uses the rate on their public pricing page, last checked 2026-10-16.
Success rateuseterra.app’s own served calls over the last 30 days: 2xx counts as a success, 5xx and timeouts as a failure. A 4xx is excluded, because it usually means the caller sent bad parameters and one bad query should not make a healthy endpoint look broken.
What this is notA controlled benchmark. These are real calls with real inputs, so sample sizes and the difficulty of what was asked differ by provider. Treat the rates as live reliability, not a like-for-like test.
VerifiedThe date useterra.app last called the endpoint end to end and confirmed the shape of its response and the price it charged.
From the field

What people actually struggle with

Everybody wants the same thing here, and the arguments are about what comes back and what it costs. From ~180 Reddit and X posts in August 2026, with the vendor rings removed.

The ask, in the buyer's own words

“I'll give it a company name/website and it will return company size, industry, founded, market cap, maybe leadership info, etc.” r/CRM, 17 points

What this page can do about it: That is exactly this job, and 19 providers do it. The comparison below is about which fields each one actually fills, because the ask is identical everywhere.

Resolution rate is not a buying signal

“Every provider resolves between 94.7% and 100% of domains. That spread is not a buying signal.” r/gtmengineering

What this page can do about it: Right, so this page does not rank on it. Compare on what a filled record contains, what an empty one costs you, and the measured latency, which is where the real spread is.

A guessed field is worse than a blank one

“A pipeline that appends fields without validating them just produces confident-looking wrong data, which is worse than an empty field” r/Data_Enrichment

What this page can do about it: Most providers do not distinguish observed from inferred fields, and we will not pretend otherwise. Ask the agent to keep blanks blank, and treat headcount and revenue as estimates unless the provider says otherwise.

Credits are not comparable between vendors

“Every vendor on this list uses the word “credit,” and none of them mean the same thing” r/Data_Enrichment

What this page can do about it: Which is why every price on this page is in dollars per call, converted from each provider's own unit at their published rate, with the date we last verified it.

Seat pricing kills small teams

“For a 5-person team, they quoted 15k-30k/year minimum. The pricing games are brutal.” r/coldemail

What this page can do about it: Seat-based enrichment tools bill whether or not you pull a record. Every provider here bills per call with no seat, so a quiet month costs nothing and a busy one scales.

The detail

What actually differs

Headcount, revenue and industry are inferred by most providers, not observed, and almost none of them mark which is which.

A confidently wrong headcount does more damage in a scoring model than a blank one, so ask your agent to keep the empties visible.

The billing units are genuinely different products.

Akta prices per section of the record you request; CompanyEnrich charges one credit per call and five more for the workforce expansion; Hunter charges only when name, size and location all come back; Ocean.io's bulk lookup is half the price of its single enrichment. The word credit means something different at every vendor, which is why this page prices everything in dollars per call.

Use the deterministic route when you have a domain.

CompanyEnrich's by-domain lookup maps one domain to exactly one company, while its by-properties route is a fuzzy match at the same price. The Companies API returns an empty object and charges nothing when a domain has no company behind it.

Background

What is a company enrichment API?

It resolves a domain, company name or LinkedIn URL to a structured company record: legal name, industry, employee count, headquarters, founding year, and depending on the provider the technology stack, funding history, web traffic and social profiles. It is what turns a signup email domain into a qualified account.

The detail

Where it goes wrong

Inferred headcount is often wrong

Most providers model employee count from job postings, LinkedIn, and traffic signals. Subsidiaries, international companies, and fast-growing teams are frequently misclassified. Treat headcount as a range, not a fact, and validate any record that will drive routing.

Empty vs guessed fields

Some providers return a blank when they have no data; others return an inferred value with no flag. A confidently wrong industry or revenue estimate does more damage than a gap. Ask the agent to surface blanks, and know which providers distinguish observed from modelled.

Fuzzy name match returns the wrong company

A company name like 'Acme' matches dozens of records; the provider picks one and you pay. A domain is deterministic: one input, one company, no ambiguity. Use the by-domain route when you have it.

Billing units differ wildly

One provider charges per section of the record you request; another per company found; another only when name, size and location all return. Compare in dollars per call, not in credits, because a credit means something different at every vendor.

Questions

Before you start

What do I send in?

A domain gives the highest match rate and is deterministic. Most providers also accept a company name, a LinkedIn URL or a work email, and a few take a stock ticker.

Which fields can I count on?

Name, domain, industry, location and an employee range come back almost everywhere. Tech stack, funding, revenue and web traffic are provider-specific, and revenue in particular is usually modelled.

What happens when a domain has no company?

It varies, and it is worth knowing before a batch: some return a 404, some an empty object, and the free-mail domains are refused outright. Several providers do not bill for a miss.

Is this how I qualify signups?

Yes, that is the common use: turn the new user's work email domain into firmographics and route the account. One provider has a route that takes the email address directly.