Skip to content

CrawlForge TeamEngineering Team

4 min readUpdated

Lead Enrichment API Pay As You Go: Spend Only on Good Leads

Most enrichment pricing is a monthly allowance. Apollo's pricing page says it plainly: credits reset at the start of each billing cycle and do not roll over, and that applies to purchased add-on credits too. That works when leads arrive at a steady rate. Lists don't. They land in lumps, after a conference or a quarter-end CRM import, and then nothing for six weeks.

A lead enrichment api pay as you go inverts that. You buy credits when a list lands, spend them per call, and keep the rest. Here is how that works on CrawlForge, and how per-call billing lets you avoid paying full price for leads you were never going to call. One caveat first: CrawlForge reads company websites. It is not a contact database.

What makes a lead enrichment API pay as you go?

Three things, all checkable on the pricing page:

  • No subscription is required. One-time credit packs run from $3 for 1,000 to $62.50 for 25,000. A new account starts with 1,000 credits, once; they never refill.
  • Nothing resets. Pack credits don't expire, and monthly plan credits roll over while the plan is live.
  • You pay for calls that worked. Credits are deducted after a successful call, so a timeout, an unreachable domain or a blocked page costs nothing.

How do you avoid paying full price for every lead?

Choose the depth per lead. A flat enrichment price treats a perfect-fit prospect and an obvious mismatch the same. Per-call billing doesn't have to.

Pass one runs extract_metadata on every lead's homepage for 1 credit, returning the title, meta description and H1s. That is usually enough to say "not our market". Pass two runs the 3-credit scrape with an extractive question, the call the no-sales-call post walks through, only on leads that pass.

Typescript
const API = 'https://www.crawlforge.dev/api/v1/tools/'
const headers = {
  'X-API-Key': process.env.CRAWLFORGE_API_KEY ?? '',
  'Content-Type': 'application/json',
}

// Words that put a company in your market. Tune these to your own ICP.
const FIT = /\b(logistics|freight|warehous\w*|fleet)\b/i

async function call(tool: string, body: object) {
  const res = await fetch(API + tool, { method: 'POST', headers, body: JSON.stringify(body) })
  return res.ok ? res.json() : null // failed calls are not charged
}

export async function enrich(domain: string) {
  // Pass 1, 1 credit: does the homepage describe a company you sell to?
  const triage = await call('extract_metadata', { url: 'https://' + domain })
  if (!triage) return null

  const meta = triage.data.metadata
  const blurb = [meta.basic.title, meta.seo.description, ...meta.seo.headings.h1].join(' ')
  if (!FIT.test(blurb)) return { domain, fit: false, credits: triage.credits_used }

  // Pass 2, 3 credits: only leads that fit get the full read.
  const full = await call('scrape', {
    url: 'https://' + domain,
    formats: ['links', { type: 'question', question: 'What does this company sell, and to whom?' }],
  })

  return {
    domain,
    fit: true,
    name: meta.basic.title,
    sells: full?.data.formats.answer?.text ?? null,
    credits: triage.credits_used + (full?.credits_used ?? 0),
  }
}

Every response carries credits_used, so the spend per lead lands in your CRM row beside the data.

What does a 1,000-lead list cost?

At the $0.003 rate of a 1,000-credit pack:

ApproachCredits≈ Cost
Full scrape on every lead3,000$9.00
Triage all, full read on the 25% that fit1,750$5.25
Triage all, full read on the 10% that fit1,300$3.90

Triage pays for itself whenever fewer than two thirds of a list fits. Above that, skip pass one and scrape everything.

When is a subscription the better deal?

When volume is steady. Professional is $99 for 100,000 credits a month, about $0.001 a credit, against $0.0025 to $0.003 for packs. Once enrichment reliably passes about 40,000 credits a month, the plan is cheaper.

And when you need email addresses, you need a contact vendor, not this API. Some of those are pay-as-you-go too: on Hunter's pricing page, Data Platform credits are usable up to 12 months from purchase, and an Email Finder lookup that finds nothing is free. CrawlForge owns no emails, phone numbers, headcounts or org charts. It reads what a company says on its own site, today, and teams run it beside a contact database rather than instead of one.

Start free with 1,000 credits and triage your first list before you buy anything.

Try this yourself — no signup needed

Explore all 31 CrawlForge scraping and extraction tools in the playground, then start free with 1,000 credits.

1,000 free credits • One-time • No credit card required

Tags

  • lead enrichment
  • pay as you go
  • pricing
  • credits
  • extract_metadata
  • scrape
  • b2b

About the Author

CrawlForge Team

Engineering Team

Building the most comprehensive web scraping MCP server. We create tools that help developers extract, analyze, and transform web data for AI applications.

Newsletter

Stay updated with the latest insights

Get tutorials, product updates, and web scraping tips delivered to your inbox.

No spam. Unsubscribe anytime.

FAQ

Frequently asked questions

01Does CrawlForge require a subscription for lead enrichment?

No. Credits come from the one-time 1,000-credit signup grant or from one-time packs, $3 for 1,000 up to $62.50 for 25,000, with no plan required. Monthly plans exist for steady volume, but every tool, including extract_metadata and scrape, runs on the same balance either way.

02Do unused enrichment credits expire?

Pack credits do not expire, and plan credits roll over month to month while the plan is live. The free 1,000 signup credits are one-time: they never refill, but they do not vanish either. A list you enrich in March can be followed by one in June on the same balance.

03What am I charged when a lead's website fails?

Nothing. Credits are deducted only after a successful call, so a timeout, a domain that does not resolve or a blocked page is not billed. A successful extract_metadata call costs 1 credit, and a scrape with a question format costs 3: 2 for the scrape and 1 for the question.

04Can CrawlForge replace Apollo or Hunter?

No. Apollo and Hunter sell contact data: emails, phone numbers and company records they maintain. CrawlForge holds none of that. It reads the public pages you point it at, usually a lead's company website, and returns what they say with a timestamp, so it fits alongside a contact database as the research layer.

Keep reading

Related Articles