← All sources

Portugal API

Passenger-car registrations for Portugal from ACAP, via the motordata.pt / autoinforma feed.

2026-10
Latest period held
30.1%
TTM BEV share (Whole)
4
Variants

Who sells the cars

Whole · last 10 months (2026-01 → 2026-10) · 203,530 new registrations in total. Units are registrations; the source publishes brands only, no models. Powertrain as recorded by the source's own fuel field.

The headline is ACAP's own January-to-date ranking, so it restarts every January. The source only ever returns the newest month and the year to date, so the single months are collected one per publication — the month picker starts with the first month the gallery saw and grows from there.

Top brands — % of each powertrain; header: the powertrain's % of all registrationsregistrations; header: the powertrain's total

#BEV30.2%61,501PHEV15.1%30,752HEV25.4%51,713PETROL19.0%38,689DIESEL3.5%7,027
1Tesla15.6%9,593Mercedes-Benz21.4%6,581Peugeot18.1%9,368Volkswagen12.0%4,655Mercedes-Benz28.5%2,006
2BMW8.9%5,501BMW15.1%4,630Toyota16.3%8,412Seat11.9%4,599Skoda12.5%877
3Mercedes-Benz7.1%4,352Volkswagen9.5%2,921Citroen7.5%3,905KIA11.6%4,485Peugeot9.7%679
4BYD6.7%4,130BYD7.1%2,192Fiat6.1%3,159Peugeot9.7%3,739Seat8.0%559
5Volvo5.3%3,289Audi6.9%2,126Opel5.9%3,047Citroen8.1%3,138Volkswagen7.9%555
6Peugeot4.7%2,879Cupra6.0%1,842Nissan5.1%2,633Hyundai8.0%3,082Renault5.5%383
7Renault4.5%2,762MG3.9%1,198MG4.8%2,481Skoda6.7%2,583Opel4.2%292
8Citroen4.2%2,592Volvo3.8%1,154Mercedes-Benz4.4%2,297Renault6.4%2,487Ford3.9%274
9Xpeng3.0%1,873Peugeot3.2%983Volkswagen4.0%2,090Nissan5.4%2,091Nissan3.8%265
10KIA3.0%1,853Toyota3.1%957Ford3.8%1,976Opel5.4%2,081BMW3.6%252
rest36.9%22,677rest20.1%6,168rest23.9%12,345rest14.9%5,749rest12.6%885

HEV = full hybrid (no plug; counted as ICE in the curves).

Raw source

Go and check the numbers yourself:

ACAP statistics portal ↗

How the data flows

Origin
ACAP — Associação Automóvel de Portugal
Render

Each new or changed month re-renders the country. Shares are read from the CSV as column ÷ TOTAL and grouped into three curves. A generalized Weibull S-curve is fitted to the BEV and the ICE share, and the charts, the fitted parameters, the twelve-month totals and the uncertainty bands are rewritten.

Which curve does a CSV column count towards?
  • BEVBEV
  • PHEV or EREV (plug-in hybrids, range extenders)
    Does the source split plug-ins from other hybrids?
    • yesPHEV
    • no — one combined hybrid figure (parked in HEV)ICE
      the PHEV curve is left out, never drawn at zero
  • HEV or MHEV (full and mild hybrids — no plug)ICE
  • petrol, diesel, gas, flex-fuel, othersICE

Definitions & scope

AcquisitionAPI — pulled from a structured API / query endpoint
Vehicle scopeWhole = passenger cars (Ligeiros de Passageiros). Vans, HDV and Buses are fetched too; mopeds and motorcycles are not ingested.
HEV (full hybrids)split into its own column
Backfillexisting CSV from 2010-01 is the record
Authnone

Variants

Each variant is its own series with its own CSV. Not every variant is charted in the gallery — the CSV is the authoritative record either way.

VariantWhat it countsHeldRaw data
WholeNew passenger cars — Ligeiros de Passageiros (M1).2010-01 – 2026-10
202 rows
data/Portugal.csv
VansLight commercials — Ligeiros de Mercadorias (N1, ≤ 3.5 t).2026-01 – 2026-10
10 rows
data/Portugal_Vans.csv
HDVHeavy goods vehicles incl. tractor units — Pesados de Mercadorias (N2/N3).2026-01 – 2026-10
10 rows
data/Portugal_HDV.csv
BusesBuses and coaches — Pesados de Passageiros (M2/M3).2026-01 – 2026-10
10 rows
data/Portugal_Buses.csv

History we hold

Every bar is the span actually present in our stored CSV — breaks in a bar are real gaps in the series, not rendering. Cadence is shown on the right.

201020122014201620182020202220242026WholeWhole: 2010-01 → 2026-10monthlyVansVans: 2026-01 → 2026-10monthlyHDVHDV: 2026-01 → 2026-10monthlyBusesBuses: 2026-01 → 2026-10monthly

Whole 2010-01–2026-10 (202 rows), Vans 2026-01–2026-10 (10 rows), HDV 2026-01–2026-10 (10 rows), Buses 2026-01–2026-10 (10 rows).

Which fuel columns this source fills

A blank column almost never means "no such cars" — it means this source does not split them out, and those vehicles are counted inside another column. Check the caveats for where they land.

BEVPHEVHEVPETROLDIESELFLEXFUELOTHERS
Wholereportedreportedreportedreportedreportednot reportedreported
Vansreportedreportedreportedreportedreportednot reportedreported
HDVreportedalways zeroalways zeroalways zeroreportednot reportedreported
Busesreportedalways zeroalways zeroalways zeroreportednot reportedreported

reported   column exists but is zero in every row   not reported by this source. Hover a cell for the row count.

Caveats