Kompass Scraper - Global B2B Company Directory
Pricing
from $3.00 / 1,000 company found (search)s
Kompass Scraper - Global B2B Company Directory
Scrape company data from Kompass.com, a global B2B directory with 60M+ companies across 70+ countries. Extract names, websites, phone numbers, emails, addresses, employee counts, certifications, and more.
Pricing
from $3.00 / 1,000 company found (search)s
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
1
Bookmarked
144
Total users
18
Monthly active users
1.4 hours
Issues response
7 days ago
Last modified
Categories
Share
Scrape company data from Kompass.com, a global B2B directory with 60M+ companies across 70+ countries.
DataDome unblocker (optional, off by default)
The default HTTP-only path works on all tested tenants (DE, FR, GB, PL) as of October 2026, so unblockMode defaults to off. Only switch it on if you see stripped-page / blocked messages.
Kompass Poland (pl.kompass.com) and Germany (de.kompass.com) run a tighter DataDome trust configuration that strips company cards from SERP responses when only a pure-HTTP cookie is used. The unblockMode input field lets you engage a Camoufox browser sub-actor that mints a fully verified DataDome cookie and injects it before the SERP fetch.
Cost breakdown
| Scenario | Cost per call |
|---|---|
| Fresh mint (cache miss, Camoufox cold start) | ~$0.06 (~0.06 CU) |
| Cache hit (session pool hit within 30-min TTL) | ~$0.001 actual CU |
| Apify platform minimum per run of sub-actor | $0.04 (billed by platform, not per-call) |
The session pool (datadome-session-pool KV store) is shared across your runs. On a typical workflow with 5+ runs per hour against the same subdomain, nearly all calls hit the cache and cost under $0.002 each. A cold start happens at most once every 30 minutes per subdomain/country combination.
The sub-actor CU is charged to your Apify account separately from this actor's pricing.
Three modes
| Mode | When to use |
|---|---|
auto | Mints only for pl.kompass.com and de.kompass.com, which are confirmed tight tenants. Other subdomains use the standard solve path. Recommended for most users. |
on | Always mints before the first SERP request, regardless of subdomain. Use when you are hitting unexpected CookieOnly blocks on subdomains not yet classified as tight. |
off (default) | Skips the sub-actor entirely. Lowest cost. If Kompass serves stripped pages and nothing can be loaded, the run ends FAILED with a clear status message and the start event is not charged. |
If Kompass serves stripped pages
If DataDome serves a stripped-body response (200 OK but 0 company cards) the run ends FAILED with a status message and is not charged for the start event. The log contains:
WARN kompass hit DataDome CookieOnly block on pl.kompass.com. Rerun with unblockMode="auto" (default) or "on" to auto-unblock via our sub-actor. See README > "DataDome unblocker" for pricing.
Anti-Bot Protection Note
Kompass.com uses DataDome anti-bot protection. For best results, use residential proxies (RESIDENTIAL group). If you experience empty results on non-PL/DE subdomains, try running again since a fresh residential IP often passes the challenge.
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client -- Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/kompass-scraper
Example prompt once connected:
"Use
kompass-scraperto scrape company data from kompass. Return results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.
What data do you get?
For each company, the scraper extracts:
- Company name and description
- Website URL, phone number, and email
- Full address (street, postal code, city, country)
- GPS coordinates (latitude/longitude)
- Employee count (e.g., "Von 20 bis 49 Mitarbeiter")
- Year founded
- Revenue/turnover
- Supplier type (Exporter, Manufacturer, Service provider, etc.)
- Product categories and certifications (ISO, etc.)
- Company logo
How to use
Option 1: Keywords + country (recommended for programmatic use)
Set searchQueries (array of keywords) and country (ISO code). The scraper builds the correct subdomain URL for each query.
{"searchQueries": ["logistics", "freight forwarding"],"country": "PL","maxResults": 40,"unblockMode": "auto"}
Each entry in searchQueries is scraped independently. Results from all queries are combined up to maxResults.
Option 2: Paste a search URL
- Go to any Kompass country site (e.g., de.kompass.com) and search for companies
- Copy the search results URL
- Paste it into the Search URLs field
Works with all Kompass country domains: de.kompass.com, fr.kompass.com, gb.kompass.com, it.kompass.com, es.kompass.com, and 70+ more.
Option 3: Paste company profile URLs directly
You can also paste company profile URLs (e.g., https://in.kompass.com/c/rolex-rings-private-limited/in774979/) into Search URLs to fetch a single company's full profile without paginating. Ideal for dedupe workflows: run a search-only pass first, dedupe against your database, then pay for detail only on the new companies.
Option 4: Paste category URLs (/a/) for maximum yield
Category pages at /en/a/{slug}/{id}/ return 81 company cards per URL in a single request. This is a 5x yield improvement over /searchCompanies pages (20 cards per page, capped at 100 total across 5 scroll pages).
Find a category URL by browsing Kompass and clicking a category from the left-hand filter panel. The URL in your browser will contain /a/ followed by a slug and numeric ID.
Example URLs:
https://pl.kompass.com/en/a/logistics/25535/https://de.kompass.com/en/a/logistics/25535/https://fr.kompass.com/en/a/logistics/25535/
Paste them into the Search URLs input field. The scraper detects /a/ paths automatically and routes them through the session-minter unblocker (when unblockMode is auto or on).
Cost: each /a/ URL uses one session-minter call (~$0.03 CU). The 81 cards returned give a cost-per-company roughly 15x lower than the /searchCompanies path.
Country routing
Kompass uses country subdomains, not query parameters. Setting country: "PL" routes to pl.kompass.com, country: "FR" routes to fr.kompass.com, and so on. Query parameters like ?country=PL are ignored by Kompass -- only the subdomain matters.
When searchUrls is also set, the country field acts as a post-filter that drops SERP results not matching the target country, which helps for long queries that occasionally return off-target companies at the tail.
Input example (programmatic API call)
{"searchQueries": ["logistics"],"country": "PL","maxResultsPerQuery": 20,"unblockMode": "auto"}
Input parameters
| Parameter | Type | Description |
|---|---|---|
searchQueries | array | Search keywords. Each becomes one Kompass SERP URL on the correct country subdomain. Primary input for API use. |
searchUrls | array | Kompass search result or company profile URLs, used as-is |
searchQuery | string | Single keyword (legacy, use searchQueries for new integrations) |
country | string | ISO country code (e.g. "PL", "DE", "FR"). Determines subdomain. Required when using searchQueries/searchQuery. |
maxResults | integer | Maximum total companies to scrape (default: 20) |
maxResultsPerQuery | integer | Alias for maxResults. Takes precedence when both are set. |
unblockMode | string | DataDome unblocker mode: off (default), auto, on. See "DataDome unblocker" above. |
includeDetails | boolean | Fetch detail pages for full data (default: true) |
fetchCatalogueLinks | boolean | Fetch media page to extract catalogue_pdf and catalogue_video (default: false) |
Output example
{"id": "DENKC00033877","name": "RLS Wacon analytics GmbH","description": "Die RLS Wacon analytics GmbH ist ein Familienunternehmen mit Sitz in Hildesheim...","website": "https://www.rls-wacon.de","phone": "+49 5121 28 126 0","email": "info@rls-wacon.de","address": "Gropiusstrasse 12, 31137 Hildesheim","city": "Hildesheim","postal_code": "31137","country": "Germany","country_code": "DE","latitude": 52.16463,"longitude": 9.92306,"logo_url": "https://img.kompass.com/sys-master-images/...","employee_count": "Von 20 bis 49 Mitarbeiter","year_founded": "2005","supplier_type": "Exporteur","categories": ["Elektrische Messgeraete und Steuergeraete", "Analysegeraete fuer Fluessigkeiten"],"certifications": ["ISO 9001"],"vat_number": "DE124391220","catalogue_url": "https://de.kompass.com/c/cv/rls-wacon-analytics-gmbh/denkc00033877/","catalogue_pdf": "https://prokcssmedia.blob.core.windows.net/sys-master-images/.../Wasserkatalog.pdf","catalogue_video": "https://www.youtube.com/watch?v=vpS9_St3K6s","source_url": "https://de.kompass.com/c/rls-wacon-analytics-gmbh/denkc00033877/","source_platform": "kompass.com","scraped_at": "2026-03-26T10:30:00Z"}
Tips
- Include Details = ON gives you email, full address, coordinates, employee count, founding year, VAT/GST number, and more. Highly recommended.
catalogue_urlis always the Kompass media page (listing brochures and videos). EnablefetchCatalogueLinksto also getcatalogue_pdf(direct PDF download) andcatalogue_video(YouTube/Vimeo link) -- this makes one extra request per company.- Include Details = OFF is faster but only returns name, city, phone, website, and categories from search results.
- For PL/DE subdomains,
unblockModecan stayoff; useautoonly if you are blocked. The sub-actor session pool means subsequent runs within 30 minutes cost almost nothing extra. - Category URLs (
/a/paths) return 81 companies per URL vs 20 per search page. Paste them into Search URLs for the highest yield per request. Each URL costs one session-minter call (~$0.03 CU). - The scraper works with all 70+ Kompass country domains.
- The scraper rotates through multiple Chrome TLS profiles and proxy sessions automatically for best success rates on non-PL/DE subdomains.
Known limitations
Kompass.com uses DataDome bot protection which requires JavaScript execution for initial challenge solving. PL and DE subdomains require a full Camoufox browser solve (available via unblockMode: "auto" or "on"). Other subdomains use a pure-HTTP solver path which is faster and cheaper.
The 5-page scroll cap is a DataDome trust-level limit. Full Phase 2 interstitial verification (which real browsers get) lifts the cap to 10+ pages. The unblocker covers the initial SERP fetch and session establishment; scroll pagination trust improvement is a separate initiative.
Pricing
This actor uses pay-per-result pricing:
| Event | Price |
|---|---|
| Per run | $0.005 |
| Per company (search only) | $0.003 |
| Per company (with details) | $0.005 |
Note: when unblockMode is auto or on, the datadome-session-minter sub-actor is charged separately to your Apify account (see DataDome unblocker section above for cost breakdown).
Notes
uk.kompass.comURLs are automatically mapped togb.kompass.com(Kompass redirects uk to gb) and all URLs are fetched over https.- Detail rows are billed at the detail price only when the company page yielded data (website, phone, email or address). Otherwise the row falls back to the search-result data and the search-result price.
- On PL pages Kompass shows website, phone and VAT only as a paid option, so those fields are mostly empty there.