{
  "openapi": "3.0.1",
  "info": {
    "title": "Europages Scraper & API: B2B Supplier Leads & Emails",
    "description": "Scrape Europages without login: B2B suppliers and manufacturers by keyword, search link or company link. Phone, website, address, headcount, VAT ID, contact persons, certificates and emails from company websites. Country, supplier type and size filters.",
    "version": "0.1",
    "x-build-id": "JLPokrasLxXZ4dMx8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/s_actors~europages-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-s_actors-europages-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~europages-scraper/runs": {
      "post": {
        "operationId": "runs-sync-s_actors-europages-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~europages-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-s_actors-europages-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 suppliers make or offer, like the Europages search box: \"packaging\", \"steel pipes\", \"industrial valves\", \"web design\". One search per keyword (filters below apply). Europages links work here too.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Europages links",
            "type": "array",
            "description": "Search links (europages.co.uk/en/search?q=...&countries=DE_IT, /search/supplier-type/..., /companies/<country>/<keyword>.html) keep their own filters; company links (europages.xx/en/company/<name>-<id>) give one row each. Any Europages domain.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter codes of the supplier countries: DE, FR, IT, ES, PL, NL, TR, GB... Empty = all countries.",
            "items": {
              "type": "string"
            }
          },
          "supplierTypes": {
            "title": "Supplier types",
            "type": "array",
            "description": "Only these kinds of supplier (a company can have several). Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "Production",
                "CustomerSpecificManufacturing",
                "Distribution",
                "Service",
                "Wholesaler"
              ],
              "enumTitles": [
                "Manufacturer / producer",
                "Custom manufacturer",
                "Distributor",
                "Service provider",
                "Wholesaler"
              ]
            }
          },
          "employees": {
            "title": "Company size (employees)",
            "type": "array",
            "description": "Only companies with one of these headcount ranges. Companies without a headcount are left out when this is set (free).",
            "items": {
              "type": "string",
              "enum": [
                "1-4",
                "5-9",
                "10-19",
                "20-49",
                "50-99",
                "100-199",
                "200-499",
                "500-999",
                "1000+"
              ]
            }
          },
          "verifiedOnly": {
            "title": "Verified companies only",
            "type": "boolean",
            "description": "Only companies with the Europages \"verified\" badge.",
            "default": false
          },
          "maxCompaniesPerQuery": {
            "title": "Max companies per keyword",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "For each keyword and search link. Europages shows 3 300 companies per search: past that, the search is split by country and supplier type 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: VAT ID, fax, contact persons (name, role, direct phone), certificates (ISO...), payment methods, incoterms, keywords, catalogs. Charged per company page read. Europages allows a calm pace only: with details ~20 companies a minute, without them several hundred a minute.",
            "default": true
          },
          "findEmails": {
            "title": "Find emails on company websites",
            "type": "boolean",
            "description": "Europages 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. 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
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "pl",
              "pt",
              "tr",
              "cs",
              "da",
              "sv",
              "fi",
              "no",
              "hu",
              "ro",
              "bg",
              "el",
              "et",
              "lt",
              "sl"
            ],
            "type": "string",
            "description": "Language of descriptions and the keyword search.",
            "default": "en"
          },
          "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 suppliers of a keyword.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps the memory of seen companies apart for different schedules."
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Log every request retry.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}