Kompass Scraper | B2B Companies, Contacts & Products avatar

Kompass Scraper | B2B Companies, Contacts & Products

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Kompass Scraper | B2B Companies, Contacts & Products

Kompass Scraper | B2B Companies, Contacts & Products

Extract companies and products from Kompass country sites, with public phones, emails, addresses and executives when available. Search by keyword or browse company, product, region and sector pages. Billed per delivered row plus a start fee.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

7

Total users

3

Monthly active users

a day ago

Last modified

Security

Limited permissions

Share

Kompass Scraper

Extract company and product directory rows from Kompass country sites, including public supplier contacts when available, for export and analysis.

  • Company names, identifiers, descriptions and directory URLs.
  • Public company phones, emails, addresses, websites and executives.
  • Product titles, supplier links and catalog information.
  • Keyword search, direct pages, region lists and sector lists.
  • Pay for delivered rows: $3.00 per 1,000 rows on the Free plan, plus a start fee.

What does Kompass Scraper do?

Kompass Scraper collects public business directory information for supplier research, market mapping and catalog analysis. Select a country such as France, Germany, Australia or the United States. The input form accepts 70 country codes; page availability and field coverage vary by country.

  • Company and product search: company_search and product_search use keywords.
  • Direct pages: company and product read a supplied URL.
  • Company catalogs: company_products returns separate product rows.
  • Directory browsing: region and sector return company rows.
  • Contact enrichment: enrichDetails is on by default. It adds available company details to the same row, without a second row charge.
  • Sponsored rows: includeSponsored is off by default. If enabled, each sponsored row is billed like any other row.

What data can you extract from Kompass?

Company rows

Fields depend on what the public page contains. Listing cards are less detailed than company pages.

FieldDescriptionExample
typeRow kind.company
nameCompany name.Example Manufacturing
kompassIdCompany identifier; inspect the source URL.FR8380178
urlSource company page.https://fr.kompass.com/c/ipo-technologie/fr8380178/
countryCountry code; meaning depends on the source.fr
descriptionPublic company description.Industrial equipment supplier
companyTypesBusiness categories when listed.["Producer"]
employeesPublished employee count or range.100-249
phonesPublic phone entries.[{"value":"+1 555 0100","type":"landline"}]
emailsPublic company mailboxes.[{"value":"name@example.com","type":"work"}]
addressStreet, locality, postal code and country.{"locality":"Paris","country":"FR"}
geoCoordinates when published.{"lat":48.85,"lng":2.35}
personFirst listed executive.{"name":"Jane Doe","role":"Director"}
executivesPublished executive names and roles.[{"name":"Jane Doe","role":"Director"}]
contactsNamed contacts when available.[{"firstName":"Jane","lastName":"Doe","phone":null}]
webCompany website and social links.{"website":"https://example.com","socials":[]}
leadSourceSource category for contact data.detail
leadAbsencesReasons missing contact fields are empty.{"emails":"本站无"}
scrapedAtCollection timestamp.2026-10-24T08:00:00+00:00

Product rows

Product rows describe products, not supplier contacts. Use companyUrl in a separate company run for contacts.

FieldDescriptionExample
typeRow kind.product
productIdProduct identifier.example-product-id
titleProduct name.Hydraulic pump
urlProduct page.A Kompass /p/ URL
descriptionPublished product description.Industrial hydraulic pump
categoryProduct category when listed.Pumps
brandBrand on a product detail page.Example Brand
imageProduct image URL.https://example.com/product.jpg
companyNameSupplier name.Example Manufacturing
companyUrlRelated company page.A Kompass /c/ URL

leadAbsences values include 本站无 (not published), 未验证 (not checked), 闸门锁 (restricted) and 部分 (partial). These are output values, not settings. Older fields such as phone, email and website remain available as single-value aliases.

How to scrape Kompass

  1. Open Kompass Scraper in Apify Console.
  2. Fill one target field and choose the country for searches.
  3. Set maxResults to 3 for a first run.
  4. Click Start and wait for completion.
  5. Download the dataset or read it through the API.

Empty input {} starts an example company search for machinery in fr, limited to 3 rows from the input form's sample values. Normal start and row charges apply. With mode: "auto", filling one target field selects its mode.

Fill query, or searchQueries for several keywords. A keyword alone selects company_search.

Set mode: "product_search" and fill query or searchQueries.

Company detail

Fill companyUrl to read one company. For several companies, use detailUrls containing company links.

Company products

Set mode: "company_products" and fill companyUrl. Each catalog product is a separate row.

Product detail

Fill productUrl with a complete product-page link. For several products, use product links in detailUrls.

Region browse

Fill regionUrl, regionCode or a recognized region name, such as victoria with country: "au".

Sector browse

Fill sectorUrl, sectorId or a recognized sector name, such as agriculture. Use a full URL if the name is not recognized.

What to fill in

FieldWhat to enterDefault
modeauto or one of the seven modes above.auto
countryCountry code, such as fr, de, au, gb or us.fr
queryOne company or product keyword.Empty; sample machinery
searchQueriesSeveral keywords instead of query.Empty
companyUrlCompany page or company product-list URL.Empty
productUrlComplete product detail URL.Empty
detailUrlsSeveral URLs of the same page kind.Empty
regionUrlRegion list URL containing /r/.Empty
regionCodeRegion code, such as au_vic.Empty
regionRecognized region name.Empty
sectorUrlSector list URL containing /a/.Empty
sectorIdNumeric sector ID as a string.Empty
sectorRecognized sector name or ID.Empty
maxResultsMaximum rows per input, 1–1,000.70; sample 3
maxPagesPage setting, 1–50; limits region, sector and catalog pages. Search depth varies.1
pageSearch start-page setting, 1–100.1
enrichDetailsAdd available company contact details to listing rows.true
includeSponsoredKeep sponsored rows and charge for them.false

Company search:

{
"mode": "company_search",
"country": "de",
"query": "armaturen",
"maxResults": 3
}

Product search:

{
"mode": "product_search",
"country": "de",
"query": "hydraulic pump",
"maxResults": 3
}

Company detail:

{
"mode": "company",
"companyUrl": "https://fr.kompass.com/c/ipo-technologie/fr8380178/",
"maxResults": 1
}

Company products:

{
"mode": "company_products",
"companyUrl": "https://fr.kompass.com/c/ipo-technologie/fr8380178/",
"maxResults": 3
}

Product detail: replace this illustrative URL with a product link from your search results.

{
"mode": "product",
"productUrl": "https://au.kompass.com/p/example-company/au000000/example-product/example-id/",
"maxResults": 1
}

Region browse:

{
"mode": "region",
"country": "au",
"region": "victoria",
"maxResults": 3
}

Sector browse:

{
"mode": "sector",
"country": "au",
"sector": "agriculture",
"maxResults": 3
}

maxItems and limit are aliases for maxResults; keyword is an alias for query. Close field-name misspellings are corrected where recognized; other unknown fields are ignored with a note. Invalid target values stop the run with INVALID_INPUT: <field> — <how to fix> before any rows are charged; the start fee may still apply.

Every run writes INPUT_REPORT to the default key-value store, showing filled, corrected and ignored fields. A mode without its required target can be replaced by the mode matching a filled target. To avoid ambiguity, supply one target kind: URLs take priority over IDs, keywords and names. detailUrls takes priority over individual URL fields; its first URL selects the mode in automatic mode. Region and sector batches must contain matching list URLs.

Output example

Illustrative company row; contact values are placeholders, not a live result:

{
"type": "company",
"country": "fr",
"name": "Example Manufacturing",
"kompassId": "FR0000000",
"url": "https://fr.kompass.com/c/example-manufacturing/fr0000000/",
"phones": [{"value": "+1 555 0100", "type": "landline"}],
"emails": [{"value": "name@example.com", "type": "work"}],
"address": {"street": "123 Example Street", "locality": "Paris", "country": "FR"},
"person": {"name": "Jane Doe", "role": "Director"},
"web": {"website": "https://example.com", "socials": []},
"leadSource": "detail",
"leadReveal": "visible",
"leadAbsences": {},
"source": "kompass",
"scrapedAt": "2026-10-24T08:00:00+00:00"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. RUN_SUMMARY records row counts and warnings; ERROR_SUMMARY contains failure details when a run fails.

Why use this Kompass scraper?

  • Pay per delivered row. Pages that produce no dataset row do not incur a row charge; the start fee is separate.
  • Keep delivered data. Rows already written remain available after a stop or timeout. Undelivered results are not guaranteed after a manual stop.
  • Understand gaps. Missing fields stay empty, with contact absence reasons where available.
  • Batch inputs. Use several keywords or matching URLs without creating a run for each one.
  • No proxy setup. You do not need to set up proxies.

How much does it cost to scrape Kompass?

The Actor charges for a start event and delivered rows. Platform usage is included in these prices.

Apify planStart eventPrice per rowPrice per 1,000 rows
Free$0.005$0.003$3.00
Starter$0.005$0.003$3.00
Scale$0.005$0.0026$2.60
Business$0.005$0.0022$2.20
Platinum$0.005$0.0020$2.00
Diamond$0.005$0.0016$1.60

Start billing is one event per GB of allocated memory, with a minimum of one event. At the default 512 MB, the start charge is $0.005.

  • maxResults applies to each keyword or URL. The default is 70; larger requests are collected in parts of 70.
  • Free Apify plan users have a developer-set allowance of 10 runs and at most 200 rows per run. These limits do not make the event charges free.
  • The whole run stops at your Maximum cost per run (maxTotalChargeUsd in the API).

Example: two keywords returning 5 rows each deliver 10 rows. On the Free plan at 512 MB, one start plus 10 rows costs $0.005 + 10 × $0.003 = $0.035. Fewer delivered rows mean fewer row charges.

What happens when the run timeout is too short

A search can take longer than the timeout you chose. The run can pause with the status message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." It temporarily appears as ABORTED. When results are ready, the same run resumes, reports "Resumed: delivering N rows.", writes to the same dataset and finishes as SUCCEEDED if collection succeeds.

Previously delivered rows are skipped rather than delivered or charged twice. This can happen at most 3 times per run. Keep the default timeout of 3600 seconds to reduce pauses. Actual collection failures can still end the run with an error.

The synchronous endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and may return an empty dataset while the run is paused. For longer requests, start asynchronously and read the dataset after SUCCEEDED, or use a succeeded-event webhook.

Use with AI agents and the API

Apify MCP server

Add this remote MCP URL in Claude, ChatGPT, Cursor, VS Code or another compatible client:

https://mcp.apify.com?tools=lentic_clockss/kompass-scraper

Sign in with Apify through OAuth when prompted, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool returns run and dataset IDs; the agent reads rows with get-dataset-items.

For clients without remote MCP support, run npx @apify/actors-mcp-server --tools lentic_clockss/kompass-scraper with APIFY_TOKEN set.

Example prompt: "Find three German companies matching armaturen, including public company contacts when available."

Apify API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/kompass-scraper").call(
run_input={"country": "de", "query": "armaturen", "maxResults": 3}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/kompass-scraper').call({
country: 'de', query: 'armaturen', maxResults: 3
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Over HTTP, send input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~kompass-scraper/runs with the bearer token header. Read completed results using GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json. The Actor uses limited permissions for its run data.

Integrations

Use the Actor's Integrations tab to connect results to Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Use Apify Schedules for recurring runs.

FAQ

This Actor collects publicly accessible data. You are responsible for complying with the site's terms and applicable data protection laws. Processing personal data requires a lawful basis; public visibility alone does not establish one.

Why did my run end as ABORTED?

An automatic pause can temporarily show ABORTED before the same run resumes. Check its status message. A manual abort or another failure is not a promise of automatic recovery.

How many results can I get?

maxResults accepts up to 1,000 per input, subject to available pages, your spending limit and plan allowance. The default is 70; the example uses 3. A single detail URL usually produces one row.

Why are some fields empty?

Company listing cards lack many detail fields. Keep enrichDetails: true for richer company rows. Product rows do not copy supplier contacts. Read leadAbsences to distinguish missing, restricted and unchecked information.

Is this an official Kompass tool?

No. It is an independent Actor, not affiliated with Kompass. It does not sign in to paid products, purchase lead lists or submit contact forms.

Why choose a country rather than www.kompass.com?

www.kompass.com is a country-selection gateway. Choose a country subdomain for searches; direct URLs identify the page to read.

Are contact fields hidden on the Free plan?

No. Public contact fields are not removed because of your plan. Availability depends on the source page and whether details were read.

Can company search return another directory's rows?

Yes. Company search can include Europages companies marked leadSource: "ep_search". Check url and leadSource before treating every row as a Kompass listing. On these rows, country is the company's country when available.

Limitations

  • Accepting 70 country codes does not guarantee complete coverage in every country.
  • Company and product search pages have a five-page guest limit; this is not a fixed cap on every company-search result source.
  • maxPages and page are not uniform controls across all search sources. Use maxResults to limit rows.
  • Region-name lookup covers selected French, US and Australian regions. Other regions need a valid URL or code.
  • Contact fields are not guaranteed. Product pages do not supply company phones or emails.
  • Social links may include employee profiles, not only the company's profile.
  • Inaccessible or changed pages may yield fewer rows or an error. No complete-directory or fixed-duration guarantee is offered.

More B2B supplier and wholesale marketplace scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report a problem or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.