Company Enrichment API: Domain to Company Data — Firmfold avatar

Company Enrichment API: Domain to Company Data — Firmfold

Pricing

$10.00 / 1,000 company enricheds

Go to Apify Store
Company Enrichment API: Domain to Company Data — Firmfold

Company Enrichment API: Domain to Company Data — Firmfold

Get a full company profile from a domain, work email or company name: logo, tech stack, email security, domain age, contacts, socials, hiring and firmographics (founded, employees, HQ). B2B company data enrichment API, Clearbit alternative. $0.01 per company; misses free.

Pricing

$10.00 / 1,000 company enricheds

Rating

0.0

(0)

Developer

CyberMax

CyberMax

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Firmfold: company enrichment API (domain, email or name to full company profile)

Full company profiles from a domain, email or name

Give it domains, work emails or company names; get one flat row per company with logo, tech stack, email security, contacts, socials, hiring and firmographics, for $0.01 per company.

▶ Try it now with a prefilled input · $0.01 per company enriched, misses free (1,000 companies = $10) · Apify's free plan includes $5 of credit a month, enough for up to about 500 companies

Built for: Sales and RevOps teams filling a CRM · Clay and Google Sheets list builders · Agencies qualifying leads · AI agents that need company context

Real output (real run on Apify, 24 Sep 2026):

InputCompanySite runs onEmail onPublic contactOpen jobsFounded · employees · HQ
stripe.comStripeNext.js, NginxGoogle Workspacelinkedin.com/company/stripe6922010 · 8000 · San Francisco
figma.comFigmaSanity, Next.js, CloudFront, Netlify…Google Workspacepress@figma.com1592012 · 324 · San Francisco
brick.comAcme Brick CompanyWordPress, WooCommerce, Fastly…Mimecastcontact@brick.com0not on Wikidata (left empty)

Also in each row: the official domain, brand colour, MX/SPF/DMARC, domain age, phones, address, new jobs in the last 30 days, industry, ticker and parent company. It folds five tested CyberMax tools into one row with the same ~60 keys every time, ready for Google Sheets, Clay, HubSpot, Salesforce or an AI agent: a Clearbit Enrichment alternative with no LinkedIn scraping and no sign-up anywhere else. Unknown names, dead domains, personal email providers (gmail.com…) and, in monitor mode, unchanged companies are free.

Why Firmfold

  • One call instead of five. Buying the same fields from the single tools costs about $0.021 per company; Firmfold is $0.01.
  • Every row has the same shape. Missing data is null or [], never a missing key, so a spreadsheet or CRM mapping never breaks. modulesFilled says which parts found data.
  • Change alerts for scheduled CRM refreshes. Monitor mode returns only companies whose profile changed (new tech, new contacts, a rebrand, a big hiring jump) and says which parts changed. Unchanged companies cost nothing.
  • Names work too. "Acme Brick Company" becomes brick.com first (with a confidence score), then gets the full profile.
  • Honest data. Firmographics come only from a Wikidata record whose official website is this domain. If there is no such record the fields stay empty; they are never guessed.

What you get (one record per company)

GroupFields
Identitydomain, website, companyName, description, language, domainSource (input or name-lookup), domainConfidence
Logo (Logolark)logoUrl, iconUrl, logoFormat, logoIsIcon, brandColor (every image is downloaded and checked)
Tech & domain (DomainDNA)techStack[], cms, ecommerce, analytics[], hosting[], emailProvider, spf, dmarcPolicy, domainCreatedAt, domainAgeYears, registrar, domainExpiresAt, tlsExpiresAt, securityHeadersScore
Contacts (Hollerdex)bestEmail, emails[{email,label}] (sales, support, press, general…), phone, phones[], linkedin, x, facebook, instagram, youtube, tiktok, github, contactPageUrl, contactFormUrl, salesUrl (scheduler, demo or sign-up link), contactRoute (the best public way in: email, contact form, contact page, phone, sales link or LinkedIn company page), address
Hiring (HireHeat)hiringOpenJobs, hiringNewLast30Days, hiringLevel, hiringTopFunctions[], hiringTopLocations[], hiringRemoteJobs, jobBoardUrl, jobBoardAts (Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee)
Firmographics (Wikidata, CC0)wikidataId, founded, employees, employeesAsOf, hqCity, hqCountry, hqCountryCode, industries[], ticker, stockExchange, parentCompany
Run infostatus, modulesFilled[], summary, errors[], sources, ms, enrichedAt; in monitor mode change and changedModules[]

status is enriched (charged), domain-not-found (unknown name or a domain that doesn't resolve; free, with bestGuessDomain when there was a weak match) or invalid (free).

Ready-made inputs (first try in one click)

A domain, a name and a work email, every part on (the Store's prefilled input; about 20 s, 3 × $0.01):

{ "companies": ["stripe.com", "Notion", "hello@linear.app"] }

Company names to full profiles (names with "&" work: GW&K Investment Management → gwkinvest.com):

{ "companies": ["Acme Brick Company", "GW&K Investment Management", "Monzo Bank | gb"] }

Weekly CRM refresh, only changed companies returned (pair with a Schedule):

{ "companies": ["stripe.com", "g-p.com", "hubspot.com"], "monitor": true, "monitorKey": "crm-accounts" }

Input

{
"companies": ["stripe.com", "Notion", "hello@linear.app", "Acme Brick Company", "Monzo Bank | gb"],
"modules": ["logo", "tech", "contacts", "hiring", "firmographics"]
}
FieldDefaultWhat it does
companiesrequiredOne per line: domain, URL, work email or company name. Add a country to a name after a bar ("Hiscox | gb"). Duplicates are skipped.
modulesallPick parts to save time. The domain check, tech stack and email security always run.
countrynoneDefault country for names (helps with ambiguous names).
monitor / monitorKeyfalse / autoReturn only new or changed companies (see below).
includePersonalEmailsfalseOff: only role addresses (sales@, support@…). On: also named people's addresses that the company publishes itself.
minDomainConfidence0.6For names: below it the company is returned free as domain-not-found.
maxConcurrency5Companies in parallel (5 is right for 1 GB memory).
timeoutSecs20Time budget per part; a slow part is cut off and noted in errors, the rest of the profile still comes back.
maxContactPages4Pages read per site for contacts.
proxyConfigurationoffOptional Apify Proxy for sites that block data-centre IPs.

Output (real record from an Apify run, 24 Sep 2026, trimmed)

{
"input": "figma.com",
"status": "enriched",
"domain": "figma.com",
"companyName": "Figma",
"logoUrl": "https://static.figma.com/app/icon/2/icon-512.png",
"brandColor": "#000000",
"techStack": ["Sanity", "Next.js", "Amazon CloudFront", "Netlify", "Font Awesome", "Vimeo embed"],
"cms": "Sanity",
"emailProvider": "Google Workspace",
"dmarcPolicy": "quarantine",
"domainAgeYears": 27.4,
"bestEmail": "press@figma.com",
"emails": [{ "email": "press@figma.com", "label": "press" }, { "email": "legal@figma.com", "label": "legal" }],
"linkedin": "https://www.linkedin.com/company/figma",
"x": "https://x.com/figma",
"hiringOpenJobs": 159,
"hiringNewLast30Days": 38,
"hiringLevel": "very strong",
"hiringTopFunctions": ["sales", "engineering", "design", "data", "product"],
"jobBoardUrl": "https://boards.greenhouse.io/figma",
"wikidataId": "Q96186334",
"founded": "2012",
"hqCity": "San Francisco",
"hqCountry": "United States",
"modulesFilled": ["logo", "tech", "contacts", "hiring", "firmographics"],
"summary": "Figma (figma.com): founded 2012, 324 employees, HQ San Francisco, United States; site on Sanity; email on Google Workspace; 159 open jobs (38 new in 30 days); contact press@figma.com; 6 social profiles."
}

The full records of that run are available on request; the table and example above are copied from it unchanged.

Tested on real companies

Real Apify run on 40 mixed inputs (domains, work emails, names, a gmail address and a made-up domain), 24 Sep 2026: 38 of 38 real companies enriched, the gmail address and the made-up domain returned free, 93 s for the whole run at 1 GB, about $0.0001 of compute per company. Parts found: tech 37/38, firmographics 33/38, logo 32/38, contacts 30/38, hiring 19/38 (many companies simply have no public job board on the six systems checked). Names resolved correctly: Acme Brick Company → brick.com, Monzo Bank → monzo.com, Hiscox → hiscoxgroup.com, Ben & Jerry's → benjerry.com.

Same 10 domains through two other enrichment Actors (details in examples/benchmark-2026-09-24.json):

Firmfoldfoxlabs/company-enrichmentmambalabs/company-firmographic-enricher
Tech stack, MX, SPF/DMARC, domain age10/10nonenone
Role emails, phones, socials9/10none (address only)phone on 3/10
Hiring activityyes (3 of these 10 have public boards)nonenone
Founded / employees / HQ9/10 (Wikidata)10/10 (Owler)founded 2/10, employees 1/10
Revenue range, CEO, competitorsnot providedyesrevenue estimate
Change alertsyesnono

If you need revenue estimates or CEO names, use an Owler-based tool; if you need what a company runs, how to reach it and whether it's growing, use Firmfold.

Why it pays for itself

  • By hand: about 10 minutes per company to find the site, check its tech, hunt for a contact address, look at its jobs page and look up founding year and HQ (estimate), so 500 companies ≈ 83 hours; here $5.
  • One call instead of five: buying the same fields from the single CyberMax tools costs about $0.021 per company; Firmfold is $0.01.
  • Store rivals george.the.developer/company-enrichment-api and renzomacar/company-enrichment charge $0.02 per company (renzomacar also $0.01 per run start); nexgendata/company-enrichment-tool charges $0.10 per result (Apify Store pricing, checked 25 Sep 2026). CyberMax: $0.01, misses free.
  • Monitor mode for CRM refreshes: only companies that changed (new tech, new contacts, a rebrand, a hiring jump) are returned and charged.

▶ Run it on your own list: the example input is already filled in, so the first run takes one click.

Pricing

$0.01 per company enriched (pay per event, no subscription, no start fee). Free: unknown names (domain-not-found), dead domains, personal email providers (gmail.com…), invalid input, and in monitor mode every unchanged company. Compute is small (about $0.0001 per company at 1 GB) and runs on your Apify plan.

When NOT to use Firmfold

  • You need people (named decision makers, personal emails, phone numbers of employees). Firmfold only returns what a company publishes about itself.
  • You need revenue, funding or valuation: not in this data.
  • You only need one field group for many companies: the single tools are cheaper per call (see below).
  • Sites behind strong bot walls (some large retailers) may return tech and firmographics but no contacts; that part is listed in errors and you're still charged only once for the rest.

Run it on a schedule (CRM refresh)

  1. Save your company list as a task with "monitor": true and a monitorKey such as "crm-accounts".
  2. Schedule it daily or weekly in Apify (Schedules → Create).
  3. Each run returns only companies that are new or changed, with changedModules (e.g. ["tech"] when a company moves from Mailchimp to HubSpot, ["contacts"] for a new sales email, ["hiring"] for a 20%+ jump in open roles, ["logo"] for a rebrand). Unchanged companies are not returned and not charged. A part that failed on this run keeps its old value, so a flaky site never triggers a false alert.

Integrations: code, no-code and AI agents

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("cybermax/company-enrichment").call(run_input={"companies": ["stripe.com", "Notion"]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["companyName"], row["cms"], row["hiringOpenJobs"], row["employees"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cybermax/company-enrichment').call({ companies: ['stripe.com', 'Notion'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP (one call, results back): POST https://api.apify.com/v2/acts/cybermax~company-enrichment/run-sync-get-dataset-items?token=<APIFY_TOKEN> with body {"companies": ["stripe.com"]}.

Google Sheets / Clay / Make / Zapier / n8n: use the Apify app or an HTTP step with the call above; every row has the same columns, so map them once.

AI agents (MCP): Firmfold is a tool on Apify's MCP server: https://mcp.apify.com/?tools=cybermax/company-enrichment. Tool description for agents: "Enrich companies: domain, work email or company name in; logo, tech stack, email security, domain age, contacts, socials, hiring and firmographics out, one flat record each."

FAQ

Why not foxlabs/company-enrichment, the most-used one, at $0.001 per company? It is cheaper and gives revenue ranges, CEO and competitors, which Firmfold does not. On the same 10 domains it returned no tech stack, email security, role emails, socials or hiring data; Firmfold filled tech on 10/10 and contacts on 9/10. Pick by the fields you need.

Why not a Clearbit-style subscription? No seat, no contract, no sign-up outside Apify: you pay $0.01 only for companies that were found, and nothing for unknown names or dead domains.

Why not look it up by hand? For five companies, do. For a list of hundreds, the same ~60 columns every time (missing data is null, never a missing key) means one CRM mapping that never breaks.

Can an AI agent use it (MCP)? Yes. Add https://mcp.apify.com/?tools=cybermax/company-enrichment as an MCP server in Claude, Cursor, VS Code or any MCP client; the agent sees the input schema and calls Firmfold directly.

Can I call it from Python, JavaScript or plain HTTP? Yes. POST your input JSON to https://api.apify.com/v2/acts/cybermax~company-enrichment/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN and the results come back in the response, or use the apify-client package for Python or JavaScript. Recipes for Make, Zapier, n8n and Google Sheets are in Integrations.

Is it legal to use? Firmfold combines public company websites, Wikidata (CC0), DNS and public job boards. Contact details from company sites can be personal data under GDPR/CCPA, so use them for a legitimate business purpose and follow anti-spam rules. This is general information, not legal advice.

The company has no contact page or email. What do I get? contactRoute always names the best public way in: email, contact form, contact page, phone, a sales/booking link (salesUrl, e.g. a Calendly or "Get started" page) or the LinkedIn company page.

Why is hiringOpenJobs 0 for a company I know is hiring? Firmfold checks Greenhouse, Lever, Ashby, SmartRecruiters, Workable and Recruitee, by the domain and by the company's name (so g-p.com finds the globalizationpartners board). Companies on Workday or their own careers system aren't covered.

Is a company name enough? Usually. Add a country after a bar for ambiguous names ("Hiscox | gb"), or pass the domain when you have it; below minDomainConfidence the row comes back free as domain-not-found with bestGuessDomain.

Do you scrape LinkedIn or people data? No. Only what the company publishes about itself, DNS/RDAP, public job boards and Wikidata.

Start now

▶ Try Firmfold with a prefilled input · $0.01 per company enriched, misses free (1,000 companies = $10). Questions or a missing field? Open an issue on the Store page and it gets answered the same day.

Also from CyberMax

The parts, if you need only one field group (cheaper per call):

  • Namewhere: company name to official domain.
  • Logolark: company logos, icons and brand colours.
  • DomainDNA: tech stack, email security and domain age.
  • Hollerdex: emails, phones and social profiles.
  • HireHeat: hiring signals by domain, with the full job list.

All tools: Insidewell · Swellmeter · Capturewren · Gripeline · Keyfern · HireHeat Jobs · Linkheft

Data and privacy

Public company information only: the company's own website, DNS and RDAP records, public job boards and Wikidata (CC0). No LinkedIn scraping, no people lookups. Personal email addresses are off by default.

Changelog

  • 2026-09-25: Names with "&" resolve (GW&K Investment Management → gwkinvest.com, AT&T → att.com); job boards named after the company are found (g-p.com → Greenhouse globalizationpartners, 48 open jobs); new salesUrl and contactRoute fields so every company has a way in.
  • 2026-09-24: First release.

© 2026 CyberMax.

Found Firmfold useful? A quick rating on its Store page helps others find it.