A B2B database can advertise hundreds of millions of contacts and still be weak in the exact market you sell to.
The only coverage that matters is coverage for your countries, company sizes, industries, titles, and fields. Test that before signing an annual contract. Then test whether the records are current, exportable, verifiable, and usable by the people who own the next step.
The shortlist is really three product types
| Product type | What you are buying | Common examples |
|---|---|---|
| Contact database | Search, reveal, and export people and companies | Apollo, Lusha, UpLead |
| Enterprise intelligence platform | Data plus intent, workflows, integrations, governance, and broader GTM features | ZoomInfo, Cognism, Demandbase |
| Enrichment orchestration | A workflow that queries several sources and applies transformations | Clay |
They overlap, but the buying motion is different. A five-person agency trying to produce client lists should not evaluate a full account-based marketing platform on the price of one email reveal. An enterprise team should not choose a data system because a small self-serve plan has cheap credits.
Define the data job before the shortlist
“We need better data” is not a buying requirement.
Write down the records and decisions the system has to support:
| Requirement | Example decision |
|---|---|
| Market | Countries, regions, industries, and company-size bands |
| Company selection | Firmographics, technologies, growth, locations, or account list |
| Person selection | Department, title, seniority, location, and current employment |
| Contact fields | Work email, phone, profile, company domain, and required metadata |
| Evidence | Source, last-updated date, verification state, and confidence where documented |
| Workflow | Manual search, list build, CRM enrichment, API, waterfall, or recurring refresh |
| Output | CSV, CRM sync, warehouse, webhook, or API response |
| Governance | Seats, workspaces, client separation, field permissions, deletion, and audit |
| Commercial model | Subscription, seats, credits, exports, usage, add-ons, and term |
| Next step | Verify, suppress, segment, sequence, or route to sales |
The order matters. Start with the market and output. A provider with more fields is not automatically useful if the required people are missing or the records cannot leave the product in a reviewable form.
Choose the provider type from the workflow
A self-serve contact database fits a team that can define searches, review records, and manage the handoff. An enterprise intelligence platform may be justified when several departments need governance, enrichment, intent, integrations, and account-level workflows. An orchestration product fits when the team deliberately wants to query several sources and has someone who can own the logic, cost, and failure path.
Do not buy orchestration to avoid defining the market. A waterfall can increase match coverage, but it can also hide which source produced a field, charge several units for one row, and make corrections harder to trace. Preserve source and timestamp at the field or result level when the workflow combines providers.
What the public plans actually show
Official pricing pages were reviewed on August 28, 2026. Where a provider does not publish a complete self-serve price, the table says so.
| Provider | Public commercial unit | What needs a real quote or test |
|---|---|---|
| Apollo | Free plan; Basic $49 per seat/month billed annually with 30,000 yearly credits | Credit use across data, enrichment, and the much broader platform |
| ZoomInfo | Pricing varies by features, licenses, credit usage, and add-ons | Final annual price, included credits, integrations, and contract scope |
| Cognism | Standard and Pro prospecting packages include five seats; pricing is tailored | Subscription, credits, enrichment, API, and delivery volume |
| Lusha | Free with 40 monthly credits; paid plans start at $49.90 monthly or $37.45/month equivalent on annual billing | Seats, rollover behavior, and the mix of email versus phone reveals |
| UpLead | Seven-day trial; Essentials $99/month for 170 credits; Plus $199/month for 400 | The actual sample coverage and whether team/API needs require Professional |
| Demandbase | Custom plan through sales | Which account intelligence, advertising, intent, and data functions are in scope |
| Clay | Free tier; paid Launch and Growth plans combine selectable data-credit and action capacity | The live calculator total for data, actions, enrichment, AI, and row usage in the workflow you build |
| RocketReach | Essentials shown at $33/month billed annually with 1,200 exports/year | Fields included per export, higher-tier phone/API access, and representative coverage |
Do not turn this into one cost-per-contact leaderboard. Apollo credits, Lusha reveals, UpLead exports, Cognism records, and Clay data credits are not interchangeable units.
Apollo
Apollo is a data and outbound platform rather than a standalone list file. Its reviewed public pricing showed a free plan and Basic at $49 per seat per month billed annually with 30,000 yearly credits. The same account can span contact search, enrichment, sequencing, CRM work, and automation.
That can reduce tool count when those jobs are intentionally in scope. It also makes the credit model harder to compare with a provider that sells one type of export. During the pilot, map search, reveal, enrichment, export, and sequencing to their actual units. Test whether the required fields and source IDs can leave the platform without using Apollo as the campaign system.
Apollo belongs in the final shortlist only if its coverage wins in the target cohorts and the broader platform either replaces real costs or stays out of the way. Do not assign value to features the team will not operate.
ZoomInfo
ZoomInfo's public pricing page describes pricing as dependent on features, licenses, credit usage, and add-ons rather than publishing one self-serve total. That means the quote is part of the product evaluation.
Ask for the exact edition, number and type of licenses, included credits, overage rules, data and intent modules, integrations, implementation, contract term, renewal basis, and export rights. Put those terms beside the sample results. A high coverage rate can still be the wrong purchase when the required workflow sits in another package or the data cannot be used through the intended system.
Test administrator and user roles too. An enterprise platform often serves sales, operations, marketing, and data teams at once. Confirm which group owns filters, exports, corrections, suppression, and CRM writes before a demo workspace becomes the production process.
Cognism
Cognism's reviewed pricing page presents Standard and Pro prospecting packages with five seats and tailored pricing. The public scope includes prospecting and data workflows whose final subscription, enrichment, API, and delivery quantities require a quote.
Use the sample to test the geographies and contact fields that motivated the shortlist. Keep email, mobile, company, and employment checks separate. A provider can be strong in one field or region without winning the complete record.
Ask how credits or fair-use rules apply to search, reveal, export, enrichment, and API delivery under the exact package. Record what happens when a contact changes jobs and how a correction reaches exported or synchronized records. The sales deck does not replace that operating path.
Lusha
Lusha's reviewed public pricing listed a free plan with 40 monthly credits and paid plans starting at $49.90 monthly or $37.45 per month equivalent on annual billing. The commercial unit mixes seats and credits, and email and phone reveals can carry different value for the workflow.
Run the coverage test with the exact fields required. If phone data is not used, do not let phone coverage dominate the score. Confirm which reveals consume credits, whether unused units roll over, how seats share or separate capacity, and what the export includes.
For an agency or several business units, verify workspace and permission behavior. Shared access is convenient; shared client data and suppression are not.
UpLead
UpLead's reviewed pricing showed a seven-day trial, Essentials at $99 monthly for 170 credits, and Plus at $199 monthly for 400. The public offer connects credits to contact access while Professional covers broader team or API needs.
The trial window is the time to run the representative market, not browse the whole database. Upload or define the same cohorts used for every finalist. Record matches, current roles, work emails, verification states, required firmographics, credit use, and export behavior.
If the intended workflow needs an API, several users, or higher volume, test and quote the correct tier. A self-serve trial does not prove the larger operating path will have the same unit or permissions.
Demandbase
Demandbase is positioned as a broader account-intelligence and account-based platform, and its reviewed pricing path was custom through sales. It should not be compared with a small contact database on the price of one revealed email.
Keep it in the shortlist only when account selection, intent, advertising, orchestration, governance, or enterprise integrations are part of the actual job. Define which account and person data must be delivered, where it lands, how often it refreshes, and which modules are required.
The pilot should prove the account-to-person workflow. A useful account signal does not automatically produce the correct contact, current work email, verification state, suppression decision, or campaign-ready export.
Clay
Clay is an enrichment and workflow layer that can query data sources, transform rows, run logic, and use AI or other actions. Its reviewed public pricing offered a free tier and selectable Launch and Growth capacity rather than one simple cost per contact.
The evaluation starts with the workflow graph. For each row, record which providers run, in what order, what stops the waterfall, which actions consume data credits or other capacity, how errors retry, and which source produced the final field. Then price that exact graph in the current calculator.
Clay can make several imperfect sources more useful. It can also multiply costs and obscure provenance if every row triggers every provider. Use stopping rules, cache stable results where the contract allows it, preserve source and timestamp, and test what happens when a provider returns a conflicting value.
RocketReach
RocketReach's reviewed Essentials offer showed $33 per month billed annually with 1,200 exports per year. The product covers contact search and exports, while higher tiers broaden fields and workflow access.
Treat 1,200 exports as the published annual unit. Confirm what counts as an export, which contact fields are included, how phone and API access change by tier, and whether current-role or verification evidence appears in the downloaded record.
Use the same sample as the larger platforms. A lower entry price is useful only if the provider covers the market and the accepted-record output fits the downstream process.
Build a representative sample
Use 100 to 300 records from the real target market. If the agency serves distinct verticals, make a smaller test set for each one.
Include:
- companies you know belong in the market;
- companies that look similar but should be excluded;
- current and recently changed job titles;
- large and small employers;
- several geographies;
- common and unusual domains;
- contacts with known email or phone data;
- records that should match a suppression list.
Run the same sample through every finalist. Do not let each sales team choose its own showcase market.
The sample-test worksheet
| Field | Provider A | Provider B | Provider C |
|---|---|---|---|
| Correct companies found | |||
| Correct people found | |||
| Current role confirmed | |||
| Work email returned | |||
| Verification state included | |||
| Phone returned, if required | |||
| Required firmographics present | |||
| Suppression accepted | |||
| Export/API completed | |||
| Credits consumed | |||
| Unmatched reason preserved |
The test should produce a reviewable file, not a single coverage percentage.
Design the sample so it can fail honestly
A random list of famous companies will tell you very little. Build cohorts that represent the difficult and valuable parts of the market.
For example:
| Cohort | Why it belongs |
|---|---|
| Core accounts | The companies the campaign is most likely to target |
| Edge geography | A region where provider coverage may differ |
| Small companies | Tests sparse public and commercial data |
| Large enterprises | Tests subsidiaries, duplicate entities, and title complexity |
| Recent job changes | Tests employment freshness |
| Similar company names | Tests entity resolution |
| Known suppressions | Tests whether exclusions survive the workflow |
| Known current contacts | Gives the review a limited ground-truth set |
| Known invalid or departed contacts | Exposes confident stale matches |
Freeze the sample before vendor demos. Give every provider the same allowed inputs and review window. If a provider needs a different workflow, document that difference instead of quietly improving its test.
Calculate more than coverage
company match rate = correct companies found / companies tested
person match rate = correct people found / people tested
work-email return rate = work emails returned / correct people found
current-role rate = current roles confirmed / people reviewed
accepted-record rate = rows passing all downstream rules / rows submitted
Break those rates down by cohort. The overall average can hide a provider that performs well on large US software companies and poorly on the exact smaller European market the campaign needs.
Track false positives separately. A wrong person, wrong subsidiary, old employer, or unrelated domain is not a successful match because an email field was populated.
Review a fixed set manually
Choose the same number of positive, negative, and ambiguous results from every provider. Confirm the company entity, current role, domain, required fields, and any public evidence available to the reviewer.
Do not use the manual review to claim a universal provider accuracy rate. Use it to estimate the review work your team will inherit and to identify the failure patterns that matter for the target market.
Freshness needs evidence
“Updated regularly” is not a useful operating rule.
Check a sample of people who changed jobs, companies that changed size, and domains that moved or closed. Record the discrepancy and the date. Ask what correction workflow exists, whether the provider exposes a last-updated field, and how enriched data is refreshed after export.
Freshness also depends on the field. A company domain, employee count, title, mobile number, and intent signal can age at very different rates. Do not apply one freshness label to the whole record.
Keep freshness at the field level
Use a discrepancy log:
| Record and field | Provider value | Current evidence | Provider timestamp | Reviewed at | Action |
|---|---|---|---|---|---|
| Person / title | Accept, correct, or quarantine | ||||
| Person / company | Accept, correct, or quarantine | ||||
| Company / domain | Accept, correct, or quarantine | ||||
| Company / size | Accept with source/date or exclude | ||||
| Work email | Verify, suppress, or research |
Ask how corrections enter the provider system and what happens to synchronized records. A corrected source record does not automatically update the CRM, warehouse, sequencer, and every exported CSV. Name the owner of that propagation.
For recurring enrichment, preserve the previous value and timestamp. Overwriting a title or employer destroys the evidence needed to understand why a contact entered an earlier campaign.
Verification is one field, not the whole decision
A provider may return an email it labels verified. Preserve that label and the date, but do not let it erase your own acceptance policy.
The campaign record should still carry:
- provider and source;
- person and company match;
- email verification state and date;
- suppression history;
- role, disposable, catch-all, or unknown flags where available;
- segment and campaign assignment;
- decision owner.
If the provider's verification result conflicts with another tool or with recent send evidence, keep the conflict. Do not overwrite the earlier result and pretend it never happened.
Separate field evidence from the final action
The campaign should receive one owned decision, but the data record should preserve the evidence behind it.
source_provider
source_record_id
source_checked_at
person_id
company_id
employment_status_and_date
work_email
email_source
verification_provider
verification_status
verified_at
suppression_checked_at
acceptance_action
acceptance_reason
decision_owner
A newer “verified” field does not override an unsubscribe, complaint, policy exclusion, or known wrong identity. Suppression and identity decisions take precedence according to the organization's policy.
Price the complete data workflow
The contract is only one line in the cost.
Model:
provider subscription
+ seats
+ credits or usage
+ enrichment add-ons
+ verification
+ integration or API tier
+ implementation and data operations
+ duplicate work across tools
+ unused annual commitment
= real data cost
Then divide by accepted, campaign-ready records—not raw records viewed in the interface.
Put quote-based products on the same decision sheet
For every quote, preserve:
- product edition and modules;
- number and type of seats;
- included credits, exports, records, or usage;
- overage rules;
- contract length and billing schedule;
- implementation or onboarding fees;
- API, CRM, warehouse, and integration scope;
- data usage, retention, and export rights;
- renewal basis and notice dates;
- cancellation and post-contract access;
- geography and currency;
- quote date and owner.
Do not estimate a hidden price from a review site or another company's contract. A quote-based product remains quote-based until the provider gives the intended organization a complete current offer.
Count the operator cost
The provider subscription can be smaller than the work built around it.
Include time spent defining searches, reviewing ambiguous matches, fixing company identities, exporting, mapping fields, reconciling duplicates, running verification, maintaining waterfalls, and correcting stale data downstream.
Then compare that cost with the accepted-record rate. A more expensive provider can be cheaper to operate if it materially reduces review and correction for the target market. A broad enterprise platform can be more expensive even with strong data if the team operates only a small part of it.
This is an internal buying calculation, not a universal vendor ranking.
Test governance and exit before signing
Data products become infrastructure when several systems and teams depend on them.
Run these tests:
- Create a user with limited permissions and verify what it can search, reveal, export, and administer.
- Separate two clients or business units and confirm records, lists, credits, and suppression do not leak across the boundary.
- Export the required fields with stable person, company, source, and timestamp identifiers.
- Correct a record and observe which connected systems update.
- Remove a user and confirm ownership of shared lists and workflows.
- Disable a workflow or API credential and confirm failures are visible.
- Export the organization's required data and audit history before cancellation.
Review the provider's current contract, privacy, data-retention, and permitted-use terms with the responsible legal, privacy, or security owner. This guide cannot approve the organization's use of a dataset or contact field.
The exit test is not pessimism. It proves the team owns enough of the workflow to change providers without losing suppression, source history, and campaign decisions.
Evaluate each data family on its own evidence
A provider record usually combines several data families. They do not age or fail in the same way.
Company identity and firmographics
Start with the legal or operating company, domain, parent/subsidiary relationship, locations, industry, and size fields required by the campaign. Test companies with similar names and companies whose brand domain differs from the parent organization.
Ask which identifier stays stable when a company changes its name, domain, size band, or ownership. If the provider and CRM use different company IDs, document the reconciliation key before enrichment begins.
Employee count, revenue band, industry, and location can come from different methods and dates. Preserve the value, source or provider, and timestamp. Do not treat every firmographic field as equally current because they arrived in one row.
Person identity and employment
The contact needs a stable person identity plus a current relationship with the company. Review title, department, seniority, location, start/end dates where documented, and the evidence used to connect the person to the organization.
Test recent job changes, internal promotions, multiple concurrent roles, advisors, contractors, and people attached to a subsidiary. A correct person's name can still be the wrong campaign record when the company relationship is stale.
Keep the previous employer and timestamp rather than overwriting history. That lets the team explain why a person appeared in an earlier segment and prevents an old work email from silently following them to a new company.
Contact fields
Work email, direct phone, mobile number, profile URL, and company switchboard are different contact fields. Score only the fields the workflow needs.
For work email, preserve the address source, finder or provider, verification state, verification date, and any catch-all, role, disposable, or unknown flag available. For phone data, define the type and intended workflow before giving it weight in the score.
A row with a phone number and no usable work email is not a successful email-campaign record. It may still be useful to another team. Keep the buying requirement specific.
Intent and activity signals
Intent, website activity, engagement, job changes, funding, and other event data can help prioritize accounts. They are not the same as identity or contactability.
For every signal, ask:
- what event is actually observed or inferred;
- which account or person it maps to;
- the timestamp and decay window;
- the topic or category definition;
- the population and geography covered;
- how false or ambiguous matches are handled;
- whether the signal can be exported and audited;
- what campaign decision it changes.
Do not buy an intent module because it makes a dashboard look active. Include it when the team has a defined action and can connect the signal to a correctly resolved account.
Technographics and modeled fields
Technology usage, growth, department size, propensity, and similar fields may be observed, inferred, or modeled. Preserve that distinction when the provider documents it.
Use a known sample to test the field and its date. If a technology was removed six months ago but still appears, record the discrepancy. Do not turn a modeled score into a factual company statement in campaign copy.
Design a waterfall that can stop
An enrichment waterfall queries another source when the first one does not return an acceptable result. The stopping rule is what keeps it from becoming an expensive sequence of guesses.
For each step, define:
input fields required:
provider and operation:
credit or usage event:
acceptable result:
required evidence fields:
stop condition:
next provider on no-match:
next provider on conflict:
retry behavior:
source and timestamp stored:
Stop when the result meets the acceptance policy, not merely when a field is non-empty. A work email without a current company match or required verification state may need another action. A second provider returning the same string does not prove the identity if both resolved the wrong company.
Cache and reuse stable results only when the provider contract and internal policy allow it. Preserve the original source and check date. When a record is refreshed, retain the earlier result and the reason a new provider was queried.
Price the waterfall by branch
Do not multiply every row by every provider. Measure how many rows reach each step.
rows submitted to provider A × unit cost
+ rows failing A and submitted to provider B × unit cost
+ rows requiring verification × unit cost
+ rows sent to manual review × review cost
+ platform action or orchestration capacity
= total workflow cost
Then divide by accepted records. A waterfall can lower the cost of a difficult market if the first source handles common cases and later sources are selective. It can raise cost quickly when every row triggers every action.
Keep conflict handling explicit
When providers disagree on company, role, domain, or email, do not let the last response win automatically.
Route the row to a decision rule or manual review. Store both values, providers, timestamps, and the chosen action. Conflict rate is a useful result of the pilot because it estimates the operational review the production workflow will create.
Use a demo script that produces evidence
Send each finalist the same agenda before the call:
- Build the target market from the supplied requirements.
- Run or import the representative sample.
- Show positive, negative, and ambiguous matches.
- Explain person/company resolution and field timestamps.
- Reveal which actions consume the selected plan's units.
- Export the exact required fields with stable IDs.
- Correct one stale record and show the downstream update path.
- Separate two clients or business units with real permissions.
- Show API or enrichment-job failures and retries when required.
- Export the audit record and explain cancellation/retention behavior.
Do not spend the whole demo browsing the provider's strongest market. The sample and workflow are the agenda.
After the demo, mark every requirement as observed, documented, quote-required, unresolved, or not applicable. An unanswered question stays unresolved even when the presentation was good.
Review the purchase after production starts
The trial shows what the provider can do under attention. The first 30 to 90 days show what the team actually operates.
Track by source and cohort:
- rows submitted;
- company and person matches;
- accepted records;
- manual corrections;
- employment and domain conflicts;
- verification and suppression outcomes;
- credits, exports, and actions consumed;
- operator review time;
- downstream hard-invalid responses;
- records that could not be traced to a source and date.
Compare production with the pilot. If accepted-record rate drops, determine whether the market, search rules, provider data, or internal review changed. If credits rise, identify which branch or duplicate work caused it.
At renewal, rerun a smaller version of the original sample and update the quote, plan, units, contract term, fields, integrations, and exit test. The provider should keep winning the current workflow, not the one the team had when it signed.
Build the final decision matrix from tested facts
Do not let the final spreadsheet turn back into a feature checklist. Use weighted fields tied to the job:
| Decision field | Evidence | Suggested treatment |
|---|---|---|
| Core-cohort accepted-record rate | Frozen representative sample | Required threshold and weighted score |
| Edge-cohort coverage | Sample breakdown | Weight only if the campaign needs that cohort |
| Identity correction rate | Manual review | Lower is better; keep failure examples |
| Required field completeness | Exported pilot | Score each required field, not total fields |
| Freshness and correction workflow | Dated discrepancies and observed correction test | Required if recurring enrichment is planned |
| Verification handoff | Export/API evidence | Required for email workflow |
| Source and timestamp preservation | Export and data model | Required for audit and refresh |
| Commercial predictability | Current public plan or written quote | Required before approval |
| Governance | Permission and client-separation tests | Required for multi-team or agency use |
| API/waterfall operation | Retry, stopping, conflict, and usage tests | Weight only when automation is in scope |
| Exit | Export, cancellation, retention, and ownership test | Required before annual commitment |
Set the required thresholds before scoring. A provider that fails export ownership or client separation should not win by collecting points for unused intent fields.
Save the matrix, sample, raw exports, corrections, quote, contract notes, workflow diagram, and named decision owner. Record what remains unknown and which owner accepted it. The final choice is a scoped operating decision for this market, team, and date—not a permanent declaration that one database is universally better.
Make the renewal earn another year
Do not begin a renewal review with the provider's new feature deck. Begin with the original sample and the production record. Pull a fresh slice of the same core and edge cohorts, then compare it with the fields, accepted-record rate, corrections, downstream invalids, credit use, and operator time recorded at purchase.
Put three options on the renewal sheet: keep the current provider, renegotiate the current workflow, or retest the runner-up. Price each option using the volume and operator work the team actually used. Include the cost of any enrichment, verification, intent, or export work that moved outside the platform during the term.
A renewal should answer four questions:
- Does the provider still cover the markets the team is working now?
- Did production quality stay close to the pilot after manual corrections were counted?
- Does the current plan still match the fields, users, exports, and API calls actually needed?
- Can the organization leave with its data, suppression history, source dates, and workflow intact?
If the answer is no, name the failed requirement before requesting another demo. A lower quote does not fix missing export rights. A larger database claim does not fix poor coverage in the target cohort. A new intent feature does not matter when the job is verified contact data.
Record the renewed term, price basis, allowed units, new unknowns, accepted exceptions, and next review owner. That turns renewal into a repeatable buying decision instead of an automatic charge attached to last year's assumptions.
Hand the data forward
Cheap Inboxes does not provide a B2B database, email finder, or verification service. Its job starts when accepted data needs domains, mailboxes, DNS, and a reliable operating handoff.
The sequence is straightforward:
market definition → source → match → verify → suppress → segment → sequence → inbox infrastructure → campaign evidence
Use the cold email infrastructure checklist once the accepted segment is ready. If campaign results change later, the deliverability diagnostic only works if the data source and verification history survived the handoff.
Choose the provider that wins on your representative sample and leaves clean evidence behind. The database-size headline can stay on the pricing page.
