{
  "openapi": "3.0.1",
  "info": {
    "title": "Kompass Scraper - Global B2B Company Directory",
    "description": "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.",
    "version": "1.4",
    "x-build-id": "E45XxpdMWco4uOvFR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/santamaria-automations~kompass-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-santamaria-automations-kompass-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/santamaria-automations~kompass-scraper/runs": {
      "post": {
        "operationId": "runs-sync-santamaria-automations-kompass-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/santamaria-automations~kompass-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-santamaria-automations-kompass-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchQueries": {
            "title": "Search Queries",
            "type": "array",
            "description": "One or more search keywords (e.g. [\"logistics\", \"software\"]). Each keyword is scraped as a separate search on the Kompass subdomain for the chosen country. Takes precedence over searchQuery. Use this for programmatic / API access.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search URLs or Company URLs",
            "type": "array",
            "description": "One or more Kompass URLs. Three forms are supported:\n\n1) Search URLs -- e.g. https://de.kompass.com/searchCompanies?text=software -- paginate through results.\n2) Category URLs -- e.g. https://pl.kompass.com/en/a/logistics/25535/ -- return 81 companies per URL in one request (5x higher yield than search pages). RECOMMENDED for bulk scraping. Routes through session-minter fetch-html when unblockMode is auto or on.\n3) Company profile URLs -- e.g. https://in.kompass.com/c/rolex-rings-private-limited/in774979/ -- fetch a single company full profile directly. Useful for cheap dedupe workflows.\n\nWorks with any country domain (de., fr., gb., pl., in., us., etc.).",
            "items": {
              "type": "string"
            }
          },
          "searchQuery": {
            "title": "Search Query (single keyword)",
            "type": "string",
            "description": "Single search keyword. Legacy field kept for backwards compatibility. Prefer searchQueries (array) for new integrations."
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "ISO country code (e.g. 'DE', 'PL', 'FR', 'IN'). When searchQueries or searchQuery is set, this picks the Kompass subdomain (pl.kompass.com for PL, de.kompass.com for DE, etc.). When searchUrls is set, it acts as a post-filter that drops SERP results not matching the target country. Leave blank to return all results from the default DE subdomain."
          },
          "maxResults": {
            "title": "Maximum Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of companies to scrape in total across all queries.",
            "default": 20
          },
          "maxResultsPerQuery": {
            "title": "Maximum Results Per Query",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Alias for maxResults. When both are provided, maxResultsPerQuery takes precedence. Useful when calling the actor programmatically with searchQueries[]."
          },
          "unblockMode": {
            "title": "DataDome unblocker",
            "enum": [
              "off",
              "auto",
              "on"
            ],
            "type": "string",
            "description": "Uses our datadome-session-minter sub-actor to unblock protected Kompass subdomains (PL, DE). NOTE: sub-actor CU is charged to your Apify bill separately (~$0.06 per fresh mint, ~$0.001 per cached hit). See README for full cost breakdown.",
            "default": "off"
          },
          "includeDetails": {
            "title": "Include Full Details",
            "type": "boolean",
            "description": "Fetch each company's detail page for full address, email, coordinates, employee count, founding year, and more. Slower but much richer data.",
            "default": true
          },
          "fetchCatalogueLinks": {
            "title": "Fetch Catalogue Links",
            "type": "boolean",
            "description": "When enabled, the scraper makes an extra request to the company's media page to find direct PDF catalogue download links. Increases request count slightly but provides direct download URLs where available.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}