{
  "openapi": "3.0.1",
  "info": {
    "title": "MachineryZone Scraper — European Heavy Equipment",
    "description": "Scrape used equipment listings from MachineryZone.eu, a major European marketplace for construction, agriculture, and material handling machinery. Extract price, make, model, year, hours, dealer info, and specs. Compare prices across the European equipment market.",
    "version": "0.2",
    "x-build-id": "G50msshOygrarRupj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rastriq~machineryzone-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rastriq-machineryzone-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/rastriq~machineryzone-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rastriq-machineryzone-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/rastriq~machineryzone-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rastriq-machineryzone-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": {
          "category": {
            "title": "🏗️ Equipment category (single, backward compat)",
            "enum": [
              "track-excavator",
              "wheel-excavator",
              "mini-digger",
              "industrial-excavator",
              "excavators-other",
              "backhoe",
              "walking-excavator",
              "dredging-equipment",
              "excavator-spare-parts",
              "rigid-backhoe-loader",
              "articulated-backhoe-loader",
              "mini-backhoe-loader",
              "wheel-loader",
              "skid-steer-loader",
              "crawler-loader",
              "skip-loader",
              "telescopic-forklift",
              "electric-forklift",
              "diesel-forklift",
              "propane-forklift",
              "all-terrain-masted-forklift",
              "heavy-forklift",
              "truck-forklift",
              "four-way-forklift",
              "gas-forklift",
              "pallet-stacker",
              "pallet-truck",
              "reach-truck",
              "order-picker",
              "sideloader",
              "reach-stacker",
              "container-handler",
              "dumpers",
              "articulated-dump-truck",
              "tracked-dumper",
              "mini-dumper",
              "dump-truck",
              "tipping-trailer",
              "bulldozer",
              "track-dozer",
              "wheel-dozer",
              "mobile-crane",
              "crawler-crane",
              "tower-crane",
              "self-erecting-crane",
              "auxiliary-cranes",
              "dockside-crane",
              "tandem-rollers",
              "single-drum-roller",
              "sheepsfoot-roller",
              "pneumatic-rollers",
              "combi-roller",
              "landfill-compactors",
              "asphalt-pavers",
              "asphalt-planers",
              "road-works-other",
              "motor-grader",
              "scrapers",
              "soil-stabiliser",
              "concrete-mixer",
              "concrete-pump",
              "concrete-other",
              "concrete-plant",
              "mixers",
              "screed-pump",
              "concrete-lorry",
              "crushing-screening",
              "crusher",
              "screen",
              "shredder",
              "trencher",
              "drilling-pile-driving",
              "pile-driving-machine",
              "self-propelled-platform",
              "platforms-other",
              "truck-mounted-platform",
              "trailer-platform",
              "generator",
              "compressor",
              "pumps",
              "pipelayer",
              "miscellaneous-equipment-other",
              "bucket",
              "hydraulic-hammer",
              "grapple",
              "grab-bucket",
              "shears",
              "spare-parts"
            ],
            "type": "string",
            "description": "Single category to scrape. Ignored if 'categories' is provided or 'scrapeAllCategories' is true.",
            "default": "track-excavator"
          },
          "categories": {
            "title": "🏗️ Equipment categories (multi-select)",
            "type": "array",
            "description": "Select multiple categories to scrape in a single run. Each category gets a fresh browser session. Overrides 'category' if provided.",
            "items": {
              "type": "string",
              "enum": [
                "track-excavator",
                "wheel-excavator",
                "mini-digger",
                "industrial-excavator",
                "excavators-other",
                "backhoe",
                "walking-excavator",
                "dredging-equipment",
                "excavator-spare-parts",
                "rigid-backhoe-loader",
                "articulated-backhoe-loader",
                "mini-backhoe-loader",
                "wheel-loader",
                "skid-steer-loader",
                "crawler-loader",
                "skip-loader",
                "telescopic-forklift",
                "electric-forklift",
                "diesel-forklift",
                "propane-forklift",
                "all-terrain-masted-forklift",
                "heavy-forklift",
                "truck-forklift",
                "four-way-forklift",
                "gas-forklift",
                "pallet-stacker",
                "pallet-truck",
                "reach-truck",
                "order-picker",
                "sideloader",
                "reach-stacker",
                "container-handler",
                "dumpers",
                "articulated-dump-truck",
                "tracked-dumper",
                "mini-dumper",
                "dump-truck",
                "tipping-trailer",
                "bulldozer",
                "track-dozer",
                "wheel-dozer",
                "mobile-crane",
                "crawler-crane",
                "tower-crane",
                "self-erecting-crane",
                "auxiliary-cranes",
                "dockside-crane",
                "tandem-rollers",
                "single-drum-roller",
                "sheepsfoot-roller",
                "pneumatic-rollers",
                "combi-roller",
                "landfill-compactors",
                "asphalt-pavers",
                "asphalt-planers",
                "road-works-other",
                "motor-grader",
                "scrapers",
                "soil-stabiliser",
                "concrete-mixer",
                "concrete-pump",
                "concrete-other",
                "concrete-plant",
                "mixers",
                "screed-pump",
                "concrete-lorry",
                "crushing-screening",
                "crusher",
                "screen",
                "shredder",
                "trencher",
                "drilling-pile-driving",
                "pile-driving-machine",
                "self-propelled-platform",
                "platforms-other",
                "truck-mounted-platform",
                "trailer-platform",
                "generator",
                "compressor",
                "pumps",
                "pipelayer",
                "miscellaneous-equipment-other",
                "bucket",
                "hydraulic-hammer",
                "grapple",
                "grab-bucket",
                "shears",
                "spare-parts"
              ],
              "enumTitles": [
                "Crawler Excavator",
                "Wheel Excavator",
                "Mini Excavator",
                "Industrial Excavator",
                "Excavators (Other)",
                "Backhoe",
                "Walking Excavator",
                "Dredging Equipment",
                "Excavator Spare Parts",
                "Rigid Backhoe Loader",
                "Articulated Backhoe Loader",
                "Mini Backhoe Loader",
                "Wheel Loader",
                "Skid Steer Loader",
                "Crawler Loader",
                "Skip Loader",
                "Telescopic Forklift / Telehandler",
                "Electric Forklift",
                "Diesel Forklift",
                "Propane Forklift",
                "All-Terrain Masted Forklift",
                "Heavy Forklift",
                "Truck-Mounted Forklift",
                "Four-Way Forklift",
                "Gas Forklift",
                "Pallet Stacker",
                "Pallet Truck",
                "Reach Truck",
                "Order Picker",
                "Sideloader",
                "Reach Stacker",
                "Container Handler",
                "Dumpers (all)",
                "Articulated Dump Truck",
                "Tracked Dumper",
                "Mini Dumper",
                "Rigid Dump Truck",
                "Tipping Trailer",
                "Bulldozer",
                "Track Dozer",
                "Wheel Dozer",
                "Mobile Crane",
                "Crawler Crane",
                "Tower Crane",
                "Self-Erecting Crane",
                "Auxiliary Crane",
                "Dockside Crane",
                "Tandem Roller",
                "Single-Drum Roller",
                "Sheepsfoot Roller",
                "Pneumatic Roller",
                "Combi Roller",
                "Landfill Compactor",
                "Asphalt Paver",
                "Asphalt Planer",
                "Road Works (Other)",
                "Motor Grader",
                "Scraper",
                "Soil Stabilizer",
                "Concrete Mixer",
                "Concrete Pump",
                "Concrete Equipment (Other)",
                "Concrete Plant",
                "Truck Mixer",
                "Screed Pump",
                "Concrete Lorry",
                "Crushing & Screening",
                "Crusher",
                "Screen",
                "Shredder",
                "Trencher",
                "Drilling / Pile Driving",
                "Piling Rig",
                "Self-Propelled Aerial Platform",
                "Aerial Platforms (Other)",
                "Truck-Mounted Platform",
                "Trailer-Mounted Platform",
                "Generator",
                "Compressor",
                "Pump",
                "Pipelayer",
                "Miscellaneous Equipment",
                "Bucket",
                "Hydraulic Hammer",
                "Grapple",
                "Grab Bucket",
                "Demolition Shears",
                "Spare Parts (all)"
              ]
            }
          },
          "scrapeAllCategories": {
            "title": "🌐 Scrape ALL categories",
            "type": "boolean",
            "description": "When true, iterates over ALL available categories (ignores 'category' and 'categories'). Each category gets a fresh browser session with rotated proxy.",
            "default": false
          },
          "maxItems": {
            "title": "💯 Max results",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "Maximum number of listings to collect per category. Applies to <b>live</b> mode only — in preloaded mode, all snapshot items are returned.",
            "default": 100
          },
          "maxPages": {
            "title": "📄 Max pages",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Number of result pages to go through per category.",
            "default": 5
          },
          "maxSessions": {
            "title": "Max sessions (IP retries)",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Reintentos con IP fresca si DataDome quema la sesion (per category).",
            "default": 8
          },
          "pagesPerSession": {
            "title": "Pages per IP (preventive rotation)",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Paginas por IP antes de rotar preventivamente (antes del rate-limit ~p9). 0 = sesion unica larga.",
            "default": 7
          },
          "maxBurned": {
            "title": "Max burned IPs",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "IPs quemadas seguidas antes de abortar (per category).",
            "default": 4
          },
          "resolveAttempts": {
            "title": "DataDome resolve attempts",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Intentos de auto-resolve (x5s) antes de rotar.",
            "default": 4
          },
          "outputSchema": {
            "title": "Output schema",
            "enum": [
              "ftp28",
              "english"
            ],
            "type": "string",
            "description": "Select output format. FTP-28 produces 31 standardized Spanish field names for pipeline integration. English produces descriptive English field names.",
            "default": "english"
          },
          "data_freshness": {
            "title": "Data freshness",
            "enum": [
              "preloaded",
              "live"
            ],
            "type": "string",
            "description": "Choose 'preloaded' for instant results from the latest monthly snapshot (63K+ listings), or 'live' to scrape the website in real time.",
            "default": "preloaded"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "List of portal URLs to scrape directly (search/listing pages). When provided, category filters are ignored. Only works in Live mode. Valid domains: www.machineryzone.eu.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}