{
  "openapi": "3.0.1",
  "info": {
    "title": "Mazda Configurator Scraper",
    "description": "Extract the full vehicle catalog from Mazda European configurator websites — models, grades, engines, prices, configuration options (colours, wheels, trims, accessories), and technical specifications across 11 countries. No API key needed.",
    "version": "0.1",
    "x-build-id": "HqJicaC7AbNcntfNF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rastriq~mazda-configurator-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rastriq-mazda-configurator-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~mazda-configurator-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rastriq-mazda-configurator-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~mazda-configurator-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rastriq-mazda-configurator-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": {
          "country": {
            "title": "🌍 Country",
            "enum": [
              "es",
              "de",
              "fr",
              "it",
              "uk",
              "nl",
              "be",
              "pt",
              "pl",
              "at",
              "ch",
              "se",
              "dk",
              "no",
              "fi",
              "cz",
              "hu",
              "sa",
              "ae"
            ],
            "type": "string",
            "description": "Select a single Mazda market. Leave empty (and leave <b>Countries</b> empty too) for <b>all markets</b>. Prefilled with Spain: to scrape only other countries, clear this field and use <b>Countries</b>. Finland, Saudi Arabia and UAE are currently unavailable."
          },
          "countries": {
            "title": "Countries (multiple)",
            "type": "array",
            "description": "Select several markets to scrape in one run. If you also set a single <b>Country</b>, both are combined (union). Because Country is prefilled with Spain, clear it if you want only the countries chosen here. Leave both empty for all markets. Finland, Saudi Arabia and UAE are currently unavailable (source websites changed or not responding) and return no items.",
            "items": {
              "type": "string",
              "enum": [
                "es",
                "de",
                "fr",
                "it",
                "uk",
                "nl",
                "be",
                "pt",
                "pl",
                "at",
                "ch",
                "se",
                "dk",
                "no",
                "fi",
                "cz",
                "hu",
                "sa",
                "ae"
              ],
              "enumTitles": [
                "🇪🇸 Spain",
                "🇩🇪 Germany",
                "🇫🇷 France",
                "🇮🇹 Italy",
                "🇬🇧 UK",
                "🇳🇱 Netherlands",
                "🇧🇪 Belgium",
                "🇵🇹 Portugal",
                "🇵🇱 Poland",
                "🇦🇹 Austria",
                "🇨🇭 Switzerland",
                "🇸🇪 Sweden",
                "🇩🇰 Denmark",
                "🇳🇴 Norway",
                "🇫🇮 Finland",
                "🇨🇿 Czech Republic",
                "🇭🇺 Hungary",
                "🇸🇦 Saudi Arabia",
                "🇦🇪 UAE"
              ]
            }
          },
          "maxModelsPerCountry": {
            "title": "Max models per country",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Limit the number of models to scrape per country. Use 1 for a quick test; clear it for the full catalog (~9-11 models per country)."
          },
          "includeConfiguration": {
            "title": "Include configuration options",
            "type": "boolean",
            "description": "Fetch colors, trims, wheels, and accessories with prices for each variant. Increases run time noticeably; turning it off together with technical specs makes runs much faster.",
            "default": true
          },
          "includeSpecs": {
            "title": "Include full technical specs",
            "type": "boolean",
            "description": "Fetch detailed technical specifications (engine, dimensions, consumption) for each variant. Increases run time noticeably. A full Spain run with configuration and specs on takes about 13-15 minutes.",
            "default": true
          },
          "includeFinance": {
            "title": "Include financing data",
            "type": "boolean",
            "description": "Fetch available financing options (loan types, maturities, deposits) where available. Adds extra requests per variant.",
            "default": false
          },
          "requestDelay": {
            "title": "Request delay",
            "minimum": 0.2,
            "maximum": 10,
            "type": "number",
            "description": "Seconds to wait between requests to the same domain. Lower = faster but higher risk of rate limiting.",
            "default": 1
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 11,
            "type": "integer",
            "description": "Number of countries processed at the same time. For full runs, total time is about 15 minutes per country divided by this value; raise the run timeout accordingly.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Datacenter proxies should be sufficient - Mazda websites have minimal blocking protection."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}