# Mazda Configurator Scraper (`rastriq/mazda-configurator-scraper`) Actor

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.

- **URL**: https://apify.com/rastriq/mazda-configurator-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Mazda Configurator Scraper - Mazda Europe Vehicle Catalog Extractor

Extract the complete vehicle catalog from Mazda European configurator websites - models, grades, engines, prices, configuration options, and technical specifications - without an API key. Mazda Configurator Scraper covers 11 European countries and exports structured data in JSON, CSV, or Excel.

> Try it free - your first $5 of usage is on Apify. No credit card required.


### What is Mazda Configurator Scraper?

**Mazda Configurator Scraper** is an automated data extraction tool that pulls the full vehicle catalog directly from official Mazda European websites. It captures every model, grade, engine variant, and MSC code available in each country's configurator, along with pricing, configuration options, and detailed technical specifications.

Use Mazda Configurator Scraper to:

- **Monitor Mazda pricing across Europe** - track base prices, rebates, and option costs across 11 markets simultaneously
- **Analyze the full vehicle lineup** - compare grades, engines, and equipment levels across countries
- **Extract configuration options** - get every available colour, wheel, trim, and accessory with prices
- **Collect technical specifications** - detailed specs by category (engine, dimensions, safety, connectivity)
- **Automate recurring data collection** - schedule runs, set up webhooks, and keep your datasets fresh


### What data does Mazda Configurator Scraper extract?

Mazda Configurator Scraper returns structured data with the following fields:

|                          |                                    |
| ------------------------ | ---------------------------------- |
| Model name and ID        | Grade/trim level                   |
| Engine name and code     | Drive type (2WD, AWD)              |
| MSC code (unique variant ID) | Base price in local currency   |
| Formatted price with currency | Rebate/promotional price      |
| Fuel consumption         | Electric consumption (EV/PHEV)     |
| Battery range (EV/PHEV)  | Model year                         |
| Exterior colours with prices | Wheel options with prices       |
| Interior trims with prices | Accessories with prices           |
| Full technical specs by category | Embedded basic specs          |
| Country and currency     | Scrape timestamp                   |

> Fields like colours, wheels, trims, accessories, and full specs are optional - enable or disable them in the input to control run time and cost.


### How to use Mazda Configurator Scraper

Extracting Mazda catalog data takes under two minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) - your first $5 is free
2. **Open Mazda Configurator Scraper** in Apify Console or click **Try for free** on this page
3. **Select countries** - pick one or more of the 11 European markets, or leave empty for all
4. **Choose data options** - toggle configuration options and/or technical specs on or off
5. **Click Start** and wait for results (typically 20-60 seconds per country with 1 model)
6. **Download your results** in JSON, CSV, Excel, or XML - or access them via the Apify API


### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `countries` | array | No | All | Select one or more countries to scrape |
| `maxModelsPerCountry` | integer | No | All | Limit models per country (use 1 for quick tests) |
| `includeConfiguration` | boolean | No | `true` | Fetch colours, trims, wheels, and accessories |
| `includeSpecs` | boolean | No | `true` | Fetch detailed technical specifications |
| `includeFinance` | boolean | No | `false` | Fetch financing data (where available) |
| `requestDelay` | number | No | `1.0` | Seconds between requests (rate limiting) |
| `maxConcurrency` | integer | No | `3` | Countries to scrape in parallel |
| `proxyConfiguration` | object | No | Apify proxy | Proxy settings |

**Supported countries:** Spain, Germany, France, United Kingdom, Italy, Netherlands, Austria, Portugal, Poland, Sweden, Belgium.

**Example input:**

```json
{
  "countries": ["es", "de"],
  "maxModelsPerCountry": 2,
  "includeConfiguration": true,
  "includeSpecs": true,
  "proxyConfiguration": { "useApifyProxy": true }
}
````

### Output example

Each result is a structured JSON object representing one vehicle variant (model + grade + engine combination). Here is a sample from a real run:

```json
{
  "country": "es",
  "country_label": "Spain",
  "currency": "EUR",
  "model_name": "MAZDA CX-6e",
  "grade_name": "Takumi",
  "engine_name": "EV",
  "drive_type": "2WD",
  "msc_code": "GJGFEAA",
  "base_price": 46200,
  "formatted_price": "46.200,00 ?",
  "electric_consumption": "18.9 kWh/100km",
  "battery_range": "484 km",
  "year": 2026,
  "colours": [
    {
      "name": "Multi-tone Crystal White Pearl - Black",
      "price": null,
      "formatted_price": "0,00 ?",
      "is_standard": true
    }
  ],
  "full_specs": {
    "interior": [
      {
        "category": "Interior",
        "name": "Auto Hold",
        "value": "Standard"
      }
    ],
    "tipo de motor": [
      {
        "category": "Engine type",
        "name": "Battery capacity",
        "value": "68.8 kWh"
      }
    ]
  },
  "scraped_at": "2026-07-04T06:37:07Z"
}
```

Download results in **JSON, CSV, Excel, XML, or HTML** from the Output tab, or pull them programmatically using the Apify API.

### Frequently Asked Questions

#### Is scraping Mazda configurator data legal?

Mazda Configurator Scraper only accesses **publicly available data** on official Mazda websites - the same information visible to any visitor using the online car configurator. The scraper respects rate limiting to avoid overloading servers.

As with any data collection activity, you are responsible for ensuring your use case complies with applicable laws and Mazda's Terms of Service. For guidance, see [Apify's blog on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### Does Mazda Configurator Scraper require a Mazda account?

No. Mazda Configurator Scraper works entirely with public data from the Mazda configurator pages and does not require any account, login, or API credentials.

#### Which Mazda models are covered?

Mazda Configurator Scraper extracts **every model** available in each country's official configurator - typically 8-12 models including CX-5, CX-30, CX-60, CX-80, Mazda2, Mazda3, MX-5, MX-30, and newer electric models like the CX-6e. The exact lineup varies by country.

#### What proxy configuration should I use?

Mazda websites have minimal anti-bot protection. **Apify datacenter proxies** (the default) work well. No residential proxies needed.

#### How do I integrate Mazda Configurator Scraper with my workflow?

Mazda Configurator Scraper integrates natively with Make (Integromat), Zapier, Google Sheets, webhooks, and the Apify API. See the API tab for ready-to-use code snippets in Python, Node.js, and more.

#### I found a bug or my run failed. Where do I report it?

Please open an issue in the **Issues tab** on this page. Include your input configuration and the run ID so we can investigate quickly.

# Actor input Schema

## `country` (type: `string`):

Select the Mazda market. Leave empty for <b>all markets</b>.

## `maxModelsPerCountry` (type: `integer`):

Limit the number of models to scrape per country. Leave empty for all models (~11 per country).

## `includeConfiguration` (type: `boolean`):

Fetch colors, trims, wheels, and accessories with prices for each variant. Adds ~1 API call per mscCode.

## `includeSpecs` (type: `boolean`):

Fetch detailed technical specifications (engine, dimensions, consumption) via the specs API. Adds ~1 API call per mscCode.

## `includeFinance` (type: `boolean`):

Fetch available financing options (loan types, maturities, deposits). Adds ~1 API call per mscCode.

## `requestDelay` (type: `number`):

Seconds to wait between requests to the same domain. Lower = faster but higher risk of rate limiting.

## `maxConcurrency` (type: `integer`):

Maximum number of countries to scrape in parallel.

## `proxyConfiguration` (type: `object`):

Datacenter proxies should be sufficient - Mazda APIs have no anti-bot protection.

## Actor input object example

```json
{
  "country": "es",
  "maxModelsPerCountry": 1,
  "includeConfiguration": true,
  "includeSpecs": true,
  "includeFinance": false,
  "requestDelay": 1,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "country": "es",
    "maxModelsPerCountry": 1,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/mazda-configurator-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "country": "es",
    "maxModelsPerCountry": 1,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/mazda-configurator-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "country": "es",
  "maxModelsPerCountry": 1,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rastriq/mazda-configurator-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=rastriq/mazda-configurator-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "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": "I4qHkarzdJ8s4Gf3o"
    },
    "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",
                            "gb",
                            "nl",
                            "be",
                            "pt",
                            "pl",
                            "at",
                            "ch",
                            "se",
                            "dk",
                            "no",
                            "fi",
                            "cz",
                            "hu",
                            "sa",
                            "ae"
                        ],
                        "type": "string",
                        "description": "Select the Mazda market. Leave empty for <b>all markets</b>."
                    },
                    "maxModelsPerCountry": {
                        "title": "Max models per country",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Limit the number of models to scrape per country. Leave empty for all models (~11 per country)."
                    },
                    "includeConfiguration": {
                        "title": "Include configuration options",
                        "type": "boolean",
                        "description": "Fetch colors, trims, wheels, and accessories with prices for each variant. Adds ~1 API call per mscCode.",
                        "default": true
                    },
                    "includeSpecs": {
                        "title": "Include full technical specs",
                        "type": "boolean",
                        "description": "Fetch detailed technical specifications (engine, dimensions, consumption) via the specs API. Adds ~1 API call per mscCode.",
                        "default": true
                    },
                    "includeFinance": {
                        "title": "Include financing data",
                        "type": "boolean",
                        "description": "Fetch available financing options (loan types, maturities, deposits). Adds ~1 API call per mscCode.",
                        "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": "Maximum number of countries to scrape in parallel.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Datacenter proxies should be sufficient - Mazda APIs have no anti-bot 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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
