Ford Europe Car Prices & Trims Scraper
Pricing
from $5.00 / 1,000 results
Ford Europe Car Prices & Trims Scraper
Extract official Ford car prices, trims, powertrains, and specifications from 20 European markets. Get retail prices, VAT rates, EV grants, and trim breakdowns in JSON, CSV, or Excel.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Rastriq — Structured data from the world
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
1.5 days
Issues response
7 days ago
Last modified
Categories
Share
Extract official car prices, trim levels, and powertrain specifications from Ford's European markets. Covers 21 countries with local pricing, VAT rates, government incentives, and full trim breakdowns — all in structured JSON, CSV, or Excel format.
Try it free — your first $5 of usage is on Apify. No credit card required.
What is Ford Europe Car Prices & Trims Scraper?
A data extraction tool that delivers structured, up-to-date pricing data for every Ford model sold across Europe. Whether you need to track Ford Puma prices in Spain, compare Kuga trim levels across Germany and France, or monitor Mustang Mach-E incentives in the UK — this scraper gives you clean, analysis-ready data.
Use it to:
- Monitor Ford car prices across Europe — track retail prices, promotional pricing, and government EV grants across 21 markets
- Compare trims and powertrains — see every available trim level, engine option, fuel type, and transmission per model and country
- Build competitive intelligence — feed structured pricing data into dashboards, spreadsheets, or BI tools for market analysis
- Automate price tracking — schedule daily or weekly runs, set up webhooks, and keep your datasets fresh without manual work
Output views
The dataset provides 3 views — choose the level of detail you need when exporting:
Pricing overview (default)
The default export view with 14 fields. Shows one row per model configuration (or per trim when describeVariants is enabled), with price quality indicators and duplicate markers.
| Field | Type | Description |
|---|---|---|
record_type | string | "price", "variant", or "zero_result" |
country_code | string | ISO 3166-1 alpha-3 code (FRA, DEU, GBR…) |
config_id | string | Ford's internal configuration identifier |
model_name | string | Ford model name (Puma, Kuga, Mustang Mach-E…) |
series | string | Trim level code (e.g. ABML1_SE#N1 for XLT) |
powertrain | string | Descriptive powertrain label, or "unknown" (see Powertrain detection below) |
price_gross_retail | number | Official gross retail price including VAT |
price_final | number | Final price (see price_final_source in full view) |
price_quality | string | "ok", "placeholder", or "missing" |
currency | string | ISO 4217 currency code (EUR, GBP, PLN…) |
vat_rate | number | Local VAT rate (e.g. 25.5 for 25.5%) |
segment | string | Vehicle segment (SUV, Van…) |
is_duplicate | boolean | true if another row has the same key fields |
source_url | string | Ford API URL that produced this row |
Trims & specs
Summary view with available trims, powertrains, fuel types, and transmissions per model — sourced from BSL (Build Specification Library) filters.
All fields (full)
All 40+ fields including price breakdown, fee components, provenance, and BSL enrichment. Key additions over the pricing view:
| Field | Description |
|---|---|
price_final_source | Which Ford API field provided the final price |
price_type | "list", "otr", or "unknown" — see Price Type |
powertrain_source | Where the powertrain label came from |
registration_fee | Registration fee component (null if absent) |
nameplate_fee | Nameplate fee (null if absent) |
delivery_fee | Dealer handling / delivery fee (null if absent) |
additional_fee | Additional fee (null if absent) |
duplicate_of_config_id | Config ID of the first occurrence (if duplicate) |
source_type | Always "ford_services_cache_api" |
source_endpoint | "vehicle-model/v1/load" or "vehicle-model/v1/describe" |
Fields may be null when not available for a specific configuration.
Price semantics and caveats
price_gross_retail— Gross retail price from Ford's configurator. May include national registration taxes depending on the country (e.g. autovero in Finland, registreringsafgift in Denmark, BPM in Netherlands, NoVA in Austria). We never calculate net prices by dividing by VAT — these taxes are not separable from this API.price_final— Determined by a fallback chain tracked inprice_final_source. Check this field to understand which Ford API value was used.price_quality— Flags suspicious prices:"ok"— Price passes currency-specific threshold check"placeholder"— Price below the threshold (e.g. 1 DKK in Denmark, where Ford doesn't publish online prices due to registreringsafgift complexity)"missing"— No gross price available
- Fee components (
registration_fee,nameplate_fee,delivery_fee,additional_fee) — Exposed as-is from Ford's API. Null when not provided. These are not derived from calculations.
Country-specific notes
| Country | Currency | Notes |
|---|---|---|
| Denmark | DKK | Ford typically returns placeholder prices (~1 DKK) across most models. Marked as price_quality: "placeholder" (see price semantics above). Ranger exception: price_gross_retail=null / price_quality: "missing" — expected behaviour. The Ranger is classified as a commercial vehicle (varebil) in Denmark; Ford's API returns sentinel prices (1 DKK / 0.8 DKK) instead of a real price, yielding no usable price via the configurator API for this model. Other models (Puma, Kuga, Explorer EV) return real OTR prices normally. |
| Finland | EUR | Prices include autovero (vehicle tax). |
| Netherlands | EUR | Prices include BPM (purchase tax). |
| Norway | NOK | No API coverage — Ford's configurator does not return a catalogue for this market. Records emitted as record_type: "zero_result" (zero_result_reason: "catalog_empty"). Verified across multiple models and runs. |
| Austria | EUR | Prices include NoVA (fuel consumption tax). |
| Sweden | SEK | No API coverage — Ford's configurator does not return a catalogue for this market. Records emitted as record_type: "zero_result" (zero_result_reason: "catalog_empty"). Verified across multiple models and runs. |
| Slovakia | EUR | No API coverage — Ford's configurator does not return a catalogue for this market. Records emitted as record_type: "zero_result" (zero_result_reason: "catalog_empty"). Verified in W12 (2026-09). Same pattern as Norway and Sweden. |
Markets without API coverage
The markets NOR (Norway), SWE (Sweden), and SVK (Slovakia) are included in the actor's 21-market configuration but Ford's Configurator API does not expose a catalogue for them. The actor emits record_type: "zero_result" with zero_result_reason: "catalog_empty" for these markets on every run — this is expected behaviour, not an error.
This limitation is not transient: it has been verified across multiple models and runs over several weeks. SVK was added in W11 (2026-09) and confirmed as catalog_empty in W12. Coverage is reviewed quarterly in case Ford enables these markets.
Supported countries
21 European markets with local currency pricing:
France · Germany · Spain · Italy · United Kingdom · Netherlands · Portugal · Sweden · Poland · Norway · Denmark · Finland · Czech Republic · Romania · Hungary · Greece · Turkey · Slovakia · Austria · Belgium · Switzerland
Supported models
All Ford models currently sold in Europe, including:
Passenger cars: Bronco Sport, Capri, Explorer, Kuga, Mustang Mach-E, Puma
Commercial vehicles: Transit Custom (includes BEV variants; formerly listed as E-Transit Custom), Ranger, Tourneo Courier, Tourneo Custom, Transit, Transit Courier
Model availability varies by market. Leave the Model field empty to automatically extract all available models. The filter is case-insensitive.
How to use
- Create a free Apify account at apify.com
- Open this actor in Apify Console
- Select a country — pick one European market
- Select a model (optional) — filter a specific Ford model, or leave empty for all
- Click Start — typically under 2 minutes for a single country
- Download your data in JSON, CSV, Excel, or XML — or access via API
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
countryCode | string | "ESP" | European market to scrape (ISO alpha-3) |
modelName | string | — | Ford model to filter (case-insensitive, empty = all) |
describeVariants | boolean | false | Fetch trim-level variant rows (more results, more requests) |
dropDuplicates | boolean | false | Remove duplicate rows (same country + model + series + powertrain + price) |
maxConcurrency | integer | 10 | Parallel requests (5–20 recommended) |
requestDelayMs | integer | 300 | Delay between requests in ms |
proxyConfiguration | object | Apify proxy | Proxy settings |
Legacy compatibility: The old
countryCodes(array) andmodelNames(array) parameters still work but are deprecated. UsecountryCode(string) andmodelName(string) instead. If both singular and plural forms are provided in the same run, the legacy plural array takes precedence.
Example input:
{"countryCode": "FRA","modelName": "Puma","describeVariants": false}
Record types
Each row has a record_type field:
"price"— Base configuration row from the load endpoint (always produced)"variant"— Trim-level row from the describe endpoint (only whendescribeVariants: true)"zero_result"— Marker row when a market/model combination returns no pricing data. It is fully machine-readable:zero_result_reason/zero_result_description:catalog_empty,alias_not_matched,enumerate_failed,parser_error,load_not_found,load_failed,fallback_exhaustedmodels_in_catalog,model_filter_applied(incl. aliases),locale,source_url(exact enumerate endpoint used)configs_probed,configs_ok,configs_not_found,configs_errored,bsl_configs_countfallback_paths_attempted(ordered list: enumerate → model filter/aliases → variant-config load → base-config fallback → knownConfigs → retries, each withattempted+outcome) andfallback_exhausted_reason
Duplicates
Some Ford models have overlapping config IDs (e.g. TRA/TRB Ranger variants) that produce identical pricing. These are marked (is_duplicate: true, duplicate_of_config_id, near_duplicate_reason) but kept in the output by default.
near_duplicate_reason is always present: "same_config_id_different_resolution" for near-duplicates within a market, null otherwise. Set dropDuplicates: true to exclude them.
describeVariants
When describeVariants: true, the actor fetches per-trim pricing from Ford's describe endpoint. This:
- Adds one
"variant"row per trim level, each with its ownseriescode and individualpriceblock - Increases the number of API requests (one describe call per model configuration)
- Requires the "standard" retrieve mode (the default) — the minimal "prices" mode does not return the
features.byMarketingdata needed to extract series codes
Default is false — enable only when you need granular trim-level data.
How much does it cost?
Ford Europe Car Prices & Trims Scraper uses pay-per-result pricing. Each result counts as one billable event.
Variant fields — API availability (as of 2026-09): Ford's configurator API does not expose individual variant attributes (body style, cab type, wheelbase, transmission, powertrain specs) through the describe endpoint. The body_style field is always null with body_style_source: "api_unavailable". Fields model_year and marketing_model_year are available at model level. This limitation is tracked as FIND-W4-01 and will be revisited when Ford updates the API.
A typical run for a single country returns 25–35 results (~2 minutes). With describeVariants: true, expect 100–150 results per country.
Your first $5 of Apify credit is free — enough for hundreds of runs.
Price Type
Each price item includes a price_type field documenting the nature of the price:
| Value | Meaning | Source |
|---|---|---|
"list" | Gross retail list price (Ford totalfinalprice) | api_derived |
"otr" | On-the-road total (Ford recommendedOTRTotalPrice or promotional) | api_derived |
"unknown" | Final price field not available from API | unavailable |
Ford's API does not expose an explicit price-type field. The type is derived from which finalPrice sub-field is populated (price_type_source: "api_derived"). All configurator prices represent retail pricing (customer_type: "retail").
conditional_offer: true is set when the price comes from a promotional OTR field.
Powertrain detection
Each showroom entry can list several variants (e.g. default and bev for Transit Custom). Every variant is loaded with its own Ford configuration string (variant_config), so price and powertrain always describe the same vehicle.
Provenance fields on every row:
| Field | Meaning |
|---|---|
powertrain | Normalised: BEV, PHEV, HEV, MHEV, diesel, petrol, FCEV, unknown |
powertrain_raw | Ford's own label (e.g. "BEV 100kW A1 Takaveto") |
powertrain_family_raw / powertrain_feature_code | Ford fuel-family code (ELC, DSL, PRL, HBD) and feature code of the selected powertrain |
powertrain_method / powertrain_source | How and from where it was resolved (selected_feature = the powertrain selected in the loaded configuration) |
powertrain_scope | variant (row-level evidence), model_single_option (model has only one option), null (unresolved) |
powertrain_confidence | high / medium / low |
powertrain_warning | Why a value is unknown or low-confidence; enum_variant_mismatch if Ford's showroom key contradicts the loaded configuration |
available_powertrains | Model-level list of options (not a per-row fact) |
A model-level keyword is never promoted to a row-level fact: if Ford does not expose the selected powertrain, the row stays unknown with a warning. Hybrids (HBD) whose label does not say PHEV/MHEV/HEV stay unknown with hybrid_subtype_unresolved.
Related actors
Explore the full Rastriq intelligence portfolio on Apify Store.
FAQ
Does this require a Ford account?
No. This scraper works with publicly available configurator data.
What proxy should I use?
Apify's datacenter proxies work well. The default proxy settings are recommended.
How do I integrate with my workflow?
Natively integrates with Make, Zapier, Google Sheets, webhooks, and the Apify API (see the API tab for code snippets).
I found a bug
Please open an issue in the Issues tab. Include your input configuration and run ID.
VAT and Vehicle Registration Taxes
The actor separates VAT (recoverable) from vehicle registration/registration taxes (non-recoverable), as far as the Ford API allows:
price_net_retailis calculated by dividingprice_gross_retailby(1 + VAT rate). It is taggedprice_net_method: "calculated_vat_only"when no explicit net price is available.- Registration/vehicle taxes (BPM, NoVA, registreringsafgift, IEDMT, ISV, etc.) are present for all 21 markets in
registration_tax_namewithregistration_tax_status: "not_separated". These taxes are included in the Ford configurator gross price and cannot be isolated from the API — no deduction formula is applied. - When applicable,
registration_tax_warningdescribes the specific tax and the limitation.
Affected markets: All 21 markets have some form of vehicle-related tax. Notable cases:
- 🇩🇰 DNK — registreringsafgift (~85-180% of pre-tax price)
- 🇳🇱 NLD — BPM (CO2-based)
- 🇦🇹 AUT — NoVA (CO2-based)
- 🇫🇮 FIN — auto-vero (mass and CO2-based)
- 🇸🇰 SVK — no catalogue available (catalog_empty)
FIND-W4-01: Isolation of registration taxes requires market-specific official tax tables not available through the Ford API. This is a known open finding.