For macro researchers
If you study the Pakistani economy, PakDataHub is your primary-source layer. It gives you official series, cleaned and dated, through one API, instead of a dozen government sites and PDFs.
The core macro series
| Area | Ids |
|---|---|
| Growth & activity | gdp.growth_rate_real_gross_domestic_product_4 (quarterly), gdp.gross_domestic_product_total_gross_value_add_3 (1950-2000), industry.lsm.qim, auto.sales_cars, power.electricity_generation_hydel |
| Prices | inflation.cpi.national.yoy, inflation.urban_nfne_core_inflation_inflation_measure, inflation.wpi, CPI by group (inflation.cpi.urban.<group>), long-run industry.general_cpi_inflation_measure_year_year_2 (1964 →) |
| External | bop.current_account_balance_3, reserves.total_sbp_reserves (1948 →), remittances.total_inflow_workers_remittances (1972 →), debt.external.total_external_debt_liabilities |
| Money & rates | banking.m2, rates.policy_target, rates.reverse_repo (1956 →), deep KIBOR banking.<tenor>_karachi_interbank_offer |
| Exchange rates | fx.rate.avg.usd (1947 →), fx.effective.reer, fx.effective.neer |
A typical workflow
import pandas as pd
KEY = "pk_live_xxx"
def series(sid, **p):
q = "&".join(f"{k}={v}" for k, v in {"format": "csv", "sort": "asc", "limit": 10000, **p}.items())
return (pd.read_csv(f"https://api.pakdatahub.com/v1/series/{sid}?{q}&api_key={KEY}",
parse_dates=["date"]).set_index("date")["value"].rename(sid))
df = pd.concat([series("inflation.cpi.national.yoy"),
series("fx.rate.avg.usd", transform="yoy"),
series("remittances.total", transform="yoy")], axis=1)
Every series has the same shape, so joining inflation, the exchange rate and remittances into one frame is a few lines.
Reproducibility
- Primary sources: every value is a primary release, dated and sourced (
meta.source, andsource_urlin the catalog). - Revision vintages (Pro): request data as it stood on a past date, for real-time analysis and revision studies.
- Transforms: YoY, MoM, index and moving averages are computed server-side, so your numbers match the API's.
- Freshness: the status endpoint shows how current each module is.