{
  "data": {
    "id": "agk9jv5vejmlkFrqn",
    "actId": "WY0bmptmiK1TxCKqS",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-11-08T01:38:20.423Z",
    "finishedAt": "2026-11-08T01:38:31.817Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 11284,
      "runTimeSecs": 11.284,
      "computeUnits": 0.012537777777777778,
      "imageSizeBytes": 359837184
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Kompass Scraper Input\",\n  \"description\": \"Search or browse the Kompass global B2B directory, or fetch company profiles.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"Choose what to do: search by keyword, browse a country/type directory, browse activity/region URLs, or fetch profile URLs.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchCompanies\",\n        \"browseDirectory\",\n        \"browseCategoryOrRegion\",\n        \"companyDetails\"\n      ],\n      \"enumTitles\": [\n        \"Search companies by keyword\",\n        \"Browse a country/type directory\",\n        \"Browse category, region, activity, or sector URLs\",\n        \"Fetch details for company URLs or IDs\"\n      ],\n      \"default\": \"searchCompanies\",\n      \"prefill\": \"searchCompanies\"\n    },\n    \"query\": {\n      \"title\": \"Search query\",\n      \"type\": \"string\",\n      \"description\": \"Company name, product, or service keyword (mode=searchCompanies).\",\n      \"editor\": \"textfield\",\n      \"default\": \"pumps\",\n      \"prefill\": \"pumps\"\n    },\n    \"searchType\": {\n      \"title\": \"Search type\",\n      \"type\": \"string\",\n      \"description\": \"Match all text, company names only, or products/services only (mode=searchCompanies).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"all\",\n        \"companyName\",\n        \"products\"\n      ],\n      \"enumTitles\": [\n        \"All text\",\n        \"Company names\",\n        \"Products and services\"\n      ],\n      \"default\": \"all\",\n      \"prefill\": \"all\"\n    },\n    \"country\": {\n      \"title\": \"Country\",\n      \"type\": \"string\",\n      \"description\": \"Kompass market used for search and directory browsing, and to filter records to that country.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"AE\",\n        \"AM\",\n        \"AR\",\n        \"AT\",\n        \"AU\",\n        \"AZ\",\n        \"BE\",\n        \"BG\",\n        \"BR\",\n        \"CA\",\n        \"CH\",\n        \"CN\",\n        \"CO\",\n        \"CZ\",\n        \"DE\",\n        \"DK\",\n        \"DZ\",\n        \"EG\",\n        \"ES\",\n        \"FI\",\n        \"FR\",\n        \"GB\",\n        \"GE\",\n        \"GR\",\n        \"HK\",\n        \"HR\",\n        \"HU\",\n        \"IE\",\n        \"IN\",\n        \"IT\",\n        \"JP\",\n        \"KG\",\n        \"KR\",\n        \"LB\",\n        \"LU\",\n        \"LV\",\n        \"MA\",\n        \"MC\",\n        \"MD\",\n        \"MX\",\n        \"NL\",\n        \"NO\",\n        \"NZ\",\n        \"PE\",\n        \"PL\",\n        \"PT\",\n        \"RO\",\n        \"RS\",\n        \"SA\",\n        \"SE\",\n        \"SG\",\n        \"SI\",\n        \"SK\",\n        \"TH\",\n        \"TN\",\n        \"TR\",\n        \"TW\",\n        \"UA\",\n        \"US\",\n        \"VN\",\n        \"XK\",\n        \"ZA\"\n      ],\n      \"enumTitles\": [\n        \"United Arab Emirates\",\n        \"Armenia\",\n        \"Argentina\",\n        \"Austria\",\n        \"Australia\",\n        \"Azerbaijan\",\n        \"Belgium\",\n        \"Bulgaria\",\n        \"Brazil\",\n        \"Canada\",\n        \"Switzerland\",\n        \"China\",\n        \"Colombia\",\n        \"Czech Republic\",\n        \"Germany\",\n        \"Denmark\",\n        \"Algeria\",\n        \"Egypt\",\n        \"Spain\",\n        \"Finland\",\n        \"France\",\n        \"United Kingdom\",\n        \"Georgia\",\n        \"Greece\",\n        \"Hong Kong\",\n        \"Croatia\",\n        \"Hungary\",\n        \"Ireland\",\n        \"India\",\n        \"Italy\",\n        \"Japan\",\n        \"Kyrgyzstan\",\n        \"South Korea\",\n        \"Lebanon\",\n        \"Luxembourg\",\n        \"Latvia\",\n        \"Morocco\",\n        \"Monaco\",\n        \"Moldova\",\n        \"Mexico\",\n        \"Netherlands\",\n        \"Norway\",\n        \"New Zealand\",\n        \"Peru\",\n        \"Poland\",\n        \"Portugal\",\n        \"Romania\",\n        \"Serbia\",\n        \"Saudi Arabia\",\n        \"Sweden\",\n        \"Singapore\",\n        \"Slovenia\",\n        \"Slovakia\",\n        \"Thailand\",\n        \"Tunisia\",\n        \"Turkey\",\n        \"Taiwan\",\n        \"Ukraine\",\n        \"United States\",\n        \"Vietnam\",\n        \"Kosovo\",\n        \"South Africa\"\n      ],\n      \"default\": \"DE\",\n      \"prefill\": \"DE\"\n    },\n    \"companyType\": {\n      \"title\": \"Company type\",\n      \"type\": \"string\",\n      \"description\": \"Filter by company role. Directory mode opens the matching country path; search mode filters card roles.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"manufacturer\",\n        \"distributor\",\n        \"serviceProvider\",\n        \"importer\",\n        \"exporter\"\n      ],\n      \"enumTitles\": [\n        \"Any company type\",\n        \"Manufacturers / producers\",\n        \"Distributors\",\n        \"Service providers\",\n        \"Importers\",\n        \"Exporters\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"sector\": {\n      \"title\": \"Sector\",\n      \"type\": \"string\",\n      \"description\": \"Kompass sector used by mode=browseDirectory. Choose any to skip the sector path.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"agriculture-food\",\n        \"minerals\",\n        \"energy-environment\",\n        \"chemicals-pharmaceuticals-plastics\",\n        \"textiles-clothing-leather-watchmaking-jewellery\",\n        \"metals-machinery-engineering\",\n        \"paper-printing-publishing\",\n        \"electrical-electronics-optical\",\n        \"construction\",\n        \"transport-logistics\",\n        \"business-services\",\n        \"it-internet-r-d\",\n        \"retail-traders\",\n        \"education-training-organisations\",\n        \"leisure-tourism\"\n      ],\n      \"enumTitles\": [\n        \"Any sector\",\n        \"Agriculture & Food\",\n        \"Minerals\",\n        \"Energy & Environment\",\n        \"Chemicals, Pharmaceuticals & Plastics\",\n        \"Textiles, Clothing, Leather, Watchmaking & Jewellery\",\n        \"Metals, Machinery & Engineering\",\n        \"Paper, Printing & Publishing\",\n        \"Electrical, Electronics & Optical\",\n        \"Construction\",\n        \"Transport & Logistics\",\n        \"Business Services\",\n        \"IT, Internet & R&D\",\n        \"Retail & Traders\",\n        \"Education & Training Organisations\",\n        \"Leisure & Tourism\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"directoryUrls\": {\n      \"title\": \"Directory URLs\",\n      \"type\": \"array\",\n      \"description\": \"Activity, region, sector, producer, distributor, service, importer, or exporter URLs (mode=browseCategoryOrRegion). Paste page URLs from any Kompass country site.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"companyUrls\": {\n      \"title\": \"Company URLs or IDs\",\n      \"type\": \"array\",\n      \"description\": \"Kompass company profile URLs or bare Kompass IDs such as IT0050676 (mode=companyDetails).\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"includeDetails\": {\n      \"title\": \"Include company details\",\n      \"type\": \"boolean\",\n      \"description\": \"Fetch each company profile for contacts, address, legal IDs, executives, products, and catalogues. Turn this off for cheaper card-only searches.\",\n      \"default\": true,\n      \"prefill\": false\n    },\n    \"maxItems\": {\n      \"title\": \"Max items\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of company records to return. Status rows do not count toward this limit.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 100,\n      \"prefill\": 1\n    },\n    \"maxPages\": {\n      \"title\": \"Max search pages\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum live keyword-search pages to read (mode=searchCompanies). Kompass exposes about five pages per keyword.\",\n      \"minimum\": 1,\n      \"maximum\": 5,\n      \"default\": 5,\n      \"prefill\": 1\n    },\n    \"archivePages\": {\n      \"title\": \"Max archive index pages\",\n      \"type\": \"integer\",\n      \"description\": \"Wayback CDX index pages to scan per market when live pages are blocked (mode=searchCompanies). Each page holds about 1,700 archived company URLs.\",\n      \"minimum\": 1,\n      \"maximum\": 64,\n      \"default\": 8,\n      \"prefill\": 1\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Kompass B2B Company & Supplier Scraper\n\nScrape **Kompass** — a global B2B directory of manufacturers, distributors, service providers, importers, and exporters. Search 62 country markets by keyword, product, or company name; browse country/type directories, sectors, activities, and regions; or fetch complete profiles from company URLs and IDs. Live pages are tried first, then archived snapshots from the Wayback Machine keep the run productive when Kompass blocks automated traffic. Records include contacts, address, geo, legal identifiers, activities, certifications, executives, products, catalogues, and social profiles.\n\n## What this actor does\n\n- **Four modes:** `searchCompanies`, `browseDirectory`, `browseCategoryOrRegion`, and `companyDetails`\n- **62 Kompass markets** with a country dropdown and automatic country filtering\n- **Company-type paths:** manufacturer, distributor, service provider, importer, and exporter\n- **15 sectors** plus activity and region page URLs for deeper lists\n- **Live first, archive fallback** — a cheap direct/datacenter probe runs once; blocked pages switch to Wayback CDX and snapshots automatically\n- **Conditional enrichment** — card-only runs are fast and cheap; `includeDetails` adds the full profile\n- **Omit-empty records** — fields with no source value are left out, never returned as `null`\n\n## Output per company\n\n- `companyId`, `companyName`, `slug`, `companyUrl`\n- `country`, `countryCode`, `city`, `street`, `postalCode`\n- `latitude`, `longitude`, `mapUrl`\n- `phone`, `phones[]`, `fax`, `email`\n- `websiteUrl`, `socialProfiles[]`, `logoUrl`\n- `description`, `companyTypes[]`\n- `employees`, `employeeCount`, `employeeRange`, `yearEstablished`\n- `legalForm`, `corporateCapital`, `registrationNumber`, `vatNumber`, `siteType`\n- `activities[]`, `activityCodes[]`, `industryCodes[]`\n- `certifications`, `certificationsList[]`, `isCertified`\n- `executives[]` — `name`, `role`, `linkedinUrl`, `languages`\n- `products`, `productSamples[]`, `productCount`, `productsUrl`\n- `catalogues[]` — `name`, `pages`, `pdfUrl`\n- `videos[]`\n- `searchQuery`, `searchType`\n- `sourceUrl`, `sourceMarket`\n- `dataSource` — `live` or `wayback`\n- `archivedAt` — Wayback capture timestamp (only when `dataSource` is `wayback`)\n- `recordType: \"company\"`, `scrapedAt`\n\n`certifications` and `products` remain strings for backward compatibility; the array forms sit beside them. `revenue` and `contactName` remain in the record shape but are omitted because Kompass does not publish them on public profiles.\n\n## Output status rows\n\nA run can include `recordType: \"status\"` rows for honest partial failures:\n\n- `status` — `invalid_input`, `not_found`, `blocked`, `no_results`, `source_cap`, `parse_drift`, `archive_miss`, or `archive_partial`\n- `message` — plain-language explanation\n- `sourceUrl` — the page that produced the status\n\nStatus rows do not count toward `maxItems`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchCompanies` | `searchCompanies`, `browseDirectory`, `browseCategoryOrRegion`, or `companyDetails` |\n| `query` | string | `pumps` | Company name, product, or service keyword (mode `searchCompanies`) |\n| `searchType` | string | `all` | `all`, `companyName`, or `products` (mode `searchCompanies`) |\n| `country` | string | `DE` | One of 62 Kompass markets; used for search and directory browsing |\n| `companyType` | string | `any` | `any`, `manufacturer`, `distributor`, `serviceProvider`, `importer`, or `exporter` |\n| `sector` | string | `any` | One of 15 sectors or `any` (mode `browseDirectory`) |\n| `directoryUrls` | array | `[]` | `/a/`, `/r/`, `/s/`, `/x/`, or `/y/` URLs (mode `browseCategoryOrRegion`) |\n| `companyUrls` | array | `[]` | Profile URLs or bare IDs such as `IT0050676` (mode `companyDetails`) |\n| `includeDetails` | boolean | `true` | Fetch full profiles; turn off for cheaper card-only results |\n| `maxItems` | integer | `100` | Company-record cap, 1–1000 |\n| `maxPages` | integer | `5` | Live keyword-search page cap, 1–5 |\n| `archivePages` | integer | `8` | Wayback CDX index pages to scan per market when live search is blocked, 1–64 |\n\n### Example: keyword search in one country\n\n```json\n{\n  \"mode\": \"searchCompanies\",\n  \"query\": \"industrial pumps\",\n  \"searchType\": \"products\",\n  \"country\": \"DE\",\n  \"includeDetails\": true,\n  \"maxItems\": 50,\n  \"maxPages\": 3,\n  \"archivePages\": 8\n}\n```\n\n### Example: browse manufacturers in a sector\n\n```json\n{\n  \"mode\": \"browseDirectory\",\n  \"country\": \"IT\",\n  \"companyType\": \"manufacturer\",\n  \"sector\": \"metals-machinery-engineering\",\n  \"includeDetails\": true,\n  \"maxItems\": 60\n}\n```\n\n### Example: browse a region and an activity\n\n```json\n{\n  \"mode\": \"browseCategoryOrRegion\",\n  \"directoryUrls\": [\n    \"https://us.kompass.com/r/california-united-states/us_06/\",\n    \"https://de.kompass.com/a/teile-und-zubehor-fur-landwirtschaftliche-maschinen/48570/\"\n  ],\n  \"includeDetails\": false,\n  \"maxItems\": 100\n}\n```\n\n### Example: fetch specific company profiles\n\n```json\n{\n  \"mode\": \"companyDetails\",\n  \"companyUrls\": [\n    \"https://fr.kompass.com/c/ipo-technologie/fr8380178/\",\n    \"https://it.kompass.com/c/gai-macchine-imbottigliatrici/it0009821/\",\n    \"IN490090\"\n  ],\n  \"maxItems\": 3\n}\n```\n\n## Live and archived data\n\nEach run tries a cheap live connection first. If Kompass returns a DataDome/login page, the actor switches to the Wayback Machine:\n\n- **Search** reads the Wayback CDX index for the selected market (`de.kompass.com/c/*`, `us.kompass.com/c/*`, and so on), filters archived company URLs by keyword stems and market, and fetches up to `maxItems` snapshots when `includeDetails` is on.\n- **Profiles and directory URLs** fetch `https://web.archive.org/web/<timestamp>id_/<original>`, so the original server-rendered HTML and JSON-LD are parsed by the same extractors as live pages.\n- **Provenance** is explicit: records carry `dataSource: \"live\"` or `\"wayback\"`, and archived records also carry `archivedAt`.\n- **Coverage is partial.** Archive density varies by market and year. At the time of writing, the CDX index had about 26 pages for `de.kompass.com/c/*` and 64 for `us.kompass.com/c/*`, with roughly 1,700 collapsed company URLs per page.\n- **Snapshots are historical.** An archived profile reflects the capture timestamp, not today: contacts, employees, products, and certifications may be outdated, and some companies have since closed. Check `archivedAt` before using a record for time-sensitive outreach.\n- **No credentials.** The Wayback Machine is public; the actor never asks for a Kompass login, cookie, proxy, or API key.\n\n## Use cases\n\n- **B2B lead generation** — build country and product lists with phone, email, and website where published\n- **Supplier sourcing** — shortlist manufacturers that publish the certifications a buyer requires\n- **Market mapping** — compare company counts and roles across countries, sectors, and regions\n- **Trade research** — find importers and exporters in a target market\n- **CRM enrichment** — append address, legal identifiers, activities, and executives to known accounts\n- **Competitive tracking** — monitor catalogues, products, and profile changes over time\n\n## FAQ\n\n### Is this affiliated with Kompass?\n\nNo. This is an independent, third-party actor that reads publicly visible Kompass pages. It is not operated by or affiliated with Kompass.\n\n### Do I need a Kompass account or a proxy?\n\nNo account, login, cookie, or proxy setup is required. The actor chooses a working connection to Kompass automatically.\n\n### Why did a run return a blocked status?\n\nKompass sometimes serves a login or rate-limit page to automated requests. The actor records a `blocked` status row instead of inventing company data. When archive fallback is also unavailable, wait and rerun, or use a smaller `maxItems`/`maxPages` request.\n\n### Why do some records have `dataSource: \"wayback\"`?\n\nKompass blocks some networks with DataDome. The actor then reads the public Wayback Machine index and snapshots, parses the same server-rendered fields, and marks each record with `dataSource` and `archivedAt`. Live records use `dataSource: \"live\"`.\n\n### Why are archived results missing companies I can see on Kompass today?\n\nWayback only has snapshots that were captured. Archive density differs by country and year, so a keyword, directory URL, or company profile may simply never have been archived. `archive_miss` and `archive_partial` status rows explain those gaps; raising `archivePages` scans more of the index for `searchCompanies`.\n\n### Why are some fields missing from a company?\n\nKompass publishes different fields per market and per company. Employees, email, fax, legal identifiers, certifications, social profiles, catalogues, and executives are conditional; a missing value is omitted rather than filled with `null`.\n\n### Why are executives missing for some countries?\n\nKompass gates named executives behind its paid EasyBusiness product in several markets. Public executive lists are still captured where the profile shows them.\n\n### Why does a keyword search stop at about 100 companies?\n\nKompass limits guest keyword search to roughly five pages. For deeper coverage, use `browseDirectory` with a sector, or supply activity and region URLs in `browseCategoryOrRegion`.\n\n### Why do search results include companies from other countries?\n\nKompass search is relevance-ranked and can mix nearby or global companies. The actor filters records to the selected `country` when the card or profile identifies a country. If a card has no country marker, it is kept rather than dropped.\n\n### What is the difference between `browseDirectory` and `browseCategoryOrRegion`?\n\n`browseDirectory` builds the URL for you from `country`, `companyType`, and `sector`. `browseCategoryOrRegion` accepts the exact activity, region, sector, or directory URLs you paste, including page-2 and deeper URLs.\n\n### Can I pass company IDs instead of URLs?\n\nYes. `companyDetails` accepts full profile URLs on any Kompass country site and bare Kompass IDs such as `IT0050676` or `DEEX226855`.\n\n### Are status rows errors?\n\nNo. They explain a partial result, such as a company profile that was removed, a page that could not be reached, or a keyword-search cap. Other companies in the same run are still returned.\n\n### How current is the data?\n\nLive records reflect what Kompass publishes at run time. When the live site is blocked, records come from Wayback snapshots and reflect the capture time shown in `archivedAt`. Treat archived contacts, employee counts, products, and certifications as historical rather than current.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "global-b2b-supplier-finder-by-product-and-country",
      "title": "Kompass B2B Company & Supplier Scraper",
      "description": "Search 62 Kompass markets by keyword, product, company name, sector, region, or company type. Export contacts, addresses, geo, legal IDs, certifications, executives, products, and catalogues, with archived snapshots when live pages are blocked.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# Kompass B2B Company & Supplier Scraper\n\nScrape **Kompass** — a global B2B directory of manufacturers, distributors, service providers, importers, and exporters. Search 62 country markets by keyword, product, or company name; browse country/type directories, sectors, activities, and regions; or fetch complete profiles from company URLs and IDs. Live pages are tried first, then archived snapshots from the Wayback Machine keep the run productive when Kompass blocks automated traffic. Records include contacts, address, geo, legal identifiers, activities, certifications, executives, products, catalogues, and social profiles.\n\n## What this actor does\n\n- **Four modes:** `searchCompanies`, `browseDirectory`, `browseCategoryOrRegion`, and `companyDetails`\n- **62 Kompass markets** with a country dropdown and automatic country filtering\n- **Company-type paths:** manufacturer, distributor, service provider, importer, and exporter\n- **15 sectors** plus activity and region page URLs for deeper lists\n- **Live first, archive fallback** — a cheap direct/datacenter probe runs once; blocked pages switch to Wayback CDX and snapshots automatically\n- **Conditional enrichment** — card-only runs are fast and cheap; `includeDetails` adds the full profile\n- **Omit-empty records** — fields with no source value are left out, never returned as `null`\n\n## Output per company\n\n- `companyId`, `companyName`, `slug`, `companyUrl`\n- `country`, `countryCode`, `city`, `street`, `postalCode`\n- `latitude`, `longitude`, `mapUrl`\n- `phone`, `phones[]`, `fax`, `email`\n- `websiteUrl`, `socialProfiles[]`, `logoUrl`\n- `description`, `companyTypes[]`\n- `employees`, `employeeCount`, `employeeRange`, `yearEstablished`\n- `legalForm`, `corporateCapital`, `registrationNumber`, `vatNumber`, `siteType`\n- `activities[]`, `activityCodes[]`, `industryCodes[]`\n- `certifications`, `certificationsList[]`, `isCertified`\n- `executives[]` — `name`, `role`, `linkedinUrl`, `languages`\n- `products`, `productSamples[]`, `productCount`, `productsUrl`\n- `catalogues[]` — `name`, `pages`, `pdfUrl`\n- `videos[]`\n- `searchQuery`, `searchType`\n- `sourceUrl`, `sourceMarket`\n- `dataSource` — `live` or `wayback`\n- `archivedAt` — Wayback capture timestamp (only when `dataSource` is `wayback`)\n- `recordType: \"company\"`, `scrapedAt`\n\n`certifications` and `products` remain strings for backward compatibility; the array forms sit beside them. `revenue` and `contactName` remain in the record shape but are omitted because Kompass does not publish them on public profiles.\n\n## Output status rows\n\nA run can include `recordType: \"status\"` rows for honest partial failures:\n\n- `status` — `invalid_input`, `not_found`, `blocked`, `no_results`, `source_cap`, `parse_drift`, `archive_miss`, or `archive_partial`\n- `message` — plain-language explanation\n- `sourceUrl` — the page that produced the status\n\nStatus rows do not count toward `maxItems`.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchCompanies` | `searchCompanies`, `browseDirectory`, `browseCategoryOrRegion`, or `companyDetails` |\n| `query` | string | `pumps` | Company name, product, or service keyword (mode `searchCompanies`) |\n| `searchType` | string | `all` | `all`, `companyName`, or `products` (mode `searchCompanies`) |\n| `country` | string | `DE` | One of 62 Kompass markets; used for search and directory browsing |\n| `companyType` | string | `any` | `any`, `manufacturer`, `distributor`, `serviceProvider`, `importer`, or `exporter` |\n| `sector` | string | `any` | One of 15 sectors or `any` (mode `browseDirectory`) |\n| `directoryUrls` | array | `[]` | `/a/`, `/r/`, `/s/`, `/x/`, or `/y/` URLs (mode `browseCategoryOrRegion`) |\n| `companyUrls` | array | `[]` | Profile URLs or bare IDs such as `IT0050676` (mode `companyDetails`) |\n| `includeDetails` | boolean | `true` | Fetch full profiles; turn off for cheaper card-only results |\n| `maxItems` | integer | `100` | Company-record cap, 1–1000 |\n| `maxPages` | integer | `5` | Live keyword-search page cap, 1–5 |\n| `archivePages` | integer | `8` | Wayback CDX index pages to scan per market when live search is blocked, 1–64 |\n\n### Example: keyword search in one country\n\n```json\n{\n  \"mode\": \"searchCompanies\",\n  \"query\": \"industrial pumps\",\n  \"searchType\": \"products\",\n  \"country\": \"DE\",\n  \"includeDetails\": true,\n  \"maxItems\": 50,\n  \"maxPages\": 3,\n  \"archivePages\": 8\n}\n```\n\n### Example: browse manufacturers in a sector\n\n```json\n{\n  \"mode\": \"browseDirectory\",\n  \"country\": \"IT\",\n  \"companyType\": \"manufacturer\",\n  \"sector\": \"metals-machinery-engineering\",\n  \"includeDetails\": true,\n  \"maxItems\": 60\n}\n```\n\n### Example: browse a region and an activity\n\n```json\n{\n  \"mode\": \"browseCategoryOrRegion\",\n  \"directoryUrls\": [\n    \"https://us.kompass.com/r/california-united-states/us_06/\",\n    \"https://de.kompass.com/a/teile-und-zubehor-fur-landwirtschaftliche-maschinen/48570/\"\n  ],\n  \"includeDetails\": false,\n  \"maxItems\": 100\n}\n```\n\n### Example: fetch specific company profiles\n\n```json\n{\n  \"mode\": \"companyDetails\",\n  \"companyUrls\": [\n    \"https://fr.kompass.com/c/ipo-technologie/fr8380178/\",\n    \"https://it.kompass.com/c/gai-macchine-imbottigliatrici/it0009821/\",\n    \"IN490090\"\n  ],\n  \"maxItems\": 3\n}\n```\n\n## Live and archived data\n\nEach run tries a cheap live connection first. If Kompass returns a DataDome/login page, the actor switches to the Wayback Machine:\n\n- **Search** reads the Wayback CDX index for the selected market (`de.kompass.com/c/*`, `us.kompass.com/c/*`, and so on), filters archived company URLs by keyword stems and market, and fetches up to `maxItems` snapshots when `includeDetails` is on.\n- **Profiles and directory URLs** fetch `https://web.archive.org/web/<timestamp>id_/<original>`, so the original server-rendered HTML and JSON-LD are parsed by the same extractors as live pages.\n- **Provenance** is explicit: records carry `dataSource: \"live\"` or `\"wayback\"`, and archived records also carry `archivedAt`.\n- **Coverage is partial.** Archive density varies by market and year. At the time of writing, the CDX index had about 26 pages for `de.kompass.com/c/*` and 64 for `us.kompass.com/c/*`, with roughly 1,700 collapsed company URLs per page.\n- **Snapshots are historical.** An archived profile reflects the capture timestamp, not today: contacts, employees, products, and certifications may be outdated, and some companies have since closed. Check `archivedAt` before using a record for time-sensitive outreach.\n- **No credentials.** The Wayback Machine is public; the actor never asks for a Kompass login, cookie, proxy, or API key.\n\n## Use cases\n\n- **B2B lead generation** — build country and product lists with phone, email, and website where published\n- **Supplier sourcing** — shortlist manufacturers that publish the certifications a buyer requires\n- **Market mapping** — compare company counts and roles across countries, sectors, and regions\n- **Trade research** — find importers and exporters in a target market\n- **CRM enrichment** — append address, legal identifiers, activities, and executives to known accounts\n- **Competitive tracking** — monitor catalogues, products, and profile changes over time\n\n## FAQ\n\n### Is this affiliated with Kompass?\n\nNo. This is an independent, third-party actor that reads publicly visible Kompass pages. It is not operated by or affiliated with Kompass.\n\n### Do I need a Kompass account or a proxy?\n\nNo account, login, cookie, or proxy setup is required. The actor chooses a working connection to Kompass automatically.\n\n### Why did a run return a blocked status?\n\nKompass sometimes serves a login or rate-limit page to automated requests. The actor records a `blocked` status row instead of inventing company data. When archive fallback is also unavailable, wait and rerun, or use a smaller `maxItems`/`maxPages` request.\n\n### Why do some records have `dataSource: \"wayback\"`?\n\nKompass blocks some networks with DataDome. The actor then reads the public Wayback Machine index and snapshots, parses the same server-rendered fields, and marks each record with `dataSource` and `archivedAt`. Live records use `dataSource: \"live\"`.\n\n### Why are archived results missing companies I can see on Kompass today?\n\nWayback only has snapshots that were captured. Archive density differs by country and year, so a keyword, directory URL, or company profile may simply never have been archived. `archive_miss` and `archive_partial` status rows explain those gaps; raising `archivePages` scans more of the index for `searchCompanies`.\n\n### Why are some fields missing from a company?\n\nKompass publishes different fields per market and per company. Employees, email, fax, legal identifiers, certifications, social profiles, catalogues, and executives are conditional; a missing value is omitted rather than filled with `null`.\n\n### Why are executives missing for some countries?\n\nKompass gates named executives behind its paid EasyBusiness product in several markets. Public executive lists are still captured where the profile shows them.\n\n### Why does a keyword search stop at about 100 companies?\n\nKompass limits guest keyword search to roughly five pages. For deeper coverage, use `browseDirectory` with a sector, or supply activity and region URLs in `browseCategoryOrRegion`.\n\n### Why do search results include companies from other countries?\n\nKompass search is relevance-ranked and can mix nearby or global companies. The actor filters records to the selected `country` when the card or profile identifies a country. If a card has no country marker, it is kept rather than dropped.\n\n### What is the difference between `browseDirectory` and `browseCategoryOrRegion`?\n\n`browseDirectory` builds the URL for you from `country`, `companyType`, and `sector`. `browseCategoryOrRegion` accepts the exact activity, region, sector, or directory URLs you paste, including page-2 and deeper URLs.\n\n### Can I pass company IDs instead of URLs?\n\nYes. `companyDetails` accepts full profile URLs on any Kompass country site and bare Kompass IDs such as `IT0050676` or `DEEX226855`.\n\n### Are status rows errors?\n\nNo. They explain a partial result, such as a company profile that was removed, a page that could not be reached, or a keyword-search cap. Other companies in the same run are still returned.\n\n### How current is the data?\n\nLive records reflect what Kompass publishes at run time. When the live site is blocked, records come from Wayback snapshots and reflect the capture time shown in `archivedAt`. Treat archived contacts, employee counts, products, and certifications as historical rather than current.\n",
      "input": {
        "title": "Kompass Scraper Input",
        "description": "Search or browse the Kompass global B2B directory, or fetch company profiles.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Choose what to do: search by keyword, browse a country/type directory, browse activity/region URLs, or fetch profile URLs.",
            "editor": "select",
            "enum": [
              "searchCompanies",
              "browseDirectory",
              "browseCategoryOrRegion",
              "companyDetails"
            ],
            "enumTitles": [
              "Search companies by keyword",
              "Browse a country/type directory",
              "Browse category, region, activity, or sector URLs",
              "Fetch details for company URLs or IDs"
            ],
            "default": "searchCompanies",
            "prefill": "searchCompanies"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Company name, product, or service keyword (mode=searchCompanies).",
            "editor": "textfield",
            "default": "pumps",
            "prefill": "pumps"
          },
          "searchType": {
            "title": "Search type",
            "type": "string",
            "description": "Match all text, company names only, or products/services only (mode=searchCompanies).",
            "editor": "select",
            "enum": [
              "all",
              "companyName",
              "products"
            ],
            "enumTitles": [
              "All text",
              "Company names",
              "Products and services"
            ],
            "default": "all",
            "prefill": "all"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Kompass market used for search and directory browsing, and to filter records to that country.",
            "editor": "select",
            "enum": [
              "AE",
              "AM",
              "AR",
              "AT",
              "AU",
              "AZ",
              "BE",
              "BG",
              "BR",
              "CA",
              "CH",
              "CN",
              "CO",
              "CZ",
              "DE",
              "DK",
              "DZ",
              "EG",
              "ES",
              "FI",
              "FR",
              "GB",
              "GE",
              "GR",
              "HK",
              "HR",
              "HU",
              "IE",
              "IN",
              "IT",
              "JP",
              "KG",
              "KR",
              "LB",
              "LU",
              "LV",
              "MA",
              "MC",
              "MD",
              "MX",
              "NL",
              "NO",
              "NZ",
              "PE",
              "PL",
              "PT",
              "RO",
              "RS",
              "SA",
              "SE",
              "SG",
              "SI",
              "SK",
              "TH",
              "TN",
              "TR",
              "TW",
              "UA",
              "US",
              "VN",
              "XK",
              "ZA"
            ],
            "enumTitles": [
              "United Arab Emirates",
              "Armenia",
              "Argentina",
              "Austria",
              "Australia",
              "Azerbaijan",
              "Belgium",
              "Bulgaria",
              "Brazil",
              "Canada",
              "Switzerland",
              "China",
              "Colombia",
              "Czech Republic",
              "Germany",
              "Denmark",
              "Algeria",
              "Egypt",
              "Spain",
              "Finland",
              "France",
              "United Kingdom",
              "Georgia",
              "Greece",
              "Hong Kong",
              "Croatia",
              "Hungary",
              "Ireland",
              "India",
              "Italy",
              "Japan",
              "Kyrgyzstan",
              "South Korea",
              "Lebanon",
              "Luxembourg",
              "Latvia",
              "Morocco",
              "Monaco",
              "Moldova",
              "Mexico",
              "Netherlands",
              "Norway",
              "New Zealand",
              "Peru",
              "Poland",
              "Portugal",
              "Romania",
              "Serbia",
              "Saudi Arabia",
              "Sweden",
              "Singapore",
              "Slovenia",
              "Slovakia",
              "Thailand",
              "Tunisia",
              "Turkey",
              "Taiwan",
              "Ukraine",
              "United States",
              "Vietnam",
              "Kosovo",
              "South Africa"
            ],
            "default": "DE",
            "prefill": "DE"
          },
          "companyType": {
            "title": "Company type",
            "type": "string",
            "description": "Filter by company role. Directory mode opens the matching country path; search mode filters card roles.",
            "editor": "select",
            "enum": [
              "any",
              "manufacturer",
              "distributor",
              "serviceProvider",
              "importer",
              "exporter"
            ],
            "enumTitles": [
              "Any company type",
              "Manufacturers / producers",
              "Distributors",
              "Service providers",
              "Importers",
              "Exporters"
            ],
            "default": "any",
            "prefill": "any"
          },
          "sector": {
            "title": "Sector",
            "type": "string",
            "description": "Kompass sector used by mode=browseDirectory. Choose any to skip the sector path.",
            "editor": "select",
            "enum": [
              "any",
              "agriculture-food",
              "minerals",
              "energy-environment",
              "chemicals-pharmaceuticals-plastics",
              "textiles-clothing-leather-watchmaking-jewellery",
              "metals-machinery-engineering",
              "paper-printing-publishing",
              "electrical-electronics-optical",
              "construction",
              "transport-logistics",
              "business-services",
              "it-internet-r-d",
              "retail-traders",
              "education-training-organisations",
              "leisure-tourism"
            ],
            "enumTitles": [
              "Any sector",
              "Agriculture & Food",
              "Minerals",
              "Energy & Environment",
              "Chemicals, Pharmaceuticals & Plastics",
              "Textiles, Clothing, Leather, Watchmaking & Jewellery",
              "Metals, Machinery & Engineering",
              "Paper, Printing & Publishing",
              "Electrical, Electronics & Optical",
              "Construction",
              "Transport & Logistics",
              "Business Services",
              "IT, Internet & R&D",
              "Retail & Traders",
              "Education & Training Organisations",
              "Leisure & Tourism"
            ],
            "default": "any",
            "prefill": "any"
          },
          "directoryUrls": {
            "title": "Directory URLs",
            "type": "array",
            "description": "Activity, region, sector, producer, distributor, service, importer, or exporter URLs (mode=browseCategoryOrRegion). Paste page URLs from any Kompass country site.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "companyUrls": {
            "title": "Company URLs or IDs",
            "type": "array",
            "description": "Kompass company profile URLs or bare Kompass IDs such as IT0050676 (mode=companyDetails).",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "includeDetails": {
            "title": "Include company details",
            "type": "boolean",
            "description": "Fetch each company profile for contacts, address, legal IDs, executives, products, and catalogues. Turn this off for cheaper card-only searches.",
            "default": true,
            "prefill": false
          },
          "maxItems": {
            "title": "Max items",
            "type": "integer",
            "description": "Maximum number of company records to return. Status rows do not count toward this limit.",
            "minimum": 1,
            "maximum": 1000,
            "default": 100,
            "prefill": 1
          },
          "maxPages": {
            "title": "Max search pages",
            "type": "integer",
            "description": "Maximum live keyword-search pages to read (mode=searchCompanies). Kompass exposes about five pages per keyword.",
            "minimum": 1,
            "maximum": 5,
            "default": 5,
            "prefill": 1
          },
          "archivePages": {
            "title": "Max archive index pages",
            "type": "integer",
            "description": "Wayback CDX index pages to scan per market when live pages are blocked (mode=searchCompanies). Each page holds about 1,700 archived company URLs.",
            "minimum": 1,
            "maximum": 64,
            "default": 8,
            "prefill": 1
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Kompass B2B Company & Supplier Scraper Output",
        "description": "Kompass company records with identity, contacts, address, geo, legal identifiers, activities, certifications, executives, products, catalogues, dataSource/archivedAt provenance, and explicit status rows.",
        "properties": {
          "companies": {
            "type": "string",
            "title": "Kompass companies",
            "description": "Dataset containing Kompass company records and status rows.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Kompass Companies",
              "transformation": {
                "fields": [
                  "companyName",
                  "country",
                  "city",
                  "companyTypes",
                  "employees",
                  "email",
                  "phone",
                  "companyUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {}
    },
    "buildNumber": "1.0.2",
    "imageDigest": "f07186b79b1df15332e1cbe5bde5dfae033f4cd24b659ef31bd3cf7dc0cf73fa",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.012537777777777778
    }
  }
}