Skip to content

CrawlForge TeamEngineering Team

4 min read

Lead Enrichment API Without a Sales Call: First Lead Today

You found an enrichment API, the docs look reasonable, and the pricing page says to book a demo. That is a week of calendar back-and-forth before your first test call, for a list you wanted cleaned today.

A lead enrichment api without a sales call means the whole path is self-serve: an account without a card, a key you create yourself, a price you can read, and a first result in the same sitting. Here is that path on CrawlForge, along with an honest account of what it enriches, because it is not a contact database.

Can you try it before creating an account?

Yes. The playground runs real tools against real URLs with no account and no key, three requests a week per IP. Point extract_metadata at a prospect's homepage and you see what comes back before you hand anyone an email address.

How do you get to a first enriched lead without a sales call?

Four steps, none of which involves a person:

  1. Sign up with GitHub, Google or an email address. No card. The account starts with 1,000 credits, once.
  2. Verify your email. Key creation waits for it. GitHub and Google sign-ins arrive already verified.
  3. Create a key on the keys page.
  4. Make the call.

The call takes the domain from the lead's email address and reads the company's own homepage: the title and description from the metadata, social profiles from the links, and an answer to "what do they sell" from a question format. That is 3 credits: 2 for the scrape however many formats you ask for, and 1 for the question.

Typescript
// Personal inboxes name no company, so there is no site to read.
const PERSONAL = new Set(['gmail.com', 'outlook.com', 'hotmail.com', 'yahoo.com', 'icloud.com'])

export async function enrich(email: string) {
  const domain = email.split('@')[1]?.toLowerCase()
  if (!domain || PERSONAL.has(domain)) return null

  const res = await fetch('https://www.crawlforge.dev/api/v1/tools/scrape', {
    method: 'POST',
    headers: {
      'X-API-Key': process.env.CRAWLFORGE_API_KEY ?? '',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: 'https://' + domain,
      formats: [
        'metadata',
        'links',
        // Extractive: returns the page's own best-matching sentences, no model.
        { type: 'question', question: 'What does this company sell, and to whom?' },
      ],
    }),
  })
  if (!res.ok) return null // a failed call is not charged

  const { data } = await res.json()
  const links: { href: string }[] = data.formats.links

  return {
    domain,
    name: data.formats.metadata.title,
    summary: data.formats.metadata.description,
    sells: data.formats.answer?.text ?? null,
    profiles: links
      .map((link) => link.href)
      .filter((href) => href.includes('linkedin.com/company/') || href.includes('github.com/')),
    checkedAt: data.scraped_at,
  }
}

The answer is assembled from sentences on the page, not written by a model, so it can be dull but it cannot be invented. Store scraped_at beside it in your CRM, because a company description from last spring is a different fact.

What does it cost per lead?

At 3 credits a lead:

What you buyCreditsLeadsPrice
Free tier, once1,000333$0
1K credit pack1,000333$3
5K credit pack5,0001,666$14

That is under a cent a lead. Packs are one-time purchases at checkout, bought when a list needs them. The monthly plans on the pricing page are self-serve checkout too, and none of them ends in a contact form.

What won't it enrich?

  • No emails or phone numbers. It holds no contact records and will not find a person's address. If that is the job, you need a contact database, and this post can't spare you that vendor's sales process.
  • No headcount, revenue or funding figures, unless the company publishes them on a page you point it at.
  • No CRM sync. It returns JSON. Writing it to HubSpot or Salesforce is your code or your n8n workflow.
  • robots.txt is respected by default, and a refused page costs nothing.

What it does well is the part databases go stale on: what the company says about itself today. For a fuller pipeline that also reads careers and pricing pages, see building a lead enrichment engine. For watching those pages change after the first pass, see competitor monitoring for RevOps.

Start free with 1,000 credits and enrich your first lead before a demo slot would have opened.

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
  • self-serve
  • scrape
  • b2b
  • sales
  • pricing

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

01Do I need to talk to anyone to get a CrawlForge API key?

No. Sign up with GitHub, Google or an email address, verify the email if you used one, and create a key from the dashboard. No card is needed for the free tier, which is a one-time 1,000 credits. Paid credit packs and monthly plans are bought through a normal checkout, and no plan requires a call or a quote.

02Is CrawlForge a contact data provider?

No. It holds no emails, phone numbers, org charts or firmographic records. It reads the public pages you point it at, usually the lead's company website, and returns what they say with a timestamp. If you need verified contact details, that comes from a contact database, and CrawlForge works alongside one rather than replacing it.

03How many leads does the free tier enrich?

About 333. One scrape call with metadata, links and a question format costs 3 credits: 2 for the scrape, whatever formats you request, and 1 for the question. The free tier is 1,000 credits once and does not refill, and after that a 1,000-credit pack costs $3.

04What happens when a lead's website blocks the request?

A failed call is not charged. If a site is known to block plain requests, add escalate: true to the scrape call. The plain fetch still runs first, and only when it hits a wall does a stealth browser retry, adding 5 credits to that call. A call the plain fetch served costs the normal price.

05Can I run the enrichment from n8n or an AI agent?

Yes. In n8n, an HTTP Request node posts to the same REST endpoint with the X-API-Key header. The same scrape tool is also on the CrawlForge MCP server, so an agent in Claude or Cursor can call it with the same key and the same credit prices.

Keep reading

Related Articles