Pakistan fuel price data
Every pump price the Oil and Gas Regulatory Authority (OGRA) and Pakistan State Oil (PSO) have published since 2006, as files, an API, and the documents behind them.
Download the record
- Download JSON
Notified prices since 2006
Effective date, petrol, diesel, kerosene and light diesel oil, in rupees per litre, with the PSO page capture each row was read from.
- Download CSV
Daily build-ups since 21 July 2026
One row per fuel per day: OGRA’s pump price, every line of the build-up, the four groups, and whether PSO’s price agreed.
- Download JSON
The full day record
Every published day as JSON: build-up lines, groups, the source document and its SHA-256, and any notes.
API
GET /v2/prices
Every notified price since 2006. Each row is [effective_date, petrol, diesel, kerosene, light_diesel, snapshot], where snapshot points into the list of PSO page captures.
Trimmed to the two newest rows.
{
"columns": ["effective_date", "petrol", "diesel", "kerosene", "light_diesel", "snapshot"],
"notifications": [
["2026-10-09", 398.96, 395.72, 329.54, 272.29, 79],
["2026-10-10", 398.3, 396.24, 330.14, 266.41, 80]
]
}GET /v2/days/2026-10-10
One day: each fuel’s pump price, OGRA’s printed rupee lines, the three groups and how each is reached from the printed letters, and every lettered row with its unit.
Trimmed to petrol, two of its lines and three of its lettered rows.
{
"effective_date": "2026-10-10",
"products": {
"petrol": {
"pump_price": 398.3,
"source": "ogra",
"cross_checked": true,
"scheme": "product_quote",
"lines": [
{
"key": "cost_and_freight",
"value": 260.82,
"group": "fuel"
},
{
"key": "petroleum_levy",
"value": 80,
"group": "government"
}
],
"groups": {
"fuel": 262.58,
"pump": 25.78,
"government": 109.94
},
"groups_from": {
"fuel": "L-K",
"pump": "M+N+O",
"government": "K+Q+R+S"
},
"printed": [
{
"letter": "A",
"concept": "crude_quote",
"value": 133.48,
"unit": "USD/bbl"
},
{
"letter": "B",
"concept": "premium",
"value": 16.12,
"unit": "USD/bbl"
},
{
"letter": "F",
"concept": "cost_and_freight_pkr",
"value": 260.82,
"unit": "Rs/L"
}
]
}
}
}GET /v2/latest returns the newest published day in the same shape, and GET /v2/days?from=&to= a range.
/v1 is frozen and will be retired on 5 January 2027. Its crude_oil, premium_and_freight and other split lines are marked "calculated": true, because OGRA prints their total as one figure.
6 October 2026: /v1/latest and /v2/latest no longer report a price as carried past a withheld day. Such products move to unsettled, with the withheld date and the last settled price.
null means the document carries no figure. 0 means it printed nought.
Licence and limits
The compiled record (prices, build-up lines and the way they’re structured here) is published by ek litre under CC BY 4.0. Credit it as “ek litre (eklitre.pk), from OGRA and PSO notifications.”
The source documents are OGRA’s and PSO’s. They’re archived as received, and this licence doesn’t cover them. The data is provided as is; disputed and withheld readings are flagged on the data checks page.
No API key needed. Please keep to 60 requests a minute or fewer from one IP address; heavier traffic may get HTTP 429 with a Retry-After header. For the whole series, download the files rather than requesting each day.
The documents behind every figure
- Open the archive
Source archive
Every OGRA and PSO document these prices were read from, each with its SHA-256.
- Open the scans
Scanned record before 2026
Kerosene’s build-up, read from OGRA’s photographed documents. Kept apart from the record above.
Data checks
Where sources disagree or a reading is withheld, it’s logged with both documents.
days published, withheld. of prices match the copy PSO republishes.