Transparency
GasPriceRadar is an open-architecture fuel price intelligence platform. This page documents exactly how we collect, normalize, store, and serve data — and what our limitations are.
Records
5,525
Countries
78
Avg Gas (Global)
$1.191
Avg Diesel
$1.113
Freshness
Live
Updated today
World Bank, EIA, EU Commission APIs
ECB/OER rates → USD
Gallons→liters, grades→standard
Sanity checks, quality scoring
PostgreSQL via Prisma ORM
ISR pages, REST API, charts
The World Bank compiles retail fuel prices from national statistical agencies and energy ministries. Data is reported in USD per liter. This is the foundation layer for global coverage, though it has significant lag (6-18 months). Used as baseline when fresher sources are unavailable.
Reliability
95
170+ countries
Annual (6-18 month lag)
Gasoline (EP.PMP.SGAS.CD), Diesel (EP.PMP.DESL.CD)
Open data, CC BY 4.0 license. Free API, no key required.
Official US government source. Weekly retail prices from ~900 gas stations via phone survey. Reported in USD per gallon; we convert to USD per liter (÷ 3.78541). Highest-priority source for US data.
Reliability
98
United States (national + 5 PADD regions)
Weekly (published Wednesday)
Regular Gasoline (EPMR), Diesel (EPD2D)
Public domain (US government work). Free API key required.
Official EU dataset from DG Energy. Reports both tax-inclusive and tax-exclusive prices in EUR per 1000 liters. We convert to USD per liter using ECB exchange rates. Highest-priority source for European data. Available from 2005.
Reliability
97
27 EU member states + Norway, Switzerland
Weekly (published Monday)
Euro-super 95 (RON 95), Automotive Diesel, LPG
Open data, reuse policy of the European Commission. No key required.
Exchange rates used to normalize local-currency prices to USD. Primary: ECB Statistical Data Warehouse (free, XML). Fallback: Open Exchange Rates (free tier). Final fallback: hardcoded Q1 2026 rates for 40+ currencies.
Reliability
99
30+ currencies
Daily
N/A
ECB data is freely available. Open Exchange Rates free tier: 1000 req/month.
Global commodity price benchmarks. Not used for retail price tracking directly, but provides context for crude oil correlation analysis and price movement explanations.
Reliability
95
Global benchmarks
Monthly
Crude Oil (Brent, WTI, Dubai), Natural Gas
Open data, CC BY 4.0 license.
When multiple sources provide data for the same country and fuel type, we use a priority system:
1. EIA (US only) and EU Oil Bulletin (EU only) — weekly, highest priority for their regions
2. World Bank — global coverage, used as baseline for all other countries
3. REFERENCE — curated reference data used when no live API data is available
Within the same priority level, the most recent data point wins.
All source attributions are stored per-record, so you can always see which source provided each data point.
All prices converted to USD at ingestion time using ECB/OER daily exchange rates. Stored prices are point-in-time conversions — not retroactively adjusted. This matches World Bank methodology.
US data (USD/gallon) divided by 3.78541. EU data (EUR/1000L) divided by 1000. UK data (pence/liter) divided by 100 and FX-converted. All stored as USD per liter to 4 decimal places.
We track "standard grade" gasoline: RON 92-95 (or US Regular 87 AKI, which is equivalent to ~RON 91-92). Premium grades (RON 98+, US Premium 93 AKI) are mapped to GASOLINE but flagged internally. The grade difference is typically 5-15% — documented here for transparency.
"Gasoline" (US), "petrol" (UK/AU), "benzin" (DE/TR), "essence" (FR), "gasolina" (ES/PT), "benzina" (IT/RO) — all normalized to GASOLINE enum. Diesel variants (B7, gas oil, DERV, gazole) all normalize to DIESEL.
Displayed as "N/A" in the UI and null in the API. Never interpolated, estimated, or filled with neighboring country data. If a source doesn't cover a country, we don't invent data for it.
Each normalized price gets a quality score: high (within expected range), medium (slightly unusual), low (very old or edge of range), suspicious ($<0.01 or $>5.00/L). Suspicious prices are stored but flagged.
Live
< 48 hours old
Recent
< 1 week old
Weekly
< 1 month old
Stale
> 1 month old
Different sources update at different frequencies. EIA and EU Bulletin provide weekly data; World Bank provides annual data with lag. Each country's data freshness reflects its best available source. The /api/status endpoint shows real-time freshness scores for each source.
| Source | Status | Records | Duration |
|---|---|---|---|
| REFERENCE | success | 5,525 | - |
World Bank lag: Their global fuel price dataset is published annually with 6-18 month delay. Countries without EIA/EU coverage may show data from the most recent available year.
Single grade per fuel type: We track one standard grade of gasoline per country (typically RON 92-95). Premium grades and regional variations within a country are not separately tracked.
National averages: Prices are national averages. Actual pump prices vary by city, station, and brand — often by 10-20% within a country.
Tax differences: Reported prices include all taxes unless otherwise noted. Tax-exclusive prices are available in the EU Oil Bulletin but we report tax-inclusive for comparability.
Subsidized markets: Countries like Venezuela, Ecuador, and Saudi Arabia have government-subsidized fuel prices that don't reflect market economics. These are accurately reported but should be understood in context.
Conflict zones: Countries in active conflict may have unreliable or outdated pricing data. We show the last available data with appropriate freshness flags.
Data licensing: All data sources are publicly available under open data licenses (CC BY 4.0, public domain, or EU reuse policy). No proprietary data is scraped or reverse-engineered.
API terms compliance: We respect rate limits, use API keys where required, and cache aggressively to minimize request volume. No scraping of websites that prohibit it.
Attribution: All source attributions are stored per-record in PostgreSQL and displayed throughout the UI.
No investment advice: This platform provides informational data only. Fuel prices should not be used as the basis for investment, trading, or financial decisions.
GDPR: No personal data is collected. No cookies are used for tracking. Analytics, if added, would be privacy-respecting.
cache() for request deduplicationlatest_prices tables-maxage=3600countries — 78 rows, ISO codes + regionsfuel_prices — 5,525 historical recordslatest_prices — materialized current + Δ%ingestion_logs — full audit trailGET /api/prices — all prices, filterableGET /api/prices/:code — per-country + historyGET /api/status — health + freshnessPOST /api/ingest — scheduled ingestion