{
  "openapi": "3.0.1",
  "info": {
    "title": "Europages Scraper",
    "description": "Scrape Europages products and suppliers by keyword, category, or URL. Apply the same filters as the site (country, supplier type, verified, material, color) and optionally enrich company profiles, product pages, and a supplier's full catalog.",
    "version": "1.0",
    "x-build-id": "rApVmGlwHh6E1NNhv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rigelbytes~europages-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rigelbytes-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/rigelbytes~europages-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rigelbytes-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/rigelbytes~europages-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rigelbytes-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": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Europages URLs copied from the browser. Supported: product search (e.g. https://www.europages.co.uk/en/products?q=men's t shirts), supplier search (/en/search?q=...), category showrooms (/en/showroom-cate/...), company profiles, and product pages. Filters below apply to Search Queries; Start URL query-string filters are kept.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Search Queries",
            "type": "array",
            "description": "Keywords to search on Europages (e.g. \"men's t shirts\", \"packaging machinery\"). Combined with Scrape Type and the filters below. Leave empty to use Start URLs or a category slug only.",
            "items": {
              "type": "string"
            }
          },
          "scrapeType": {
            "title": "Scrape Type",
            "enum": [
              "products",
              "suppliers"
            ],
            "type": "string",
            "description": "What to collect from search queries and category pages. Product detail / company profile Start URLs still scrape that page regardless of this setting.",
            "default": "products"
          },
          "categorySlug": {
            "title": "Category slug",
            "type": "string",
            "description": "Optional showroom category slug or path, e.g. packaging-machinery-100013. Used when you have no Start URL for that category."
          },
          "countries": {
            "title": "Countries (ships from)",
            "uniqueItems": true,
            "type": "array",
            "description": "Company country / ships-from filter. Leave empty for any country. Applied to Search Queries.",
            "items": {
              "type": "string",
              "enum": [
                "DE",
                "TR",
                "FR",
                "ES",
                "IT",
                "SI",
                "NL",
                "AT",
                "GR",
                "CH",
                "PT",
                "PL",
                "BE",
                "GB",
                "IE",
                "CZ",
                "SK",
                "HU",
                "RO",
                "BG",
                "HR",
                "RS",
                "BA",
                "MK",
                "AL",
                "ME",
                "LT",
                "LV",
                "EE",
                "FI",
                "SE",
                "NO",
                "DK",
                "IS",
                "LU",
                "MT",
                "CY",
                "UA",
                "MD",
                "US",
                "CN",
                "IN",
                "BD",
                "PK",
                "VN",
                "TH",
                "ID",
                "MY",
                "JP",
                "KR",
                "TW",
                "AE",
                "SA",
                "IL",
                "EG",
                "MA",
                "TN",
                "ZA",
                "BR",
                "MX",
                "CA",
                "AU",
                "UZ"
              ],
              "enumTitles": [
                "Germany",
                "Turkey",
                "France",
                "Spain",
                "Italy",
                "Slovenia",
                "Netherlands",
                "Austria",
                "Greece",
                "Switzerland",
                "Portugal",
                "Poland",
                "Belgium",
                "United Kingdom",
                "Ireland",
                "Czech Republic",
                "Slovakia",
                "Hungary",
                "Romania",
                "Bulgaria",
                "Croatia",
                "Serbia",
                "Bosnia and Herzegovina",
                "North Macedonia",
                "Albania",
                "Montenegro",
                "Lithuania",
                "Latvia",
                "Estonia",
                "Finland",
                "Sweden",
                "Norway",
                "Denmark",
                "Iceland",
                "Luxembourg",
                "Malta",
                "Cyprus",
                "Ukraine",
                "Moldova",
                "United States",
                "China",
                "India",
                "Bangladesh",
                "Pakistan",
                "Vietnam",
                "Thailand",
                "Indonesia",
                "Malaysia",
                "Japan",
                "South Korea",
                "Taiwan",
                "United Arab Emirates",
                "Saudi Arabia",
                "Israel",
                "Egypt",
                "Morocco",
                "Tunisia",
                "South Africa",
                "Brazil",
                "Mexico",
                "Canada",
                "Australia",
                "Uzbekistan"
              ]
            }
          },
          "supplierTypes": {
            "title": "Supplier type",
            "uniqueItems": true,
            "type": "array",
            "description": "Manufacturer, custom manufacturer, distributor, service provider, or wholesaler. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "production",
                "customerSpecificManufacturing",
                "distribution",
                "service",
                "wholesaler"
              ],
              "enumTitles": [
                "Manufacturer / producer",
                "Custom manufacturer",
                "Distributor",
                "Service provider",
                "Wholesaler"
              ]
            }
          },
          "employeeCounts": {
            "title": "Company size",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by number of employees. Leave empty for any size.",
            "items": {
              "type": "string",
              "enum": [
                "From1To4",
                "From5To9",
                "From10To19",
                "From20To49",
                "From50To99",
                "From100To199",
                "From200To499",
                "From500To999",
                "MoreThan1000"
              ],
              "enumTitles": [
                "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 include Europages-verified companies (audits=verified).",
            "default": false
          },
          "topResponderOnly": {
            "title": "Top responder only",
            "type": "boolean",
            "description": "Only include companies marked as top responder.",
            "default": false
          },
          "quickResponderOnly": {
            "title": "Verified response / quick responder only",
            "type": "boolean",
            "description": "Only include companies with a verified / quick response profile.",
            "default": false
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Category names or codes from the search sidebar (e.g. \"T-Shirts\"). Matched against facets for the current query.",
            "items": {
              "type": "string"
            }
          },
          "materials": {
            "title": "Material",
            "type": "array",
            "description": "Product material names from the search filters (e.g. Cotton, Polyester). Matched against facets for the current query.",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "title": "Color",
            "type": "array",
            "description": "Product color names (e.g. Black, White, Blue). Matched against facets for the current query.",
            "items": {
              "type": "string"
            }
          },
          "features": {
            "title": "Features",
            "type": "array",
            "description": "Product feature names (e.g. Printed, Embroidered, Sleeveless). Matched against facets for the current query.",
            "items": {
              "type": "string"
            }
          },
          "minPrice": {
            "title": "Minimum price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum product price in EUR. Applied to product search when both min and max are set."
          },
          "maxPrice": {
            "title": "Maximum price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum product price in EUR. Applied to product search when both min and max are set."
          },
          "radiusKm": {
            "title": "Radius",
            "enum": [
              "",
              "10km",
              "25km",
              "50km",
              "75km",
              "100km",
              "125km",
              "250km"
            ],
            "type": "string",
            "description": "Distance radius around the coordinates below. Ignored unless latitude and longitude are set.",
            "default": ""
          },
          "locationLatitude": {
            "title": "Location latitude",
            "type": "number",
            "description": "Optional latitude for the radius filter (WGS84)."
          },
          "locationLongitude": {
            "title": "Location longitude",
            "type": "number",
            "description": "Optional longitude for the radius filter (WGS84)."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance"
            ],
            "type": "string",
            "description": "Result ordering. Relevance is the site default.",
            "default": "relevance"
          },
          "scrapeCompanyDetails": {
            "title": "Scrape company details",
            "type": "boolean",
            "description": "Open each company profile for phone, VAT, address, contacts, certificates, and description. Charges the company-details event in addition to dataset-item.",
            "default": false
          },
          "scrapeProductDetails": {
            "title": "Scrape product details",
            "type": "boolean",
            "description": "Open each product page for full description, images, keywords, and attributes. Charges the product-details event in addition to dataset-item.",
            "default": false
          },
          "scrapeSupplierProducts": {
            "title": "Scrape all products by supplier",
            "type": "boolean",
            "description": "For each unique company found (product search, supplier search, category, or company Start URL), also scrape that company's product catalog. Each catalog product is a dataset row and charges the supplier-product event (plus product-details if that flag is on). Use Max products per supplier to cap how many catalog items to take from each company.",
            "default": false
          },
          "maxProductsPerSupplier": {
            "title": "Max products per supplier",
            "minimum": 0,
            "type": "integer",
            "description": "When Scrape all products by supplier is on, maximum catalog products to extract per company (e.g. 10). 0 = no per-company cap. Global Max Items still applies to the whole run.",
            "default": 0
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of records to scrape (0 = unlimited)",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Apify Residential is recommended.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}