Building an AI agent? Start with /llms.txt for the full site index.
Macroeconomics
World Bank development indicators — long-run cross-country macro series sourced directly from the World Bank.
GET /v2/datasets/macro-worldbankWorld Bank macro is a Taiwan market dataset sourced from World Bank, served by TW Market Data as GET /v2/datasets/macro-worldbank.
macro-worldbank returns one row per indicator per year for World Bank development indicators. It is international-source macro context, not a TWSE feed; each row names the World Bank indicator code in its lineage so a value can be reconciled against the original World Bank series.
| Field | Type | Description |
|---|---|---|
country_iso | string | |
country_name | string | |
indicator_code | string | |
indicator_name | string | |
year | number | Reference year. |
value | number | Indicator value for the year. |
source_group | string | |
license | string |
| Rows | 1,363,937 |
| Window | 1960 – 2025 |
| Grade | Verified |
| Measured | 2026-09-01from the dataset registry |
A real response from this endpoint. Rows are returned under "data", and provenance is carried in the shape shown below — it is not identical across datasets, so read this page's rather than assuming another's.
{
"api_version": "v2",
"endpoint": "/v2/datasets/macro-worldbank",
"request_id": "req_b747ed1ecfac",
"plan_id": "enterprise",
"dataset": "macro_worldbank",
"dataset_id": "macro_worldbank",
"request_context": {
"scope": "worldbank_wdi_country_indicator_panel",
"coverage_type": "worldbank_open_data_wdi_ccby",
"filters": {
"country_iso": null,
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": null,
"year_from": null,
"year_to": null,
"limit": 50
},
"min_year": 2025,
"max_year": 2025
},
"quality": {
"row_count": 50,
"country_count": 50,
"indicator_count": 1,
"raw_payload_exposed": false
},
"lineage": {
"source_groups": [
"WorldBank"
],
"source_providers": [
"worldbank_open_data"
],
"source_families": [
"WorldBank_WDI"
],
"license": "CC-BY"
},
"error": null,
"data": [
{
"country_iso": "ABW",
"country_name": "Aruba",
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": "Population ages 0-14 (% of total population)",
"year": 2025,
"value": 16.5191058508056,
"source_group": "WorldBank",
"license": "CC-BY",
"lineage": {
"source": "worldbank_wdi_v2",
"endpoint": "api.worldbank.org"
}
},
{
"country_iso": "AFE",
"country_name": "Africa Eastern and Southern",
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": "Population ages 0-14 (% of total population)",
"year": 2025,
"value": 40.0294227514603,
"source_group": "WorldBank",
"license": "CC-BY",
"lineage": {
"source": "worldbank_wdi_v2",
"endpoint": "api.worldbank.org"
}
}
],
"data_count": 50,
"known_gaps": [
"worldbank_wdi_annual_panel",
"taiwan_absent_worldbank_non_member_use_business_indicator",
"not_taiwan_market_data"
],
"data_gaps": [
"worldbank_wdi_annual_panel",
"taiwan_absent_worldbank_non_member_use_business_indicator",
"not_taiwan_market_data"
],
"query": {
"country_iso": null,
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": null,
"year_from": null,
"year_to": null,
"limit": 50
},
"meta": {
"rows_returned": 50,
"mandatory_contract_fields_present": [
"data",
"error",
"lineage"
],
"plan": "enterprise",
"row_limit": 100000,
"is_limited": false
},
"warnings": [
"not_investment_advice"
],
"envelope": {
"dataset_id": "macro_worldbank",
"request_context": {
"scope": "worldbank_wdi_country_indicator_panel",
"coverage_type": "worldbank_open_data_wdi_ccby",
"filters": {
"country_iso": null,
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": null,
"year_from": null,
"year_to": null,
"limit": 50
},
"min_year": 2025,
"max_year": 2025
},
"quality": {
"row_count": 50,
"country_count": 50,
"indicator_count": 1,
"raw_payload_exposed": false
},
"lineage": {
"source_groups": [
"WorldBank"
],
"source_providers": [
"worldbank_open_data"
],
"source_families": [
"WorldBank_WDI"
],
"license": "CC-BY"
},
"error": null,
"data": [
{
"country_iso": "ABW",
"country_name": "Aruba",
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": "Population ages 0-14 (% of total population)",
"year": 2025,
"value": 16.5191058508056,
"source_group": "WorldBank",
"license": "CC-BY",
"lineage": {
"source": "worldbank_wdi_v2",
"endpoint": "api.worldbank.org"
}
},
{
"country_iso": "AFE",
"country_name": "Africa Eastern and Southern",
"indicator_code": "SP.POP.0014.TO.ZS",
"indicator_name": "Population ages 0-14 (% of total population)",
"year": 2025,
"value": 40.0294227514603,
"source_group": "WorldBank",
"license": "CC-BY",
"lineage": {
"source": "worldbank_wdi_v2",
"endpoint": "api.worldbank.org"
}
}
],
"known_gaps": [
"worldbank_wdi_annual_panel",
"taiwan_absent_worldbank_non_member_use_business_indicator",
"not_taiwan_market_data"
],
"warnings": [
"not_investment_advice"
],
"envelope": {
"dataset_id": "macro_worldbank",
"scope": "worldbank_wdi_country_indicator_panel",
"row_count": 50
}
}
}Captured from the live API on 2026-07-20.
These columns are returned alongside the data and record where the row came from. They are provenance, not the dataset's subject matter, so they are listed here rather than in the field table.
lineageSource: World Bank Open Data
TW Market Data. (n.d.). World Bank macro [Data set]. TW Market Data. Retrieved 2026-09-05, from https://twmarketdata.com/en/docs/api/macro/macro-worldbank
The version is the dataset's own as_of, not the date this page was built. Where we have no as_of the field is left out rather than filled in. Check a signature
Datasets that join with this one. The key each pair aligns on is shown, so you can plan a multi-table query without guessing.
Same domain: macro
Same domain: macro
Same domain: macro
Same domain: macro
Same domain: macro
curl "https://api.twmarketdata.com/v2/datasets/macro-worldbank?country=TWN" \
-H "X-API-Key: sk_live_..."| Parameter | Required | Type | Description |
|---|---|---|---|
country | No | string | Country code, e.g. TWN. |
import requests
resp = requests.get(
"https://api.twmarketdata.com/v2/datasets/macro-worldbank",
params={"country": "TWN"},
headers={"X-API-Key": "sk_live_..."},
)
resp.raise_for_status()
print(resp.json()["data"])This endpoint is GET /v2/datasets/macro-worldbank. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.