JODI crude-oil flows, monthly (global)
Monthly country-level crude-oil flows from the JODI Oil World Database (International Energy Forum): production, imports, exports, refinery intake, direct use and stock change in thousand barrels per day plus end-of-month closing stocks in thousand barrels, 2002 to date for ~100 reporting countries, with net imports, days of stock cover and 12-month production change. JODI per-observation confidence codes kept verbatim. Who joins this: energy desks join production/net-imports on year_month and country_code to price and inventory models; country-risk teams track stock-cover days and production momentum; refiners benchmark intake against regional balances.
- Rows
- 34,656
- Columns
- 22
- Source cadence
- Monthly
- Last refreshed
- Oct 9, 2026
- Theme
- energy
| Column | Type | Description |
|---|---|---|
| month_date | date | First day of the observation month (panel join key). (unit: date) |
| year_month | string | Observation month as YYYY-MM. (unit: string) |
| country | string | Country name (JODI REF_AREA mapped to ISO 3166). (unit: string) |
| country_code | string | ISO 3166-1 alpha-3 country code (from JODI's alpha-2 REF_AREA). Panel join key. (unit: string) |
| production_kbd | float | Crude-oil indigenous production: marketable output after removal of impurities, including quantities consumed by producers (JODI INDPROD). (unit: thousand barrels/day) |
| prod_assess | string | JODI confidence colour code for production_kbd as published (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| imports_kbd | float | Crude-oil total imports (JODI TOTIMPSB). (unit: thousand barrels/day) |
| imports_assess | string | JODI confidence colour code for imports_kbd (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| exports_kbd | float | Crude-oil total exports (JODI TOTEXPSB). (unit: thousand barrels/day) |
| exports_assess | string | JODI confidence colour code for exports_kbd (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| refinery_intake_kbd | float | Crude oil delivered to refineries, observed (JODI REFINOBS). (unit: thousand barrels/day) |
| intake_assess | string | JODI confidence colour code for refinery_intake_kbd (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| direct_use_kbd | float | Crude oil burned directly (e.g. power generation) without refining (JODI DIRECUSE). (unit: thousand barrels/day) |
| direct_use_assess | string | JODI confidence colour code for direct_use_kbd (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| stock_change_kbbl | float | Change in crude-oil stocks during the month, as published in volume units; negative = stock draw (JODI STOCKCH). JODI publishes stock change only in volume units, never as a daily rate. (unit: thousand barrels) |
| stock_change_assess | string | JODI confidence colour code for stock_change_kbbl (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| closing_stocks_kbbl | float | Crude-oil stocks at end of month, standardised coverage (JODI CLOSTLV). (unit: thousand barrels) |
| stocks_assess | string | JODI confidence colour code for closing_stocks_kbbl (1 = blue, 2 = yellow, 3 = white). (unit: string) |
| net_imports_kbd | float | Net crude-oil imports: imports_kbd minus exports_kbd; negative = net exporter. Null when either leg is unpublished. (unit: thousand barrels/day) |
| stock_cover_days | float | Days of refinery intake covered by closing stocks: closing_stocks_kbbl / refinery_intake_kbd. Null when stocks or intake are unpublished or intake is zero. (unit: days) |
| production_yoy_pct | float | 12-month percent change of production_kbd versus the same month a year earlier; null unless the exact prior-year month is published (gaps never bridged). (unit: percent) |
| row_hash | string | Deterministic 16-hex sha256 of country_code + year_month + the raw flow values, derived values and confidence codes (idempotency key). (unit: string) |
First 10 sample rows — a preview, not the complete dataset.
| month_date | year_month | country | country_code | production_kbd | prod_assess | imports_kbd | imports_assess | exports_kbd | exports_assess | refinery_intake_kbd | intake_assess | direct_use_kbd | direct_use_assess | stock_change_kbbl | stock_change_assess | closing_stocks_kbbl | stocks_assess | net_imports_kbd | stock_cover_days | production_yoy_pct | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002-01-01 | 2002-01 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 29dde13dc329f3f2 |
| 2002-02-01 | 2002-02 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | d1f195a629ff036b |
| 2002-03-01 | 2002-03 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 0d72ebc9d94085c3 |
| 2002-04-01 | 2002-04 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 3eb1804f71e79f01 |
| 2002-05-01 | 2002-05 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 4e4fb2d9ea61028c |
| 2002-06-01 | 2002-06 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 642a46fa6f8dffe3 |
| 2002-07-01 | 2002-07 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 4b45f78e927f9371 |
| 2002-08-01 | 2002-08 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | 52a969b09916f83c |
| 2002-09-01 | 2002-09 | Angola | AGO | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | 3 | — | — | — | de9d4200ef69cdac |
| 2002-10-01 | 2002-10 | Angola | AGO | 887.766 | 3 | — | 3 | 821.076 | 3 | 31.074 | 3 | — | 3 | — | 3 | — | 3 | — | — | — | a841c0d8a6e540cd |
Profiled Oct 9, 2026 from snapshot 20261009T190141Z-b67ec6d28039
Measured- Completeness
- 82.1%
- Rows
- 34,656
- Columns
- 22
- Columns with gaps
- 10
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| month_datedate | 0% | 300 | Jan 1, 2002 → Jul 1, 2026 | — |
| year_monthvarchar | 0% | 310 | — |
|
| countryvarchar | 0% | 124 | — |
|
| country_codevarchar | 0% | 130 | — |
|
| production_kbddouble | 29.2% | 12,308 | 0 → 13,934median 20.81 | 243 outside 1st–99th percentile |
| prod_assessvarchar | 0% | 3 | — |
|
| imports_kbddouble | 30% | 15,406 | 0 → 32,181median 71.04 | 243 outside 1st–99th percentile |
| imports_assessvarchar | 0% | 3 | — |
|
| exports_kbddouble | 30.8% | 8,057 | -15.93 → 10,237median 0.2377 | 243 outside 1st–99th percentile |
| exports_assessvarchar | 0% | 3 | — |
|
| refinery_intake_kbddouble | 30.2% | 12,610 | 0 → 17,666median 178.55 | 242 outside 1st–99th percentile |
| intake_assessvarchar | 0% | 3 | — |
|
| direct_use_kbddouble | 66.2% | 922 | -32.5 → 911median 0 | 119 outside 1st–99th percentile |
| direct_use_assessvarchar | 0% | 3 | — |
|
| stock_change_kbbldouble | 34.4% | 8,687 | -64,114 → 52,962median 0 | 456 outside 1st–99th percentile |
| stock_change_assessvarchar | 0% | 3 | — |
|
| closing_stocks_kbbldouble | 36.6% | 14,470 | -54 → 1,112,324median 3,656 | 223 outside 1st–99th percentile |
| stocks_assessvarchar | 0% | 3 | — |
|
| net_imports_kbddouble | 33% | 15,425 | -10,237 → 13,196median 19.32 | 466 outside 1st–99th percentile |
| stock_cover_daysdouble | 49.6% | 17,270 | 0 → 33,096median 26.5 | 175 outside 1st–99th percentile |
| production_yoy_pctdouble | 53.2% | 14,680 | -100 → 6,914median -1.13 | 163 outside 1st–99th percentile |
| row_hashvarchar | 0% | 34,278 | — |
|
- CurrentFile published
20261009T190141Z-b67ec6d28039 · sha256 b67ec6d28039…
34,656 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/jodi_oil_intel/crude_oil_flows_monthly" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/jodi_oil_intel/crude_oil_flows_monthly").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/jodi_oil_intel/crude_oil_flows_monthly
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20261009T190141Z-b67ec6d28039 and its content hash, so readers get exactly the data you used.
JODI Oil World Database — Crude Oil Intelligence. (2026). JODI crude-oil flows, monthly (global) [Data set, snapshot 20261009T190141Z-b67ec6d28039, sha256 b67ec6d28039]. Datazimuts. Retrieved 2026-10-10, from https://datazimuts.com/en/datasets/jodi_oil_intel/crude_oil_flows_monthly?snapshot=20261009T190141Z-b67ec6d28039
@misc{dz_jodi_oil_intel_crude_oil_flows_monthly_b67ec6d2,
title = {{JODI crude-oil flows, monthly (global)}},
author = {{JODI Oil World Database — Crude Oil Intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/jodi_oil_intel/crude_oil_flows_monthly?snapshot=20261009T190141Z-b67ec6d28039}},
note = {Snapshot 20261009T190141Z-b67ec6d28039, sha256 b67ec6d280395a1090ed61eec9487c7863b3b56d6d869e69d45c1a06a1b7a745; accessed 2026-10-10}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=jodi_oil_intel%2Fcrude_oil_flows_monthly&lang=en&theme=auto&snapshot=20261009T190141Z-b67ec6d28039&x=month_date&y=production_kbd&agg=avg" title="JODI crude-oil flows, monthly (global)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.