Products

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

200POST /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.

FieldMeaning
domain, websiteThe normalised host. Send www., a full URL or a bare domain
statusok, unreachable, parked, redirect_social or no_website
title, description, languageWhat the site says it is
emailsEvery 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_urlEvery published way in
tech_stackThe 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_atWhen 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.

See pricing

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.