{
  "openapi": "3.0.1",
  "info": {
    "title": "Europages Scraper: EU B2B Suppliers, Manufacturers & VAT IDs",
    "description": "Find European manufacturers, suppliers and wholesalers by product and country on Europages (3M+ companies): website, phone, address, employees, VAT ID, industry and incoterms. No personal data. $3 per 1,000 companies.",
    "version": "1.1",
    "x-build-id": "ZWlc6wRN72eJYR7H1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gleanery_actors~europages-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gleanery_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/gleanery_actors~europages-scraper/runs": {
      "post": {
        "operationId": "runs-sync-gleanery_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/gleanery_actors~europages-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-gleanery_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": {
          "keywords": {
            "title": "Products / keywords",
            "type": "array",
            "description": "What the suppliers make or sell, in English: \"olive oil\", \"furniture\", \"cnc machining\", \"packaging\", \"led lighting\", \"textile\". Each keyword is searched separately; results are deduplicated.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Limit to countries, in English: \"germany\", \"italy\", \"spain\", \"france\", \"poland\", \"turkey\"… Leave empty for all countries.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Europages listing URLs",
            "type": "array",
            "description": "Optional. Paste Europages listing URLs directly, e.g. https://www.europages.co.uk/companies/italy/packaging.html",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max companies to save",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after saving this many companies. Caps your cost: at $3 per 1,000 companies, 500 cost $1.50.",
            "default": 100
          },
          "supplierTypes": {
            "title": "Supplier types",
            "type": "array",
            "description": "Keep only these business types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "production",
                "customer_specific_manufacturing",
                "distribution",
                "wholesaler",
                "service"
              ],
              "enumTitles": [
                "Manufacturer",
                "Contract / custom manufacturer",
                "Distributor",
                "Wholesaler",
                "Service provider"
              ]
            }
          },
          "employeeCounts": {
            "title": "Company size (employees)",
            "type": "array",
            "description": "Keep only companies in these size ranges. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1-4",
                "5-9",
                "10-19",
                "20-49",
                "50-99",
                "100-199",
                "200-499",
                "500-999",
                "1000+"
              ]
            }
          },
          "distributionAreas": {
            "title": "Sales area",
            "type": "array",
            "description": "Keep only companies that sell in these areas. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "national",
                "europe",
                "international"
              ],
              "enumTitles": [
                "National",
                "Europe",
                "International"
              ]
            }
          },
          "minFoundingYear": {
            "title": "Founded in or after",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only companies founded in or after this year (e.g. 2015). Companies without a founding year are dropped when set. 0 = off.",
            "default": 0
          },
          "onlyWithWebsite": {
            "title": "Only companies with a website",
            "type": "boolean",
            "description": "Skip companies without a website. Skipped companies are not charged.",
            "default": false
          },
          "onlyWithPhone": {
            "title": "Only companies with a phone number",
            "type": "boolean",
            "description": "Skip companies without a phone number. Skipped companies are not charged.",
            "default": false
          },
          "excludeKeywords": {
            "title": "Exclude companies mentioning",
            "type": "array",
            "description": "Drop companies whose name or description contains any of these, e.g. \"trading\", \"agent\", \"broker\".",
            "items": {
              "type": "string"
            }
          },
          "splitByCountry": {
            "title": "Go beyond 3,000 results",
            "type": "boolean",
            "description": "Europages shows at most 3,000 results per search. When on, big searches without a country filter are split country by country to get them all.",
            "default": true
          },
          "enrichDetails": {
            "title": "Add VAT ID, industry, payment terms & keywords",
            "type": "boolean",
            "description": "Opens each company profile to add VAT ID, main industry, fax, payment methods and terms, incoterms, up to 30 product keywords and certificates. Included in the price. Needs one extra request per company, so large runs are slower (about 1,500 companies per hour vs. 30,000+ without).",
            "default": false
          },
          "descriptionMaxLength": {
            "title": "Max description length",
            "minimum": 0,
            "type": "integer",
            "description": "Cut company descriptions to this many characters. 0 = full length.",
            "default": 0
          },
          "omitEmptyFields": {
            "title": "Omit empty fields",
            "type": "boolean",
            "description": "Leave out null/empty fields for compact JSON. Keep off for consistent CSV/Excel columns.",
            "default": false
          },
          "onlyNewOrUpdated": {
            "title": "Only new or changed companies (incremental mode)",
            "type": "boolean",
            "description": "For scheduled runs: return only companies that are new (or whose contact details changed) since the previous run with the same input or State key. Unchanged companies are skipped and not charged.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Optional name for the incremental state, e.g. \"packaging-italy\"."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: the actor paces itself automatically when Europages rate-limits. Datacenter proxies are often challenged by Europages, so leave this off unless you know you need it.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}