Company Enrichment API – Domain to Tech & Contacts
Pricing
Pay per usage
Company Enrichment API – Domain to Tech & Contacts
Turn a domain into a full company profile: tech stack, industry, size, social links & decision-maker emails — each with a confidence score and live MX verification. Read from the company's real site, not a stale database. Pay-per-result, no API key. A Clearbit/Apollo/Clay alternative.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Renzo Madueno
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
6
Monthly active users
17 hours ago
Last modified
Categories
Share
Company Enrichment API — Domain to Tech Stack, Firmographics & Verified Emails
Turn any company domain into a complete, structured company profile — tech stack, industry, size, decision-maker emails, and more — with a confidence score and live MX verification on every email. No API key, pay only for results.
Unlike database tools (Clearbit, Apollo, ZoomInfo) that serve cached, decaying records, this Actor enriches in real time from the company's own website — so the data is as fresh as the site itself.
⭐ Using it and it works? Leave a 30-second review — and tell us what field to add next via the Issues tab. It's the single biggest thing that helps other teams find this.
What you get
One clean JSON/CSV row per domain:
| Field | Example | Where it comes from |
|---|---|---|
companyName, description | "Stripe", "Online payment infrastructure…" | Schema.org / OpenGraph / page |
industry + naicsCode + sicCode | "Financial Services & Fintech" · 522320 · 6199 | Classified from site content |
companyType | Private / Nonprofit / Government / Education | Legal suffix, TLD, page copy |
employeesEstimate | { band: "11-50", source: "site-copy" } | JSON-LD → "team of N" copy → named team count |
revenueBand | { estimate: "$1M-$10M", confidence: "low" } | Employees × industry (estimated, labeled) |
foundedYear | "2014" | Schema → "founded in YYYY" → © range |
country, address | "United States", "354 Oyster Point Blvd…" | Schema PostalAddress / TLD |
logo | https://… | Schema logo → og:image → favicon |
technographics | { analytics:[GA4], crm:[HubSpot], ecommerce:[Shopify] } | Detected & categorized |
linkedinUrl, crunchbaseUrl, socialLinks | company LinkedIn/Crunchbase pages | Profile links + JSON-LD sameAs |
emails[] | { email, type, onDomain, freeProvider, confidence } | mailto + page, with confidence |
emailPattern | "first.last" | Inferred from ≥2 verified emails |
decisionMakers[] | { name, title, email, emailInferred, confidence } | Team/about pages |
confidenceScore | 0–1 | Overall signal coverage |
domainHasMx + mxProvider | true · "Google Workspace" | Live DNS MX lookup |
Why you can trust the data
The B2B-data market is rated down on one thing: accuracy. This Actor is built to win on exactly that.
- Live crawl, not a stale database. Every field is read from the company's own site at run time — no cached records decaying ~2% per month.
- A confidence score on every email and decision-maker (0–1). You see how sure we are, per record — not a flat "verified" badge.
- Live MX verification. Each domain's mail server is resolved and classified (
mxProvider), so you know the email infrastructure is real and deliverable. - Transparent email-pattern inference. A company email format (e.g.
first.last@) is only inferred when ≥2 real emails confirm it — never from a single coincidence — and inferred emails are explicitly flaggedemailInferred: true. - Honest provenance. Estimated fields (employees, revenue) ship with their
source/basisand confidence, and return null instead of a guess when the signal isn't there. - You only pay for real results. Records are charged only above your
minConfidencethreshold and only when they carry substantive data — we don't bill you for guesses.
How do I enrich a domain?
- Add domains (or full URLs) — one company per line.
- Optionally set maxPagesPerDomain (how deep to crawl) and minConfidence (the bar to charge).
- Run it — one structured row per company, exportable to JSON, CSV, Excel, or your CRM.
{ "domains": ["stripe.com", "notion.so"], "maxPagesPerDomain": 5, "minConfidence": 0.5 }
Output example
{"domain": "stripe.com","companyName": "Stripe","industry": "Financial Services & Fintech","naicsCode": "522320","technographics": { "Frontend": ["Next.js"], "Payments": ["Stripe"] },"linkedinUrl": "https://www.linkedin.com/company/stripe/","emailPattern": "first.last","emails": [{ "email": "press@stripe.com", "type": "role", "onDomain": true, "confidence": 0.7 }],"decisionMakers": [{ "name": "Jane Smith", "title": "VP Sales", "email": "jane.smith@stripe.com", "emailInferred": false, "confidence": 0.82 }],"domainHasMx": true,"mxProvider": "Google Workspace","confidenceScore": 0.85}
Use cases
- Outbound / SDR prospecting — turn a domain into the decision-maker and their email.
- CRM & lead-list enrichment — append tech stack, firmographics, and NAICS to your records.
- ICP / TAM building — filter prospects by size, industry, country, or technographics ("companies on Shopify + Klaviyo").
- Competitive & technographic intel — see exactly what tools a company runs.
- Investor / recruiter research — company size, founding year, and contacts at a glance.
Pricing
Pay-per-result — no subscription, no seat license:
| Event | Price |
|---|---|
| Actor start | $0.01 |
| Enriched company (above your confidence threshold) | $0.02 |
You only pay for substantive records above minConfidence. A run of 1,000 domains that resolves 700 substantive profiles costs about $0.01 + 700 × $0.02 ≈ $14 — versus a per-seat platform license.
Company Enrichment vs the alternatives
| This Actor | Clearbit / Apollo | Generic contact scraper | |
|---|---|---|---|
| Live crawl (not stale DB) | ✅ | ❌ cached | ✅ |
| Confidence score per email | ✅ | partial | ❌ |
| Live MX verification | ✅ | partial | ❌ |
| Tech stack + categorized | ✅ | ✅ | ❌ |
| NAICS / SIC codes | ✅ | ✅ | ❌ |
| No API key / no seat | ✅ | ❌ | ✅ |
| Pay per result | ✅ | ❌ subscription | varies |
FAQ
How accurate are the emails? Every email carries a 0–1 confidence score and an onDomain flag, and the domain's MX is verified live. Inferred emails (from the company pattern) are flagged emailInferred: true so you always know what's confirmed vs. constructed.
Do I need an API key? No. It runs entirely on Apify and exports anywhere.
Why is a field null? Because the signal wasn't on the site. We return null rather than guess — that's the point.
Is this GDPR-compliant to use? It reads only publicly published business information from a company's own website. You are responsible for lawful use under your jurisdiction.
Other Actors by this author
Need finance, app, or research data too? See my other Actors — Yahoo Finance, SEC EDGAR, App Store & Google Play, and Deep Research MCP.
Built by Renzo Madueño. Found a bug or want a field added? Open an Issue — I read and respond to every one.