{
  "openapi": "3.0.1",
  "info": {
    "title": "Europages Scraper",
    "description": "[💰 $10.0 / 1K] Extract B2B company and supplier profiles from Europages — name, description, address, phone, email, website, VAT number, employee count, founding year, business types, and categories. Search by keyword + country, or paste Europages URLs.",
    "version": "1.0",
    "x-build-id": "FOGSAnIKlHuUgLZKX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~europages-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-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/solidcode~europages-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-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/solidcode~europages-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-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": {
          "searchTerms": {
            "title": "Search Terms",
            "type": "array",
            "description": "Products, services, or industry keywords to search on Europages (e.g. 'cardboard packaging', 'industrial valves', 'olive oil'). Each term is combined with every entry in Countries — for example, 2 terms x 3 countries = 6 searches.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Restrict suppliers to these countries. Leave empty to search all of Europe (every country). Combined with each Search Term.",
            "items": {
              "type": "string",
              "enum": [
                "de",
                "fr",
                "gb",
                "it",
                "es",
                "nl",
                "be",
                "pl",
                "tr",
                "at",
                "ch",
                "pt",
                "se",
                "dk",
                "no",
                "fi",
                "ie",
                "cz",
                "gr",
                "ro",
                "hu",
                "bg",
                "ua",
                "us",
                "cn"
              ],
              "enumTitles": [
                "Germany",
                "France",
                "United Kingdom",
                "Italy",
                "Spain",
                "Netherlands",
                "Belgium",
                "Poland",
                "Türkiye",
                "Austria",
                "Switzerland",
                "Portugal",
                "Sweden",
                "Denmark",
                "Norway",
                "Finland",
                "Ireland",
                "Czech Republic",
                "Greece",
                "Romania",
                "Hungary",
                "Bulgaria",
                "Ukraine",
                "United States",
                "China"
              ]
            },
            "default": []
          },
          "startUrls": {
            "title": "Europages URLs",
            "type": "array",
            "description": "Paste one or more Europages URLs. Accepts keyword search pages (e.g. https://www.europages.co.uk/en/search?q=packaging), category listing pages (e.g. https://www.europages.fr/entreprises/emballages%20en%20carton.html), and individual company profiles. Filters baked into the URL are honored as-is.",
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language / Site Edition",
            "enum": [
              "en",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "pt",
              "pl",
              "tr"
            ],
            "type": "string",
            "description": "Which Europages language edition to query. Each edition is a separate localized site, so this sets both the result language and the company descriptions you receive. Available editions: English, German, French, Italian, Spanish, Dutch, Portuguese, Polish, Turkish.",
            "default": "en"
          },
          "supplierTypes": {
            "title": "Supplier Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include companies matching these business types. Leave empty to include every type of supplier.",
            "items": {
              "type": "string",
              "enum": [
                "manufacturer",
                "wholesaler",
                "distributor",
                "service_provider"
              ],
              "enumTitles": [
                "Manufacturer / Producer",
                "Wholesaler",
                "Distributor",
                "Service provider"
              ]
            },
            "default": []
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 0,
            "type": "integer",
            "description": "Hard cap on total company rows across all searches and URLs. Default 100 — increase for bigger runs, or set to 0 for no cap. An effective upper limit of 100,000 rows per run always applies to prevent runaway pagination, so a value above 100,000 (or 0 / no cap) collects at most 100,000 rows. The actor stops requesting new listing pages once your number is reached but keeps the full final page even if it slightly overshoots. To gather very large datasets, split a request across multiple keywords or countries.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}