{
  "openapi": "3.0.1",
  "info": {
    "title": "Kompass Scraper & API: Company Database, Phones & Emails",
    "description": "Scrape kompass.com without login: B2B companies, manufacturers and suppliers worldwide by keyword, country, search link or company link. Phone, website, headcount, founding year, VAT ID, register number and emails found on company websites. Past the 100 companies a search shows.",
    "version": "0.1",
    "x-build-id": "d3zmUYFRCFRCO3TW7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~kompass-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-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/s_actors~kompass-scraper/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-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/s_actors~kompass-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-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": "Keywords",
            "type": "array",
            "description": "What the companies make or offer, like the Kompass search box: \"screws\", \"Schrauben\", \"packaging\", \"CNC machining\". One search per keyword (filters below apply). kompass.com links work here too.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Kompass links",
            "type": "array",
            "description": "Search links (kompass.com/searchCompanies?text=...) use the keyword (and country) of the link; company links (kompass.com/c/<name>/<id>/) give one row each.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter codes of the company countries (DE, AT, CH, FR, IT, ES, GB, PL...). Empty = all countries. Several countries = one search each, which also reaches past the 100 companies a single search shows.",
            "items": {
              "type": "string"
            }
          },
          "supplierKinds": {
            "title": "Company kinds",
            "type": "array",
            "description": "Only manufacturers, distributors or service providers. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "producer",
                "distributor",
                "service"
              ],
              "enumTitles": [
                "Manufacturer",
                "Distributor",
                "Service provider"
              ]
            }
          },
          "employees": {
            "title": "Company size (Kompass codes)",
            "type": "array",
            "description": "Kompass headcount classes: 0 = not given, 1 = up to 9, 2 = 10-19, 3 = 20-49, 4 = 50-99, 5-9 = larger classes. Used to cut a big search into parts. Empty = all sizes.",
            "items": {
              "type": "string",
              "enum": [
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9"
              ]
            }
          },
          "maxCompaniesPerQuery": {
            "title": "Max companies per keyword",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "For each keyword and search link. Kompass shows a visitor 100 companies per search: above that the search is split by country, company kind and size to reach more.",
            "default": 100
          },
          "maxCompanies": {
            "title": "Max companies in total",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops at this many companies.",
            "default": 1000
          },
          "includeDetails": {
            "title": "Company page details",
            "type": "boolean",
            "description": "Read each company page: phone, website, headcount, founding year, VAT ID, register number, capital, legal form, keywords, coordinates. Charged per company page read. Without it the list only has name, country, city and activities.",
            "default": true
          },
          "findEmails": {
            "title": "Find emails on company websites",
            "type": "boolean",
            "description": "Kompass does not show email addresses: open the company website (and its contact or imprint page) to find them, plus LinkedIn, Facebook, Instagram, X and YouTube links. Needs the company page details (the website comes from there). Charged only for companies with an email found.",
            "default": true
          },
          "checkEmailDomains": {
            "title": "Check email mail servers",
            "type": "boolean",
            "description": "Drop emails whose domain cannot receive mail (no MX record).",
            "default": true
          },
          "onlyWithEmail": {
            "title": "Only companies with an email",
            "type": "boolean",
            "description": "Output only companies with an email found (the others are free).",
            "default": false
          },
          "onlyNew": {
            "title": "Only new companies",
            "type": "boolean",
            "description": "Output only companies not seen in the previous runs of the same search (and monitor name). Schedule it weekly to get new companies of a keyword.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps the memory of seen companies apart for different schedules."
          },
          "maxConcurrency": {
            "title": "Parallel sessions",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Browser sessions (residential German IPs) working at the same time. More is faster for big runs and uses more memory.",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}