snapdata
Datasets

Crude

WORLD (dollars per barrel). Brent and WTI daily to 1987, plus the Indian Crude Basket from PPAC.

Instruments

instrument_idScopeCalendarSourceFrom
BRENT.USD.BBLworldUS-EQUITYEIA1987-05-20
WTI.USD.BBLworldUS-EQUITYEIA1986-01-02
INBASKET.USD.BBLinIN-EQUITYPPAC2026 live
/api/v1/crude/world/latest.json
/api/v1/crude/world/series/30d.json
/api/v1/crude/in/latest.json

The deepest history we have

Brent and WTI are the one place where the licence is genuinely permissive: EIA data is a US Government work in the public domain, and the daily series run back to 1987 and 1986 respectively.

EIA publishes on US business days with a one-to-two day lag, and emits rows with a null value on days a series has no print. We drop those rows rather than carrying anything forward; whether the absence is a holiday or a missing print is the calendar's call, not the parser's.

WTI settled at −$37.63 on 2020-04-20. That was real. Our validator warns on a non-positive crude price rather than discarding it: a sanity check that silently deletes history is worse than no check.

Indian Crude Basket

PPAC publishes the Indian Basket in USD per barrel on Indian working days, in a JSON shape and a CSV shape depending on the endpoint. We handle both, because PPAC has swapped between them before and a moved URL should degrade to a parse error we can see rather than a silent zero.

Dates arrive Indian-style (11-08-2026, 11 Aug 2026), never ISO. We read them day-first, unambiguously, guessing between DD-MM and MM-DD would silently mis-date every observation before the 13th of a month, which is invisible until someone backtests.

Monthly history to 2000 is harvestable from PPAC's PDFs and is planned; daily history is not machine-readable.

Calendars differ

BRENT/WTI use US-EQUITY; INBASKET uses IN-EQUITY. So /api/v1/crude/world/latest.json and /api/v1/crude/in/latest.json can legitimately sit on different dates on any given morning. See Dates & trading days.

On this page