ReplyLabs
FeaturesPricingCompareFAQUse casesBlogHelpSetup
Sign inGet started free
Get started

Product

  • Install
  • Features
  • Pricing
  • Compare
  • Roadmap

Resources

  • Use cases
  • Blog
  • Glossary
  • Cost calculator

Support

  • Setup Guide
  • Help Center
  • Contact Support
  • Report an Issue
  • Feature Requests

Company

  • Opt Out of Testing

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie list
  • Subprocessors

Empra Consultancy LTD
hello@replylabs.io

ReplyLabs|PrivacyTermsCookiesSubprocessors

© 2026 Empra Consultancy LTD. All rights reserved.

All articles
Blog

What 1,000 Enriched Leads Actually Cost, Line by Line

Per-row enrichment costs less than most people assume. The real spend is seats and rows you should never have processed. The arithmetic, worked through.

By ReplyLabs · 4 min read · 10 September 2026

On this page
  • The worked example
  • Why the real bill is bigger
  • The costs that never appear on an invoice
  • How to work out your own number
  • Related reading

The short answer.

  • Processing 1,000 leads properly costs roughly the price of a couple of coffees in per-row fees.
  • The bill people actually get is dominated by seats and wasted volume, not by per-row price.
  • The single biggest lever is filtering before the expensive step, not negotiating a lower rate.
  • If you are charged for rows that failed, that is a real and often invisible cost line.

Ask what enrichment costs and you get a monthly subscription figure, which answers a different question. The useful number is cost per thousand usable leads, and it is worth building from the parts because the shape of it is not what most people expect.

The worked example

Start with 1,000 company domains and the goal of a qualified, personalised, deliverable list.

Realistic attrition, which matters more than any unit price:

  • Around 780 of the 1,000 websites return usable content. The rest are parked, dead, JavaScript-only, or refusing automated requests. Somewhere between two thirds and four fifths is the normal range, and it is set more by how the list was built than by which tool reads it.
  • Of those 780, around 400 pass an ICP filter. That figure is entirely a function of how good your list was to begin with.
  • You personalise and verify only those 400.
StepRowsUnitCost
Read 1,000 company websites780 succeeded$0.005 / URL$3.90
Summarise and score780model cost x 1.25 + $0.0025~$3 to $6
Write a personalised line400model cost x 1.25 + $0.0025~$3 to $8
Verify email addresses400$0.01 / email$4.00
Total per 1,000 raw leadsroughly $14 to $22

The model-dependent rows are ranges because the cost of a generation step depends on the model and the prompt length, which vary by an order of magnitude between a short classification and a long personalised paragraph. Our cost calculator takes a row count and a model and gives the exact figure. The pricing structure itself is public: AI is the provider's raw cost times 1.25 plus a $0.0025 base fee per succeeded row, verification is $0.01 per email, and reading a URL is $0.002 to $0.0075 depending on how hard the page is to get.

Somewhere between fourteen and twenty-two dollars for a thousand raw leads turned into four hundred qualified, personalised, verified ones. That is around five cents per usable lead.

Why the real bill is bigger

If your enrichment spend looks nothing like the table above, one of these is why.

The expensive step ran on the whole list

Run personalisation on all 1,000 rows instead of the 400 that qualified and that line roughly triples, while producing 600 paragraphs about companies you will not contact. This is the most common and most expensive mistake, and it is invisible because the output looks like more work done rather than more money spent. Ordering the chain properly is the fix, and chaining steps so each one only sees qualified rows covers it.

Failed rows were charged

In the table, 220 unreadable websites cost nothing. That is a policy choice, not a law of nature, and it is worth checking against whatever you currently use: a tool that charges for an attempt rather than a result puts the cost of the internet's messiness on you. At a 22% failure rate on 1,000 rows, that is 220 rows of billing for nothing, every run.

Seats dominate at low volume

This is the honest arithmetic that per-row vendors, ourselves included, tend to skip.

Monthly volumePer-row costA $500/mo seat plan
1,000 leads~$20$500
10,000 leads~$200$500
50,000 leads~$1,000$500

At high, steady volume a flat seat plan is genuinely the cheaper structure, and anyone telling you otherwise is selling. Per-row pricing wins on spiky volume, on small teams, and above all in the first three months when you do not yet know whether the channel works and a subscription is a bet on an unproven answer.

The costs that never appear on an invoice

Two lines dominate everything above and neither is billed.

Time spent on manual repair. An hour a week fixing a list is more expensive than the entire per-row bill in the table, at any salary. This is the actual reason to care whether failures are visible: not elegance, but whether someone has to hunt for them.

Reputational cost of bad rows. A personalised line generated from an empty scrape gets sent. Enough of those and the domain's deliverability suffers, which is expensive in a way that takes months to undo. Reducing bounce rate and the deliverability checklist cover the downstream damage.

How to work out your own number

  1. Take one real run and count rows that produced usable output, not rows processed.
  2. Add up every charge for that run, including rows that failed.
  3. Divide by usable rows. That is your true cost per lead.
  4. Add the subscription, divided by the month's usable rows. This is usually the moment the picture changes.
  5. Estimate the hours spent fixing the output and price them.

Most teams doing this for the first time find the per-row processing is the smallest line on the page.

Related reading

  • Estimating what an AI batch will cost
  • BYOK versus managed pricing
  • Enriching leads without a per-seat platform

Frequently asked questions

The per-row processing cost is usually a few dollars: reading 1,000 company websites at around half a cent each is about $5, and verifying the emails you actually intend to use at one cent each adds a few dollars more. The larger costs are almost always seat subscriptions and processing rows that were never going to convert.
On this page
  • The worked example
  • Why the real bill is bigger
  • The costs that never appear on an invoice
  • How to work out your own number
  • Related reading

Keep reading

All articles
Blog

Why Enrichment Coverage Is Never 100%, and What Is Normal

Blog

Scrape, Summarise, Score: Multi-Step Enrichment in Sheets

Blog

How Many Rows Can You Run AI On in Google Sheets?

Try it on your own list

ReplyLabs runs from a sidebar inside Google Sheets. Start free with $20 credit, no card needed.

Get started free