Fuel and LPG Retail Prices — Brazil Station-Level Survey

One row is one station-level price observation for a fuel product on a collection date for Brazilian municipality coverage in Brazil, with measured fuel and LPG retail prices and temporal coverage 2004-2026. The profiled table has 32,082,466 rows. Known limitation: Station-level fuel-price survey microdata with no unique row key. valor_de_compra (dealer purchase price) and valor_de_venda (retail pump price) are distinct measures reported in unidade_de_medida, which varies by produto (e.g. R$/litre for liquid fuels, R$/13kg for GLP) — never average valor_* across produto or unidade_de_medida.

anp-brazil-shpc-dsas-ca-ca·18 columns·1.4 GB·Creative Commons Attribution-NoDerivatives 3.0 Unported (site footer) plus ANP portal terms·updated 18d ago

Schema

dateDATE
yearINTEGER
monthINTEGER
regiao_siglaVARCHAR
estado_siglaVARCHAR
municipioVARCHAR
revendaVARCHAR
cnpj_da_revendaVARCHAR
nome_da_ruaVARCHAR
numero_ruaVARCHAR
complementoVARCHAR
bairroVARCHAR
cepVARCHAR
produtoVARCHAR
unidade_de_medidaVARCHAR
bandeiraVARCHAR
valor_de_vendaDOUBLE
valor_de_compraDOUBLE

Get this dataset on your machine

subsets sync --bundle medium clones the mid-size tiers as queryable local tables — use --bundle large for the widest tier

pip install subsetsio
subsets sync --bundle small # or medium, or large
subsets serve # search + SQL at http://localhost:8080

Free and open — the data syncs straight from the public bucket, and search + SQL run entirely on your machine. See docs →

Query it locally

Full docs →
Bash
subsets serve   # local API on http://localhost:8080
curl -s -X POST "http://localhost:8080/query" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT * FROM \"anp-brazil-shpc-dsas-ca-ca\" LIMIT 5"}'

No account, no API key — the data syncs straight from bundles.subsets.io and every query runs on your machine. See the local API reference.