PAKDATAHUB
Docs · API reference

For AI agents: this page is available as raw Markdown at /docs/api-commodities.md · every page in one file at /llms-full.txt · index at /docs/llms.txt

Commodities

Weekly retail prices from the Pakistan Bureau of Statistics' Sensitive Price Indicator (SPI): 30 essential items, reported for 17 cities plus a national average. These are shortcuts over the commodities.* series, which carry a city dimension.

GET /v1/commodities/items · public

Every item, with its id and unit:

{ "success": true, "data": [
  { "id": "commodities.wheat_flour", "name": "Wheat Flour (20 Kg Bag)", "unit": "pkr_per_20kg" },
  { "id": "commodities.rice_basmati", "name": "Rice Basmati Broken", "unit": "pkr_per_kg" },
  { "id": "commodities.milk_fresh", "name": "Milk Fresh (Un-boiled)", "unit": "pkr_per_litre" }
] }

Items: wheat_flour, rice_basmati, rice_irri, bread, beef, mutton, chicken, milk_fresh, eggs, sugar, gur, salt, tea_packet, cooking_oil, mustard_oil, vegetable_ghee_loose, vegetable_ghee_tin, pulse_masoor, pulse_moong, pulse_mash, pulse_gram, potatoes, onions, tomatoes, garlic, petrol, diesel, lpg, gas, electricity.

Check the unit. Units vary by item. Most are per kg, but some aren't:

Item Unit
wheat flour per 20 kg bag
eggs per dozen
milk, petrol, diesel per litre
cooking oil per 5 litres
vegetable ghee (tin) per 2.5 kg
tea per 190 g pack
salt per 800 g
LPG per cylinder
gas per MMBTU
electricity per unit
bread each

GET /v1/commodities/cities · public

{ "success": true, "data": ["bahawalpur","bannu","faisalabad","gujranwala","hyderabad","islamabad","karachi","khuzdar","lahore","larkana","multan","national","peshawar","quetta","rawalpindi","sargodha","sialkot","sukkur"] }

national is the unweighted mean across the reporting cities.

GET /v1/commodities 🔑

The national-average price series for one item.

Param Type Default Notes
item string required wheat_flour, commodities.wheat_flour (either works)
from, to date - Date window (weeks end on Thursday)
limit int 1000 1-10000
sort asc|desc desc
curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/commodities?item=wheat_flour&limit=2"

The response uses the standard series envelope, with data[].dims = {"city": "national"}.

GET /v1/commodities/by-city 🔑

The same item in one city.

Param Type Notes
item string required
city string required, one of /cities
from, to, limit, sort as above
curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/commodities/by-city?item=petrol&city=lahore&from=2026-01-01&sort=asc"

Equivalent generic call

The same data through /v1/series. This form also accepts transforms:

curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/series/commodities.sugar?dims=city:karachi&transform=yoy"
  • A per-city cost-of-living index built from these prices: series cost_of_living.<city> (weekly, rebased to 100), and the free cost-of-living tool.
  • Coverage and history: Commodities dataset.
View as Markdown (.md)