Company Data & Enrichment: Firmographics, Funding, Products avatar

Company Data & Enrichment: Firmographics, Funding, Products

Pricing

from $20.00 / 1,000 basic company profiles

Go to Apify Store
Company Data & Enrichment: Firmographics, Funding, Products

Company Data & Enrichment: Firmographics, Funding, Products

Company data from a domain, LinkedIn URL or name: firmographics, industry classification across 10 code systems, business model, customer types, products and technologies, funding rounds with investors, legal entities, a source on every fact. Crunchbase alternative. $0.02 a company.

Pricing

from $20.00 / 1,000 basic company profiles

Rating

0.0

(0)

Developer

Pvalyou

Pvalyou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Company Enrichment API ✅ Firmographics, Funding, Products Actor

Company enrichment API: a domain, a LinkedIn company URL or a company name goes in. One structured company profile comes out, with a source on every fact. The input comes prefilled with three companies on the basic tier, so the easiest way to try it is to click Start. Firmographics you would get from Clearbit or ZoomInfo, funding rounds and investors you would get from Crunchbase, and a layer neither of them sells: the company classified, its products and technologies segmented, and its unit economics modelled. Built from the company's own site, its public profiles, the official company registries, the patent offices, its job board and the public web. A company already on file answers in seconds. A new one is read now, which takes a few minutes, and answers at once for everyone after that.

$0.02 a company, $0.10 for the full tier ($0.09 on Silver and $0.08 on Gold plans), for sales and marketing teams segmenting a list of domains, investors and analysts screening companies, market researchers, and compliance teams checking who they are onboarding. Company enrichment from a domain, funding rounds with investors, an industry classification API with NAICS, SIC and GICS codes, and the company's products and technologies, in one call.

What you get

  • Classification you can filter on, produced by a language model, not a lookup table. Industry and sub-industry, business model and revenue model, software and physical intensity, deeptech, customer types with a primary type, use cases, integration ecosystem, compliance frameworks, scalability, plus ten industry code systems (NAICS, SIC, GICS, ICB, TRBC, SICS, ISIC, NACE, UK SIC, NAPCS). Most enrichment APIs return one industry string copied from a profile page. This is read from what the company actually says it does.
  • Products and technologies, segmented. Each product with its category, group, price tier, payment model, free tier, SaaS and open-source flags. Each technology with its category and group. A firmographics API returns headcount, industry and location. This returns what the company sells and what it is built with, read from the company's own pages.
  • Funding with the investors on each round. Round type, date and precision, amount and currency, valuation when published, lead investors, investor type, source pages. Acquisitions and IPOs with their terms.
  • Unit economics, modelled. The atomic unit, market size, revenue per unit, costs, LTV to CAC and payback, each with a confidence score and the reasoning behind it.
  • Related companies, events, legal entities. Parents, subsidiaries and partners, a dated event timeline, registered entities with numbers, jurisdictions and status.
  • The full tier. Everything above plus the people named on the web with their titles and LinkedIn URLs, website liveness and archive history, patents with a summary, open roles from the company's own job board, and backers from investor portfolio pages.
  • Priced per company. $0.02 basic, $0.10 full, and the full tier is $0.09 on Silver and $0.08 on Gold plans. Nothing when the company could not be identified.

👥 Who uses company enrichment?

  • 💸 Investors and analysts. A sourced profile with rounds, investors, valuation, people and events for screening and diligence, without a data-broker contract.
  • 📈 Sales and marketing. Classification, customer types, products and integration ecosystem for segmentation and fit scoring across a list of domains.
  • 🔭 Market and competitive research. The same record for every company in a space, so products, technologies, business models and funding compare like with like.
  • 🏦 Compliance and onboarding. Legal entities with registration numbers, jurisdictions, status and officers-in-the-record, plus what the public web says the company does.
  • 🤖 AI agents and pipelines. One JSON record per company with stable field names, callable from the Apify API, the MCP server and the Python and JavaScript clients. Events only, so it is eligible for agentic payment.

▶️ How to enrich a company in 5 steps

  1. Open this Actor in the Apify Console. The input comes prefilled with three companies.
  2. Put your companies in companies, one per line: a domain, a website URL, a LinkedIn company URL or a name, up to 200 per run.
  3. Pick a tier: basic for the company profile, or full for the profile plus the people named on the web, website, patents, open roles and backers.
  4. Click Start. A company on file answers in seconds, and a new one is read now, which takes a few minutes.
  5. Download the profiles from the run's dataset as JSON, CSV or Excel, or read them through the Apify API. To enrich a list on a timetable, add a schedule, and to be told when a run finishes, add a webhook.

⬇️ Input: a tier and a list of companies

{
"tier": "basic",
"companies": ["monday.com", "https://www.linkedin.com/company/similarweb", "linear.app"]
}
FieldWhat it does
tierbasic (the company profile) or full (the profile plus the people named on the web, website, patents, open roles and backers).
companiesOne per line: a domain, a website URL, a LinkedIn company URL, or a name. Each entry may also be an object with company, an optional name and country (for a name that could be several companies) and its own tier. Up to 200 per run.

A name alone is resolved by web search and refused when it matches several companies, as an uncharged item that asks for the domain or the country. A LinkedIn person URL, an empty entry or a reserved domain is rejected before any paid step.

⬆️ Output: one dataset item per company

Every item carries type, the query it came from, charged, and outcome. exists means the company was on file and answered at once, created means it was read now, refreshed means it was on file but older than a month and was re-read for you. The flat columns summarise. The record field holds everything.

typeChargedContents
companyonce (company_basic or company_full)the profile
errorneveran error code and a message

Every error item is free, and its code says which stage refused it:

Where it comes fromCodes
Your input, before any callinvalid_input (not a string or an object with company, or too short to identify), empty_query, unknown_tier, too_many (over 200 companies in one run)
The company serviceambiguous (the name matches several companies, add a domain or a country), no_identity (no web presence to build a profile from), rate_limited, unauthorized, upstream_error, unreachable, api_error
While the Actor waits for a new company to be readtimeout (45 minutes on basic, 60 on full: the company keeps being read and answers at once on your next run), failed, unknown_job

The flat columns for the first prefilled company:

namedomaincountryindustrysub_industrybusiness_modelfounding_yearemployee_rangetotal_funding_m_usdrounds_countproducts_countpeople_countevents_count
monday.commonday.comIsraelIT and TelecomEnterprise SoftwareB2B20121001-5000234.1542015

That table is an excerpt of the 37 flat columns every company item carries. The rest are legal_name, website, status, org_type and org_subtype, employees, is_public, is_acquired, is_unicorn, logo, last_round_date, technologies_count, description, org_id, record_as_of, outcome, tier, charged and charged_event, and on the full tier patents_count, open_roles and website_state. All of them survive a CSV or Excel export, so a public, acquired or unicorn filter, a last-round-date cut or a dead-website filter needs no JSON parsing. The nested record sits beside them with everything else.

The record field for the same company, trimmed to one entry per list:

{
"identity": {"name": "monday.com", "legal_name": "Monday.com Ltd.", "other_legal_names": ["DaPulse High-Tech Company", "monday crm"],
"domain": "monday.com", "status": "active", "type": "Company", "subtype": "Startup", "country": "Israel",
"founding_date": "2012-03-13", "employees": 4638, "employee_range": "1001-5000", "establishment_type": "Standard Startup",
"operates_globally": true, "is_public": true, "is_unicorn": true, "logo": "https://.../376c60af....avif"},
"classification": {"industry": "IT and Telecom", "sub_industry": "Enterprise Software", "business_model": "B2B",
"revenue_model": ["Subscription fees", "Enterprise contracts"],
"software_intensity": {"score": 2, "category": "Apps and Analytics"}, "physical_intensity": {"score": 1, "category": "No Physical Components"},
"customers": {"primary_type": "Commerce & Media", "keywords": ["Enterprise business teams", "HR teams", "Marketing teams", "Sales teams", "SMBs"]},
"use_cases": ["Project management", "Workflow automation", "..."],
"codes": {"naics": {"code_primary": "541511", "description_primary": "Custom Computer Programming Services"},
"gics": {"code": "45103010", "sector": "Information Technology", "industry": "Software", "sub_industry": "Application Software"}, "...": "8 more systems"}},
"products": [{"name": "monday.com Work OS platform", "url": "https://monday.com/work-management", "category": "Enterprise Software",
"subcategory": "Work Operating System", "group": "Business tools", "price_tier": "mid", "payment_model": "recurring", "is_saas": true}, "...3 more"],
"technologies": [{"name": "mondayDB", "description": "Proprietary scalable data infrastructure designed to support complex workflows...",
"url": "https://www.computerworld.com/article/3703228/..."}, "...1 more"],
"unit_economics": {"atomic_unit_name": "Seat", "target_vertical": "Enterprise Work Management Platforms", "overall_feasibility_score": 0.85,
"calc_ltv_cac_ratio": 4.2, "calc_payback_months": 18.3, "...": "22 more fields, each block with its reasoning and confidence"},
"funding": {"total_m_usd": 234.1, "rounds_count": 5, "investors_count": 8, "last_round_date": "2020-05-22",
"rounds": [{"round_type": "Series D", "round_date": "2019-07-30", "round_amount_m_usd": 150.0, "round_valuation_m_usd": 1900.0,
"investors": [{"name": "Sapphire Ventures", "type": "venture capital"}, {"name": "HarbourVest Partners", "type": "private equity"}, "...3 more"],
"source_urls": ["https://techcrunch.com/2019/07/30/monday-com-raises-150m-more-now-at-1-9b-valuation-for-workplace-collaboration-tools/"]},
"...8 more, from the 2012 seed to a 2024 post-IPO round"]},
"acquisitions": [{"deal_direction": "subject_is_acquirer", "target_name": "OneAI", "acquisition_type": "full_entity",
"summary": "monday.com agreed to acquire OneAI, a voice AI company, to add voice agent capabilities to its AI Work Platform."}],
"ipos": [{"ticker_symbol": "MNDY", "stock_exchange": "NASDAQ GS", "ipo_type": "traditional", "offer_price": 155.0, "shares_offered_m": 4.07,
"total_raised_m_usd": 631.4, "valuation_at_ipo_m": 6800.0, "ipo_status": "trading"}],
"related_companies": [{"name": "Asana", "domain": "asana.com", "relationship": "Competitor", "source_urls": ["https://pitchbook.com/profiles/company/..."]}, "...38 more"],
"people": [{"name": "Eran Zinman", "title": "Co-Founder & Co-CEO", "role": "founder", "is_founder": true, "linkedin": "https://www.linkedin.com/in/eranzinman",
"source_urls": ["https://monday.com/p/about", "..."]}, "...19 more"],
"events": [{"type": "Valuation Milestone", "date": "2019-07-30", "date_precision": "day", "valuation_m_usd": 1900.0,
"description": "Reached $1B+ valuation (unicorn): Series D of $150M led by Sapphire Ventures..."}, "...14 more"],
"legal_entities": [{"english_legal_name": "MONDAY.COM LTD", "local_legal_name": "מנדיי. קום בע\"מ", "registration_id": "514744887", "jurisdiction": "il",
"status": "active", "date_of_registration": "2012-03-13", "entity_hierarchy": "headquarters", "is_founding_registration": true,
"address": "6 Yitzhak Sadeh St, Tel Aviv, 6777506, Israel"}, "...11 more"],
"public_profiles": {"linkedin": "https://www.linkedin.com/company/mondaydotcom", "crunchbase": "https://www.crunchbase.com/organization/mondaydotcom",
"pitchbook": "...", "tracxn": "...", "...": "12 more"},
"links": {"pricing_url": "https://monday.com/pricing", "careers_url": "https://monday.com/careers", "...": "14 more"},
"founders": [{"name": "Eran Zinman", "years_of_experience": 7.9, "num_prior_employers": 4, "prior_ceo_roles": 1, "has_mba": false,
"experience": [{"organization": "Othersay", "title": "CEO & Co-founder", "department": "Executive", "is_founder": true,
"start_date": "2009-01-01", "end_date": "2010-01-01"}, "...5 more"], "education": ["...1 entry"]}, "...1 more"],
"website": {"state": "LIVE", "score": 100, "reason": "up with real content", "has_mx": true, "domain_expires": "2027-07-18"},
"patents": {"count": 273, "granted": 138, "first_filing": "2019-06-26", "latest_filing": "2026-03-23", "rows": ["...up to 100"]},
"open_roles": {"status": "matched", "board": {"provider": "..."}, "summary": {"open_roles": "...", "by_department": {"...": "..."}}, "roles": ["...up to 25"]},
"backers": [{"name": "Entrée Capital", "kind": "fund", "first_invested_date": "2012-08-02", "last_invested_date": "2018-07-11", "n_rounds": 4}, "...7 more"]
}

💰 Pricing

EventPriceWhen
company_basic$0.02once per company profile delivered
company_full$0.10 on Free and Bronze, less on Silver and Goldonce per full profile delivered
Actor start$0.00005once per run
could not be identified, ambiguous name, refused input, failed run, timeout$0never

The full profile costs less on Silver and Gold plans, automatically:

PlanPrice per full profile
Free and Bronze$0.10
Silver$0.09
Gold$0.08

Platinum and Diamond plans pay the Gold price. The basic profile is $0.02 on every plan.

Worked examples, event charges only. The Actor start adds $0.00005 a run, which does not move any figure here: 100 domains on the basic tier, $2. One company in full, $0.10 on Free and Bronze, $0.09 on Silver, $0.08 on Gold. A list of 1,000 domains, $20.

You can try the Actor on the Apify free plan, which includes monthly platform usage credit and needs no credit card.

🔎 How the profile is built

  1. The input identifies the company: a domain or a website URL directly, a LinkedIn company URL by its page, a name by web search. A name that matches several companies comes back ambiguous rather than as a guess, and asks for the domain or the country.
  2. The company's own site and its public profiles are collected, along with the pages the open web publishes about it, the official company registries, the patent offices, its job board and archive.org.
  3. Language models read those pages and fill the structured record: the classification and its code systems, the products and technologies, the unit economics, and the extraction of funding rounds, investors, acquisitions, IPOs, people, events and legal entities.
  4. Every output is schema-validated and checked by deterministic rules before it is written, and every fact keeps the source pages it came from, which travel with the record as source_urls.
  5. The profile is then on file. outcome tells you which path your call took: exists answered from the profile already held, refreshed re-read it because it was older than a month, created read the company for the first time.

🔐 Data, licences and privacy

  • The company's own site and the public web. Pages are read one at a time with an honest user agent, plus official company registries, the patent offices and archive.org. No login, no bypass, no data broker feed.
  • A source on every fact. Rounds, related companies, people and events carry the pages they were read from. Read them when a number matters.
  • People with their public professional role only. Name, title, role flags and the public LinkedIn URL, from pages that name them. Never contact details, never a career history in this Actor. Their career records are sold separately, per person, in LinkedIn Person Enrichment.
  • Pass-through to your dataset. The profile lands in your own Apify dataset under your account's retention settings. The profile itself is on file on our side, which is why a company already read answers at once and one older than a month is re-read for you. Operational logs keep the query, the tier, timing and the billing outcome.
  • Personal data. Officer and people names are personal data under laws such as the GDPR. Use them only where you have a lawful basis and in line with the laws of your jurisdiction. A person who wants a registry record corrected should ask the register that published it. Objections about this Actor's processing can be raised through the Issues tab on this page.

⏱️ How long it takes

A company on file answers in seconds. A new company is read now: the pipeline collects its profiles and pages, runs the classification and the extraction, and writes the record. Measured on our own runs, that is 6 to 10 minutes for one company, with up to three companies read at a time. Both tiers take the same time: the founders' career histories are not part of either answer, so you never wait for them. The Actor submits your whole list first and then delivers each company as it lands, so a list of 100 new companies takes about two hours and a list of 100 companies on file takes a minute. A company still being read when the Actor's wait runs out (45 minutes on basic, 60 on full) comes back as an uncharged timeout item and answers at once on your next run.

⚠️ Limits, stated plainly

  • Language models fill the structured record from the collected pages: they classify the company, name its products and technologies, and extract rounds, people, events and entities from text. Every output is schema-validated and guarded by deterministic rules before it is written, and every fact carries its source pages. Read the sources when a number matters.
  • A company with no web presence beyond a registry entry is refused as no_identity, uncharged.
  • Registry records come from the registers we read (40 official registers plus GLEIF). A company registered elsewhere has fewer legal entities in its record.
  • People come from the public pages that name them, with their role and LinkedIn URL. Their career histories are not part of either tier.
  • Up to 200 companies per run.

🔗 Works well with

The parts of the full tier are sold on their own: Website Liveness Check, Job Postings, Patent Lookup, Company Registry Lookup and LinkedIn Person Enrichment. Use them when you want one part in bulk at its own price.

🔌 Company enrichment API, clients and integrations

Run the Actor from the Apify Console, from the Apify API, from the Python or JavaScript client, from the Apify MCP server, or from Make, Zapier and n8n through the Apify integrations. Schedule it over a domain list and set a webhook on run completion to pull the profiles into your CRM or warehouse.

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("pvalyou/company-record").call(run_input={
"tier": "basic",
"companies": ["monday.com", "https://www.linkedin.com/company/similarweb",
{"company": "Linear", "country": "United States", "tier": "full"}],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["type"], item.get("name"), item.get("industry"),
item.get("total_funding_m_usd"), item.get("charged"))

❓ FAQ

The record is compiled from the company's own website and the public pages that describe it, read one page at a time with an honest user agent, plus official registries, patent offices and archive.org. No login, no bypass. People appear with their public professional role only, never with contact details.

Why did a name come back ambiguous?

Several companies carry that name. Add the domain, or the country, and it resolves.

Why is outcome sometimes exists?

The company was already on file and fresh, so it answered in seconds from the profile we already hold. refreshed means it was on file but older than a month and was re-read for you. created means it was read for the first time now.

Can I get only the classification?

The profile is the unit. Filter the fields on your side. If you want one part in bulk, the linked Actors above sell each part at its own price.

Can I use it as a company enrichment API from code?

Yes: the Apify API, the Python and JavaScript clients, and the MCP server. Each entry may be an object with company, name, country and tier. See the snippet above.

What does it cost to enrich 1,000 domains?

$20 on the basic tier, plus $0.00005 for the Actor start of each run. Companies that could not be identified cost nothing.

💬 Support and feedback

Found a company that resolved wrong, a field that looks off, or a company you need that comes back no_identity? Open an issue on this Actor's page with the domain, the tier and what you expected. Issues are answered by the developer.

📝 Changelog

  • 0.1 update (2026-09-11) Silver and Gold discounts on the full profile: company_full is $0.09 on Silver and $0.08 on Gold, Platinum and Diamond, and stays $0.10 on Free and Bronze. README: the status badge replaces the title line, a five-step how-to, a price table per plan and a note on the free plan.
  • 0.1 First public release: basic and full tiers, firmographics, classification with ten code systems, products and technologies, unit economics, funding rounds with investors, acquisitions and IPOs, related companies, events and legal entities, two priced events.