Company & Domain Enricher - Emails, Socials & Tech Stack avatar

Company & Domain Enricher - Emails, Socials & Tech Stack

Pricing

from $7.00 / 1,000 enriched companies

Go to Apify Store
Company & Domain Enricher - Emails, Socials & Tech Stack

Company & Domain Enricher - Emails, Socials & Tech Stack

Turn domains into sales-ready company records: name, description, emails, phones, socials (LinkedIn, X, Facebook, Instagram), email provider (Google Workspace vs Microsoft 365 via MX) and tech stack (CMS, analytics, marketing, payments). No API key, no proxies. A Clearbit-lite enricher.

Pricing

from $7.00 / 1,000 enriched companies

Rating

0.0

(0)

Developer

Flash Scrape

Flash Scrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Company & Domain Enricher — enrich company domain data with emails, socials & tech stack

Enrich company domain data in bulk: paste a list of domains or website URLs and get back sales-ready company records — company name, description, contact emails, phone numbers, social profiles, email provider (Google Workspace vs Microsoft 365), and the website's detected tech stack. A "Clearbit-lite" built to compose with lead scrapers: feed it the domain column from any scraped list and it fills in the rest. No API key, no proxies, no enrichment-platform subscription — it reads only DNS records and each company's own public pages, at $10 per 1,000 enriched companies.

What it does

  • Crawls each company's own site — homepage plus common pages like /about, /about-us, /contact, /contact-us, /team, /company (up to your maxPagesPerSite limit) — and extracts everything useful.
  • Company name & description pulled from the site's metadata (og:site_name, <title>, meta description), cleaned of taglines and truncated to sane lengths.
  • Contact emails found across the crawled pages, plus a primary_email that prefers addresses on the company's own domain over generic ones.
  • Phone numbers extracted from the pages (up to 5 per company).
  • Social profiles — LinkedIn, X/Twitter, Facebook, Instagram, and YouTube URLs.
  • Email provider detection from live MX records: know instantly whether a company runs on Google Workspace, Microsoft 365, or something else — a useful firmographic and deliverability signal.
  • Tech stack detection across 30+ signatures: CMS (WordPress, Shopify, Wix, Squarespace, Webflow, Framer, Drupal), marketing (HubSpot, Marketo, Mailchimp, Klaviyo, ActiveCampaign), analytics (Google Analytics, Hotjar, Segment, Meta Pixel), support/chat (Intercom, Drift, Zendesk, Crisp), payments (Stripe, PayPal), e-commerce (WooCommerce, BigCommerce), scheduling/forms (Calendly, Typeform), and hosting/frameworks (Cloudflare, Vercel, Netlify, Next.js, Gatsby).
  • Dedupes domains automatically (e.g. stripe.com and https://www.stripe.com count once) and processes them in parallel with configurable concurrency.
  • Optional onlyWithEmail filter keeps only records where a contact email was found, so the export is cold-email-ready.

Use cases

  • Cold outreach personalization — segment a raw domain list by tech stack ("all Shopify stores", "everyone running HubSpot", "Microsoft 365 shops") and write angle-specific first lines instead of generic blasts.
  • Lead-list enrichment for agencies — clients hand you a CSV of company websites; return it with names, emails, phones, LinkedIn URLs, and stack columns added, as a paid deliverable on Fiverr or Upwork.
  • CRM enrichment — export accounts that are just a bare website field, run them through the enricher, and re-import company name, description, socials, and primary email.
  • Competitor & displacement campaigns — selling a chat widget? Filter tech_stack for domains running Drift or Intercom. Selling email marketing? Target the Mailchimp rows.
  • Chaining with scrapers — take the website/domain column from any lead scraper (local businesses, restaurants, Shopify stores) and turn thin listings into full firmographic records in a second pass.

Input

FieldTypeDefaultDescription
domainsarray(required)List of company domains or website URLs to enrich (e.g. stripe.com, https://www.notion.so). Paste one per line or pass an array. Also accepts a comma/space/newline-separated string.
includeTechStackbooleantrueDetect the website's tech stack (CMS, analytics, marketing, payments, chat, frameworks).
onlyWithEmailbooleanfalseKeep only records where a contact email was found.
maxPagesPerSiteinteger3How many pages (home, about, contact, team...) to crawl per domain (1–8).
concurrencyinteger8How many domains to enrich in parallel (1–20).

Example input:

{
"domains": ["stripe.com", "notion.so", "apify.com"],
"includeTechStack": true,
"onlyWithEmail": false
}

Only domains is required — everything else has a sensible default.

Output

One dataset row per unique domain:

FieldDescription
input / domainYour raw input and the normalized bare domain
company_nameCompany name from site metadata
descriptionMeta/OG description (up to 300 chars)
emails / primary_email / has_emailAll emails found, the best one (own-domain preferred), and a quick-filter flag
phonesPhone numbers found on the site (max 5)
linkedin, twitter, facebook, instagram, youtubeSocial profile URLs
email_provider / mx_hostDetected mail provider and the primary MX host
tech_stackDetected technologies (empty if includeTechStack is off)
statusok, or unreachable if no page could be fetched

Example row:

{
"input": "stripe.com",
"domain": "stripe.com",
"company_name": "Stripe",
"description": "Stripe is a suite of APIs powering online payment processing and commerce solutions for internet businesses of all sizes.",
"emails": ["support@stripe.com", "press@stripe.com"],
"primary_email": "support@stripe.com",
"phones": [],
"linkedin": "https://www.linkedin.com/company/stripe",
"twitter": "https://twitter.com/stripe",
"facebook": null,
"instagram": null,
"youtube": "https://www.youtube.com/stripe",
"email_provider": "Google Workspace",
"mx_host": "aspmx.l.google.com",
"tech_stack": ["Google Analytics", "Stripe", "Next.js"],
"status": "ok",
"has_email": true
}

Export to CSV, Excel, or JSON from the Apify Console or via the API.

Example output

A real sample from a live run:

domaincompany_nameprimary_emaillinkedinemail_providertech_stack
stripe.comStripejane.diaz@stripe.comhttps://www.linkedin.com/company/stripe/Google WorkspaceNext.js
notion.soNotionhttps://www.linkedin.com/company/notion…Other / self-hostedHubSpot, Next.js
apify.comApifyhello@apify.comhttp://linkedin.com/company/apify/Google WorkspaceHubSpot, Intercom, Google Analytics, Se…
shopify.comShopifyplus@shopify.comhttps://www.linkedin.com/company/shopif…Google WorkspaceShopify, Google Analytics

Pricing

Pay-per-result: $0.01 per enriched company ($10 per 1,000). You're charged only for records that land in your dataset — no subscription, no charge for empty runs, and with onlyWithEmail on you don't pay for email-less records that get filtered out. A free Apify plan covers your first test batches, so you can enrich a few hundred domains before spending anything. Compare that to per-seat enrichment platforms charging hundreds per month for the same field set.

Tips / FAQ

Where does the data come from?

Two read-only sources: live DNS lookups (MX records for provider detection) and the company's own public pages — home, about, contact, team. Nothing is scraped from third-party databases, nothing requires a login, and results reflect what's on the site at run time, not a stale cache.

How accurate is the tech-stack detection?

It's signature-based: the crawler looks for platform-specific script URLs, asset domains, and markup (e.g. cdn.shopify.com, hs-scripts.com, /_next/) in the fetched HTML. It's reliable when a tool loads on the public site; back-office tools with no public footprint won't be detected. Heavily JavaScript-rendered sites may also expose fewer signals, since pages are fetched as raw HTML without executing scripts.

Does it give employee count, revenue, or funding data?

No. The record covers what a company publishes on its own site plus DNS-derived signals — name, description, contacts, socials, mail provider, tech stack. It won't invent firmographics it can't observe.

What does status: "unreachable" mean?

No page on the domain returned a usable HTML response (site down, bot-blocked, or not a website). You still get the DNS-based fields (email_provider, mx_host) for those rows, which is often enough to keep the lead.

Some companies show no email — why?

Many sites only expose a contact form. Turn onlyWithEmail on to drop those rows, raise maxPagesPerSite to dig deeper, or take the domain plus a contact name to the Email Pattern Finder to generate likely addresses instead.

How do I run it on a schedule or from code?

Trigger runs via the Apify API or SDKs, schedule a weekly re-enrichment with Apify Schedules, and export CSV/Excel/JSON or push results to your stack through webhooks, Zapier, or Make.


Found a bug or missing a feature? Open an issue on this actor's Issues tab — typical response within 1 business day.