# Smart Configurator Scraper (`rastriq/smart-configurator-scraper`) Actor

- **URL**: https://apify.com/rastriq/smart-configurator-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** Developer tools, E-commerce, Automation
- **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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Smart EU Configurator Scraper

Extract official Smart list prices and trim lines from the Smart customizer across 11 European countries. Smart EU Configurator Scraper returns one clean record per model (smart #1, #3, #5) and line (Pure, Pro, Pro+, Premium, BRABUS and special editions) with from-price, price range, net price and standard equipment.

> 🚀 **Try it free**: new Apify accounts get monthly free platform credit, enough to test Smart EU Configurator Scraper on several markets.

### 📌 What is Smart EU Configurator Scraper?

**Smart EU Configurator Scraper** is a Smart customizer scraper that reads the official Smart customizer, the same public pages any visitor sees, and returns structured price data for smart #1, smart #3 and smart #5. All Smart cars are battery electric (BEV). No account, login or API key is needed.

Use Smart EU Configurator Scraper to:

- 🔍 **Compare Smart prices across Europe**: see how the same model and trim is priced in each market and currency
- 📊 **Track price changes over time**: schedule daily or weekly runs and keep a price history
- 🧩 **Benchmark equipment and options**: compare which options are offered and what they cost per market
- 🏁 **Monitor competitors**: feed Smart prices into your pricing dashboards next to other brands

The Apify platform adds **scheduling**, **monitoring**, **API access** and **integrations** (Make, Zapier, Google Sheets, webhooks) on top of Smart EU Configurator Scraper.

### 📋 What data does Smart EU Configurator Scraper extract?

Each record is one model/trim in one market:

|  |  |
|---|---|
| 🚗 Model and trim line | 📅 Model year + latest-year flag |
| 🌍 Country and locale | 💰 From-price incl. VAT |
| 📈 Highest price of the line | 🧾 Net price (without VAT) |
| 💱 Currency (ISO 4217) | 🚙 Body type |
| 📦 Standard equipment highlights | 🏷️ Smart product and line codes |
| 🔗 Public customizer link | ✅ Data quality flag |

`base_price` is the from-price of the line including VAT; `price_max` is the highest price among its configurations and `net_price` the from-price without VAT. Lines of previous model years are returned too: filter on `is_latest_model_year` to keep only the current ones.

### 🚀 How to use Smart EU Configurator Scraper

1. **Create a free Apify account** at [apify.com](https://apify.com)
2. **Open Smart EU Configurator Scraper** in Apify Store and click **Try for free**
3. **Select your markets** in the `countries` field, or leave it empty to scrape all of them
4. **Click Start** and wait for the run to finish
5. **Download the data** as JSON, CSV, Excel or XML, or fetch it through the Apify API
6. **Schedule it** (optional) to collect Smart prices automatically every day or week

### ⚙️ Input parameters

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `countries` | string\[] | ❌ | all 11 countries | Country codes to scrape, e.g. `DE`, `ES`, `SE`. Leave empty for all markets. |
| `proxyConfiguration` | object | ❌ | no proxy | Optional proxy settings. Not required. |

**Example input:**

```json
{
  "countries": [
    "DE",
    "ES"
  ]
}
```

### 🌍 Supported markets

Smart EU Configurator Scraper covers 11 countries, 14 locales: 🇩🇪 Germany · 🇬🇧 United Kingdom · 🇫🇷 France · 🇪🇸 Spain · 🇮🇹 Italy · 🇳🇱 Netherlands · 🇧🇪 Belgium (FR/NL) · 🇦🇹 Austria · 🇨🇭 Switzerland (DE/FR/IT) · 🇵🇹 Portugal · 🇸🇪 Sweden.

Markets are selected by country code (`DE`, `ES`, `SE`…). Belgium and Switzerland return one record per language version.

### 📦 Output example

A real record from Smart EU Configurator Scraper (options shortened):

```json
{
  "brand": "Smart",
  "model": "#1",
  "variant": "Pure",
  "model_year": 2025,
  "country": "DE",
  "locale": "de-DE",
  "base_price": 36990,
  "currency": "EUR",
  "fuel_type": "bev",
  "body_type": "suv",
  "source_url": "https://de.smart.com/de/customizer/?pn18=HXYH180C51EU000048",
  "scraped_at": "2026-10-04T22:32:16+00:00",
  "pn18": "HXYH180C51EU000048",
  "line_code": "MB08-1HX25",
  "is_latest_model_year": false,
  "price_max": 36990,
  "net_price": 31084.03,
  "options_count": 3,
  "options": [
    {
      "name": "Alles Wesentliche an Bord",
      "code": "MKT001",
      "price": null
    },
    {
      "name": "Hochwertige Sicherheit & Assistenz",
      "code": "MKT002",
      "price": null
    }
  ],
  "data_quality": "ok"
}
```

`data_quality` flags questionable records instead of dropping them: `ok`, `no_price` (no public price, `base_price` is null) or `currency_unexpected` (currency differs from the market's usual one). You decide whether to keep or filter them.

**Run status:** the run status message starts with `OK` when every requested market returned data, `Partial` when some markets returned nothing (with the reason for each one), and the run ends as **FAILED** when no data at all could be extracted, so you are never charged for a silent empty run.

### 💰 How much does it cost to scrape Smart prices?

Smart EU Configurator Scraper uses **pay-per-event** pricing: **$0.01 per result** plus **$0.01 per run start**. Platform compute is included.

| Scope | Results | Approx. time | Approx. cost |
|---|---|---|---|
| 1 market | ~34 | under a minute | ~$0.18 |
| All 11 countries | ~373 | ~30 seconds | ~$1.87 |

> 💡 **How much does Smart EU Configurator Scraper cost per month?** A weekly run over all markets costs about $8.04 per month. Set a maximum cost per run in the run options to keep spending predictable.

### 🔗 Related Rastriq actors

More automotive price data from the [Rastriq portfolio](https://apify.com/rastriq):

| Actor | What it extracts |
|---|---|
| [Mercedes-Benz Catalog & Configurator Scraper](https://apify.com/rastriq/mercedes-benz-catalog) | Mercedes-Benz catalog and configurator prices |
| [BYD Pricing Monitor](https://apify.com/rastriq/byd-pricing-monitor-scraper) | BYD EV prices across European markets |
| [Volvo Cars Configurator Scraper](https://apify.com/rastriq/volvo-configurator-scraper) | Volvo prices and configurations across Europe |

### ❓ Frequently Asked Questions

#### Is it legal to scrape the Smart configurator?

Smart EU Configurator Scraper only reads **publicly available** configurator pages, without logging in, and applies conservative rate limits so it does not overload the source. You are responsible for making sure your use case complies with applicable laws and the website's terms of use. See Apify's guide on [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### Do I need a Smart account or an API key?

No. Smart EU Configurator Scraper works with public data only.

#### Do I need a proxy?

No. Runs work without a proxy. Enable the proxy setting only if you see connection errors from your location.

#### How fresh is the data?

Every record carries `scraped_at`. Prices reflect the public configurator at the moment of the run; schedule runs to keep a time series.

#### My run failed or a market is missing. What should I do?

Check the run status message: it lists each market that returned no data and why. If the problem persists, open an issue in the **Issues** tab with the run ID and your input.

# Actor input Schema

## `countries` (type: `array`):

Markets to scrape. Leave empty to scrape all markets. Belgium (FR + NL) and Switzerland (DE + FR + IT) are returned in every language.

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

Optional. The source does not require a proxy.

## Actor input object example

```json
{
  "countries": [
    "DE"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "countries": [
        "DE"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/smart-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 = {
    "countries": ["DE"],
    "proxyConfiguration": { "useApifyProxy": False },
}

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

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

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

```

## CLI example

```bash
echo '{
  "countries": [
    "DE"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call rastriq/smart-configurator-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rastriq/smart-configurator-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CwR2t3M319FdAk5so/builds/2TL4ZTb15ovdDvpaT/openapi.json
