Company Enrichment API: a company record from a domain name
Send acme.com and get back what that company publishes about itself: the site title and description, role email addresses, social profiles, a WhatsApp number when there is one, the contact page, and the technologies the site runs on. Twenty domains per call, one credit each, cached for thirty days.
POST/v1/domains/enrich
{
"data": [
{
"domain": "bombayborough.com",
"status": "ok",
"title": "Bombay Borough — Indian restaurant in Dubai",
"language": "en",
"emails": [
"reservations@bombayborough.com"
],
"socials": {
"instagram": "https://instagram.com/bombayborough"
},
"whatsapp": "+971549958296",
"contact_form_url": "https://bombayborough.com/contact",
"tech_stack": [
"wordpress",
"cloudflare"
],
"crawled_at": "2026-09-07T13:20:11Z"
}
],
"meta": {
"credits_used": 1,
"source": "websites"
}
}
What you get
Every field in the response.
| Field | Meaning |
|---|---|
domain, website | The normalised host. Send www., a full URL or a bare domain |
status | ok, unreachable, parked, redirect_social or no_website |
title, description, language | What the site says it is |
emails | Every address the site publishes: company mailboxes such as info@, sales@ and bookings@ first, then staff addresses, which named_emails repeats |
socials, whatsapp, phones, contact_form_url | Every published way in |
tech_stack | The technologies the site runs, by slug: CMS, ecommerce, analytics, chat widgets, payment and hosting |
technologies[] | The same findings with their proper name, categories and, where the page gives it away, the version |
crawled_at | When the site was read. refresh: true reads it again now |
How it works
What happens between your request and the response.
Homepage first
Fetched from a datacenter address, never a residential proxy, because business websites do not need one.
One hop when needed
If the homepage gave no email or WhatsApp, the contact page is read once. Never more.
Filtered on purpose
Every address the site publishes comes back, company mailboxes first. Addresses that name a member of staff are listed again in named_emails and profile links to its people in named_profiles, so you can keep company contacts only in one line of code.
Cached thirty days
Each host is read at most once a month across all customers, which is how a full record costs one credit.
Pricing
One credit system for every endpoint.
One credit per domain, up to twenty per call. acme.com, www.acme.com and https://acme.com/about are one domain and one credit, and a site the call ran out of time for comes back marked and free. Uses no proxy bandwidth, so it is the cheapest thing we run. The free plan covers 75 domains a month.
Run it on Apify.
For bigger runs, or without writing any code, the same engine runs on Apify as the listing below. Apify bills per result, so there is no subscription and nothing to pay us, and Apify's own free plan includes $5 of usage a month with no card.
Questions
Things people ask about the Company Enrichment API.
How is this different from the business email finder?
Same extractor, different way in. The email finder starts from a business listing; this starts from a domain you already have, which is the shape a CRM enrichment job needs.
Do you return named staff email addresses?
Yes, when the business publishes them on its own website: they are in emails after the company mailboxes, and listed again in named_emails. A named address identifies a person, which makes it personal data in the EU, the UK and many other places, with obligations a company mailbox does not carry - whether you may write to it is your decision under the rules where you and they are. Anyone can ask us to leave their own address out, and we do, across the API and every listing.
What if the site blocks us?
The record comes back with status unreachable and we do not try again from somewhere else. A blocked site is retried an hour later, not immediately.
Where do the technology fingerprints come from?
Technology detection matches each page against an open fingerprint set maintained by the enthec/webappanalyzer project, used under the GPL-3.0 and pinned to a specific commit. Locomint runs those fingerprints on its own servers and returns the results; the fingerprint data itself is not redistributed.