About the data

Pakistan Petrol Price is an independent public information utility. We are not affiliated with or endorsed by the Oil and Gas Regulatory Authority (OGRA).

What petrol price do we show?

We report OGRA’s notified petrol (Motor Spirit/MS) price in Pakistani rupees per litre. The homepage uses the latest individually verified official record whose effective date has arrived in Asia/Karachi.

The figure is the ex-depot notified price, excluding secondary freight. Transport from a depot to a petrol pump can affect retail prices. The number is not a guarantee of the price at every pump in Pakistan.

Where does the data come from?

  1. OGRA price publications are the authoritative source. We discover dated English publications and extract the final total petrol-price row from the document.
  2. OilPrices.pk’s structured API and historical dataset are used for historical imports and secondary comparison. We retain the original attribution rather than relabelling these imports as our own official extraction.

How do we verify prices?

We validate the product, unit, currency, positive price, decimal precision, source identity, and effective date. The date inside the official document must match the publication entry. Parsing is deterministic; we do not use AI to infer prices.

Secondary comparisons use the same product and effective date. An older secondary record indicates a lag, not a disagreement. If comparable observations disagree, we retain both, flag the candidate for inspection, and keep the previous verified price visible.

Large movements are flagged for review. Historical rows imported from OilPrices.pk are labelled “Imported · independently unchecked” until each is individually checked against an official publication.

When does the site update?

The baseline checks official sources daily around 07:00–08:00 Pakistan time using Vercel Hobby scheduling. The effective date is when a notification takes effect; “Last successful source check” is when a complete source check succeeded. They are different timestamps. Price verification time is shown separately.

We process missed publications and retry unsuccessful extraction. A new notification may appear between scheduled checks. Calendar gaps do not require invented daily records.

What happens when an update fails?

A failed download, ambiguous document, overdue source check, or unresolved disagreement triggers a freshness message. The last verified number stays available. We never replace it with zero, null, or a guessed price. If no verified record exists yet, the site says so and links to OGRA.

History and chart limitations

The chart plots actual effective records on their dates. Step segments show the notified rate holding between those records; they do not add observations. The history table provides exact values and source links, including a textual equivalent of the chart.

Available coverage depends on the captured publications and imported dataset. “All” means all records held by this site, not an assertion of complete historical coverage. Future-effective publications are stored but excluded from today’s displayed price.

Attribution and licence

Fuel price data from OilPrices.pk, CC BY 4.0. We normalise product names, calculate changes, and may independently verify individual imported records. OilPrices.pk is also independent of OGRA.

Read-only JSON access

These endpoints expose source-linked data without database internals. Prices are in PKR; dates use the notification’s effective date.

GET /api/v1/prices/latest?product=petrol

GET /api/v1/prices/history?product=petrol&limit=100

History accepts a limit from 1 to 500, a four-digit year, and an exclusive before=YYYY-MM-DD cursor. Imported rows expose their verification status. The latest endpoint returns only verified prices.