Company Enrichment - What a Website Actually Sells avatar

Company Enrichment - What a Website Actually Sells

Pricing

from $3.00 / 1,000 company profiles

Go to Apify Store
Company Enrichment - What a Website Actually Sells

Company Enrichment - What a Website Actually Sells

Give it a company website and get what that company sells - product categories, brand and product names, whether there is a checkout and on which platform - each fact with the page it came from.

Pricing

from $3.00 / 1,000 company profiles

Rating

0.0

(0)

Developer

Alan Salomon

Alan Salomon

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Company Enrichment — what a website actually sells

Give it a company website. Get back what that company sells — product categories, brand and product names, whether there is a checkout and on which platform — with the page every fact came from.

Most enrichment tells you a company's size, revenue band and tech stack. That is useful for routing a lead and useless for the question people actually ask before they spend money: what do these people do, and is it what I do?


What you get, per website

FieldWhat it is
company_nameThe name, preferring what the site declares in schema.org over what we read off its <title>
descriptionHow the company describes itself, in its own words
sellsProduct categories and service lines, read from the navigation and from structured data
product_examplesReal product names, where the site publishes them
brandsBrands the site declares it carries or owns
sells_onlineWhether there is a checkout — with the evidence beside it
ecommerce_platformShopify, WooCommerce, Squarespace, Wix, BigCommerce, PrestaShop, Magento, Shopware, Ecwid
currenciesWhat it prices in, when it says so
social_linksThe profiles it links to
hosted_onSet when the URL is a profile on a shared platform - GitHub, Linktree, Etsy - because a profile page is not a company website
*_evidenceFor each of the above: the page it came from, and how it was known

Every fact says where it came from

company_name_evidence reads "schema.org Organization on https://example.com/" or "page title on https://example.com/" — and those are not the same claim. One is the company asserting a fact about itself. The other is us cutting a string in half at a dash.

You can sort on that. Most enrichment hands you a value and asks you to trust it.

We read markup, never prose

Every answer comes from a machine marker: a schema.org block, a <meta> tag, a CDN host, a navigation link. Never from a sentence.

That sounds pedantic until you meet the failure it prevents. A blog post reading "we left Shopify last year and add to cart was always slow" will be reported by a naive detector as a Shopify store with a checkout. It is neither. There is a test suite here made of ordinary English that is asserted to produce nothing.

What it does not do

  • It does not render JavaScript. A shop that draws its catalogue client-side gives up sells_online, its platform and its evidence — and no product names. You get an honest empty sells rather than a guess assembled from headings.
  • It does not judge. No fit score, no category verdict, no "is this a competitor". You get the facts and the pages they came from; the judgement is yours, and it belongs to somebody who knows their own market.
  • It does not mistake a platform for a company. Point it at a GitHub profile or a Linktree and you get hosted_on: GitHub, not that company's marketing menu reported as what this person sells. A storefront address - Etsy, Gumroad, Ko-fi - is instead taken as evidence that they are selling.
  • It reads what is published. A company that says nothing about itself on its own website comes back mostly empty, and says so.

Input

{
"websites": ["allbirds.com", "https://www.mate-verde.de/"],
"pageLimit": 3
}

Paste domains or full URLs — acme.com, www.acme.com and https://acme.com/about are one company and one charge.

Already have a list somewhere else? Point it at another Actor's dataset:

{ "inputDatasetId": "aBcD1234", "websiteField": "website" }

Every row's website gets profiled, so this slots into a pipeline behind a Maps scraper, a lead list or a creator search instead of being pasted into by hand.

pageLimit is your cost dial. The homepage says who a company is; the shop, catalogue or services page says what they sell. Three further pages is usually enough. Pages within one site are fetched one at a time — hammering a small business's shared hosting to save two seconds is how a scraper earns a block.

Output

One row per website, every row carrying every column — including the ones that failed, which arrive with a reason rather than disappearing. A site we could not read is our problem and is never charged for.

Two views: What they sell for the answers, Evidence for where each came from.