PAKDATAHUB

The rupee since 1947 — USD/PKR history via the API

Fetch the full USD/PKR exchange-rate history back to 1947 from the PakDataHub API, chart it, and rebase it to an index — with copy-paste curl, Python and pandas examples.

PakDataHub · 18 Sept 2026 · 1 min read

The Pakistani rupee has gone from about 3.3 to the dollar at independence to well over 200 today. PakDataHub carries the full monthly USD/PKR history from 1947, sourced from the State Bank of Pakistan. Here's how to pull it.

The series

fx.rate.avg.usd is the monthly-average PKR-per-USD rate. Request it ascending from 1947 for the whole run:

curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/series/fx.rate.avg.usd?from=1947-01-01&sort=asc"

For the latest print only (cheap, cacheable — good for a ticker):

curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/series/fx.rate.avg.usd/latest"

Other currencies and effective rates

The same pattern works for fx.rate.avg.eur, .gbp, .jpy, .sar, .aed, .cny, plus month-end variants (fx.rate.monthend.usd) and the effective-rate indices fx.effective.reer / fx.effective.neer.

Rebase to an index

To compare currencies on one axis, rebase each to 100 at the start of your window with a server-side transform:

curl -H "X-API-Key: pk_live_xxx" \
  "https://api.pakdatahub.com/v1/series/fx.rate.avg.usd?from=2000-01-01&transform=index&sort=asc"

Into a DataFrame

import pandas as pd
url = ("https://api.pakdatahub.com/v1/series/fx.rate.avg.usd"
       "?from=1947-01-01&sort=asc&format=csv&api_key=pk_live_xxx")
df = pd.read_csv(url, parse_dates=["date"])
print(df.iloc[0], df.iloc[-1])

Prefer a no-code view?

The USD/PKR history tool charts the whole series and lets you pick any year to see the rate then. For everything else, browse the catalog or read the API docs.

Get the data behind this post

Every number here is one API call away — official SBP, PBS, PTA and MUFAP data, free to start.

Related