Crude
WORLD (dollars per barrel). Brent and WTI daily to 1987, plus the Indian Crude Basket from PPAC.
Instruments
instrument_id | Scope | Calendar | Source | From |
|---|---|---|---|---|
BRENT.USD.BBL | world | US-EQUITY | EIA | 1987-05-20 |
WTI.USD.BBL | world | US-EQUITY | EIA | 1986-01-02 |
INBASKET.USD.BBL | in | IN-EQUITY | PPAC | 2026 live |
/api/v1/crude/world/latest.json
/api/v1/crude/world/series/30d.json
/api/v1/crude/in/latest.jsonThe 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.