# The rupee since 1947 - USD/PKR history via the API

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:

```bash
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):

```bash
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:

```bash
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

```python
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](https://pakdatahub.com/tools/usd-pkr-history) charts the whole series and lets you pick
any year to see the rate then. For everything else, browse the [catalog](https://pakdatahub.com/coverage) or read
the [API docs](https://pakdatahub.com/docs).

---
Published 2026-09-18 - https://pakdatahub.com/blog/usd-pkr-since-1947
