DEV Community

The AI Entrepreneur
The AI Entrepreneur

Posted on

Stop Hunting for B2B Data: How to Automate Company Enrichment in JavaScript

If you've ever built a CRM, a lead gen tool, or any kind of B2B sales dashboard, you've probably hit this wall before: you have a pile of company domains, but zero context behind them. No industry data, no headcount, no social links, no HQ address. Just... domains. And manually Googling each one? Nobody has time for that.

That's exactly why I built the Company Enrichment API — to turn a raw domain into a full company profile, programmatically.

The Problem: The Stale Data Trap

Data decays fast. A company that was "11-50 employees" last year might be 200+ today. If your sales team is working off spreadsheets or static databases, they are losing deals before they even send the first email.

Most "enrichment" services are either:

  1. Overpriced: Charging thousands in annual contracts.
  2. Rigid: Hard to integrate into a custom CI/CD or data pipeline.
  3. Incomplete: Missing the "long tail" of smaller startups or international firms.

How it Works

The Company Enrichment API acts as a bridge between a simple domain name and a full-scale corporate profile. When you pass a URL to the API, it crawls publicly available sources, business directories, and social signals to synthesize a structured JSON object.

It's built on top of the Apify platform, meaning it benefits from industrial-grade browser rotation and proxy management — so you don't get blocked while gathering data.

JavaScript Implementation

Integrating this into your Node.js backend is straightforward. Here is how you can enrich a company profile using the apify-client\ library:

\`javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({
token: 'YOUR_APIFY_TOKEN',
});

const input = {
"domains": ["apify.com", "stripe.com"],
"maxResults": 10
};

(async () => {
const run = await client.actor("george.the.developer/company-enrichment-api").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();

items.forEach((item) => {
    console.log(\`Company: \${item.name}\`);
    console.log(\`Industry: \${item.industry}\`);
    console.log(\`Socials: \${item.linkedinUrl}\`);
});
Enter fullscreen mode Exit fullscreen mode

})();
`\

Real Stats & Performance

Since its launch, the API has been gaining steady traction among developers who need reliable B2B data without the enterprise bloat.

  • Current Users: 10 Active Developers
  • Total Runs: 230 successful enrichments
  • Reliability: Built on the Apify SDK for 99.9% uptime.

Pricing

Forget $5k/year minimums. The Company Enrichment API operates on a Pay-As-You-Go model via the Apify platform. You only pay for the compute resources you actually use.

Get Started

Ready to stop manually copying and pasting from LinkedIn? Try it out directly in the browser or via the API console.

Check it out here: Company Enrichment API on Apify

Happy hacking!

Top comments (0)