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:
- Sign up with GitHub, Google or an email address. No card. The account starts with 1,000 credits, once.
- Verify your email. Key creation waits for it. GitHub and Google sign-ins arrive already verified.
- Create a key on the keys page.
- 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.
// 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 buy | Credits | Leads | Price |
|---|---|---|---|
| Free tier, once | 1,000 | 333 | $0 |
| 1K credit pack | 1,000 | 333 | $3 |
| 5K credit pack | 5,000 | 1,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.txtis 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.