Company Enrichment — firmographics, contacts, tech, hiring
Pricing
from $4.00 / 1,000 company enrichments
Company Enrichment — firmographics, contacts, tech, hiring
Give company domains (stripe.com) and get one deduped, live-from-source record each: firmographics, social links, tech-stack fingerprint, verified role emails (MX-graded) and phones, plus a live hiring signal from 8 ATS boards. Crawls each company's own site — keyless, no resold DB. Pay per event.
Pricing
from $4.00 / 1,000 company enrichments
Rating
0.0
(0)
Developer
Rez Archer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Company Enrichment Scraper
Give it a domain, get one clean, live-from-source record per company: firmographics, verified business contacts, a tech-stack fingerprint, social profiles, and — uniquely — a live hiring signal derived from 8 ATS platforms. No resold database, no paid API, keyless.
Most enrichment actors resell a static third-party database (ZoomInfo/Apollo-style) behind a paid key. The data is stale the day it ships and you pay for a vendor you can't see. This actor is different: it reads each company's own public website live on every run, grades the contacts it finds, fingerprints the tech, and layers on a hiring signal pulled straight from the company's live ATS. Nothing is cached and resold.
What you get per company
{"input_domain": "stripe.com","canonical_domain": "stripe.com","company_name": "Stripe","legal_name_guess": "Stripe, Inc.","description": "Stripe powers online and in-person payment processing ...","industry": null,"founded_year": null,"employee_size_hint": null,"hq_country": "US","office_address": {"street": "354 Oyster Point Blvd", "locality": "South San Francisco","region": "CA", "postal_code": "94080", "country": "US","formatted": "354 Oyster Point Blvd, South San Francisco, CA, 94080, US","source": "jsonld"},"legal_registration": {"vat_number": "GB123456789", "vat_country": "GB","company_number": "09876543", "registry": "UK-Companies-House"},"logo_url": "https://.../favicon.svg","social_links": [{ "network": "github", "url": "https://github.com/stripe" }],"tech_stack": [{ "name": "Next.js", "category": "js-framework" },{ "name": "React", "category": "js-framework" }],"contacts": {"emails": [{ "email": "press@stripe.com", "type": "role", "domain": "stripe.com","mx": true, "mx_host": "aspmx.l.google.com", "deliverability_grade": "B" }],"phones": [{ "number": "+18889262289", "type": "business" }]},"hiring": {"ats_vendor": "greenhouse","careers_url": "https://stripe.com/jobs","open_reqs_count": 724,"departments_hiring": ["Engineering", "Sales", "..."],"locations_hiring": ["San Francisco", "Dublin", "..."],"remote_share": 0.15,"hiring_intensity": "high","newest_posting_at": "2026-10-29T09:14:34.000Z"},"email_provider": "Google Workspace","dns_saas": [{ "name": "Atlassian", "category": "dev-tools" },{ "name": "DocuSign", "category": "esignature" },{ "name": "SendGrid", "category": "email-infra" }],"mx_hosts": ["10 aspmx.l.google.com", "20 alt1.aspmx.l.google.com"],"domain_created_at": "1995-09-12T04:00:00Z","domain_age_years": 31.1,"domain_expires_at": "2027-09-11T04:00:00Z","registrar": "SafeNames Ltd.","source_freshness": "live","_enriched_at": "2026-10-29T11:42:31.697Z"}
The hiring signal nobody else has
hiring is derived live from 8 ATS platforms (Greenhouse, Lever, Ashby, SmartRecruiters,
Workday, Recruitee, Workable, BambooHR) with automatic vendor detection from the domain. It tells
you whether a company is actively hiring, how hard, in which departments and locations, and when it
last posted — a buying-intent and growth signal a static firmographics database simply cannot carry.
DNS & domain intelligence (what the crawl can't see)
Three more signals come straight from the domain's DNS and registration, keyless:
email_provider— who runs the company's mail (Google Workspace, Microsoft 365, Proofpoint, Mimecast, Zoho, …), read from live MX records.dns_saas— the SaaS tools the company actually runs, inferred from DNS domain-verification tokens and the SPFinclude:chain (OpenAI, Atlassian, DocuSign, Stripe, SendGrid, Zendesk, Salesforce, Slack and dozens more). A technographic signal a page crawl never surfaces.domain_age_years/domain_created_at/registrar— domain age and registrar from RDAP (the authoritative registry source, discovered via the live IANA bootstrap — every TLD, no stale list). Domain age is a strong company-maturity and anti-fraud signal.
Office address & legal registration
office_address— the postal address, structured (street/locality/region/postal_code/country) when the site exposes schema.orgPostalAddress, with aformattedone-line fallback from the page's<address>block. Country-only markup is dropped rather than passed off as an address.legal_registration— the company's statutory identifiers parsed from imprint / legal footers, keyword-anchored so an order ID or SKU is never mistaken for one:vat_number(+vat_country) for EU/UK VAT, andcompany_numberwith itsregistry(UK Companies House, German Handelsregister HRB/HRA, French SIREN). Both staynullwhen the site doesn't state them — never fabricated.
Input
| Field | Type | Default | Description |
|---|---|---|---|
domains | string[] | — (required) | Company domains or URLs, one per company. |
maxCompanies | integer | 0 (no cap) | Cap how many companies are processed. |
maxPagesPerCompany | integer | 4 | Pages crawled per company (homepage + /about, /contact, ...). |
include_hiring | boolean | true | Derive the live multi-ATS hiring block. |
include_contacts | boolean | true | Extract emails (MX-graded) + E.164 phones. |
include_tech | boolean | true | Tech-stack fingerprint. |
include_dns | boolean | true | DNS & domain intelligence: email provider, SaaS-from-DNS, domain age/registrar. |
verifyEmailsSmtp | boolean | false | Best-effort SMTP RCPT probe (port 25 is often blocked on egress, so this is advisory). |
{ "domains": ["stripe.com", "ramp.com", "bunq.com"], "maxPagesPerCompany": 4 }
Email deliverability grades
A MX present and an SMTP server accepted the address · B valid MX (mailbox existence
unconfirmed) · D resolves but no MX · F does not resolve. MX uses a free DNS lookup; the SMTP
step is opt-in and advisory. We never claim a grade stronger than the evidence.
Pricing
Pay per event — you are charged once per deduped enriched company record, never per page fetched or per contact found. Price is shown on the actor's Apify Store page.
How it stays accurate (the maintenance you're renting)
Company sites and ATS response shapes drift constantly. A built-in freshness monitor probes the adapters against live canaries and flags drift so the parsers are repaired before a bad run reaches you. That upkeep is the reason to rent this instead of maintaining a crawl-plus-deliverability-plus- anti-bot fleet yourself.
Notes & scope
- Business data only. Published business firmographics and published business contact points
(role inboxes, switchboard numbers, public social profiles). Fields absent from a site stay
null— nothing is invented. - HTTP-first. The common path is a fast keyless fetch of the company's own pages. A JavaScript-only site is the documented fallback case (a headless render); v0.1 handles the large majority that serve static/SSR HTML.
- CLI: the same core runs locally with no account —
node cli.js stripe.com ramp.com.
Run locally
npm installnode cli.js stripe.com bunq.com --pretty # keyless, no accountnpm test # offline unit + wiring testsnpm run live # live keyless canary