# 🇹🇼 Taiwan CBC Macro + FX Rates · 中央銀行匯率利率 (`nexgendata/taiwan-cbc-macro-fx-rates`) Actor

Taiwan Central Bank (CBC) macro indicators and Bank of Taiwan daily FX rates — interest rates, money supply, foreign reserves, and TWD vs USD/JPY/EUR/CNY/+15 currencies. Keyless, no auth. ROC↔Gregorian normalization.

- **URL**: https://apify.com/nexgendata/taiwan-cbc-macro-fx-rates.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 macro records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🏦 Taiwan CBC Macro + FX Rates — Central Bank Statistics

**Taiwan's central-bank macro stack — interest rates, money supply, foreign reserves, plus the cleanest daily FX rate feed in APAC — in one normalized actor.** Bank of Taiwan's state-owned daily CSV is the de-facto CBC reference rate. CBC's English statistics portal supplies the policy series. Both keyless, both no-auth, both refreshed every business day.

The Central Bank of the Republic of China (Taiwan) — `央行 / Central Bank of the Republic of China (Taiwan)` — publishes the official monetary aggregates, policy rate, rediscount rate, and foreign-reserve balance for the world's 21st-largest economy. **Bank of Taiwan** (`臺灣銀行`), a state-owned bank operating under Central Bank Act §13, mirrors the CBC reference exchange rates daily in a public CSV — making it functionally the FX-window quote sheet for the entire TWD market.

This actor wraps both. No third-party rewrite, no aggregator overlay. Every record links back to its upstream URL on `cbc.gov.tw` or `rate.bot.com.tw`.

---

### What you get

- **Daily TWD FX matrix** — USD, JPY, EUR, CNY, HKD, GBP, AUD, CAD, SGD, CHF, ZAR, SEK, NZD, THB, PHP, IDR, KRW, VND, MYR vs TWD. Cash + spot + 7 forward tenors (10/30/60/90/120/150/180-day) × bank-buy + bank-sell sides. **~340 quote rows per business day.**
- **CBC policy series** — interest rates (policy / rediscount / accommodations), monetary aggregates (M1A, M1B, M2 year-on-year), monthly foreign-reserve balance in USD billions.
- **No authentication required** — both upstream sources are keyless. Bank of Taiwan's `rate.bot.com.tw/xrt/flcsv/0/day` returns `text/csv` directly; the CBC `cbc.gov.tw/en/` statistics pages are server-rendered.
- **ROC↔Gregorian date normalization** — Taiwan emits ROC-calendar dates (`民國年` — `115` = 2026). The actor normalizes to ISO `YYYY-MM-DD` on every record.
- **Bilingual labels** — every record carries both `series_name_tc` (Traditional Chinese) and `series_name_en` (English). FX records also expose `currency_code` (ISO 4217), `quote_currency`, `side` (`buy` / `sell`), and `tenor` (`cash` / `spot` / `fwd_10d` … `fwd_180d`) for downstream filtering.
- **Normalized schema** — one row shape across all four series types makes the output a drop-in for downstream macro pipelines.

---

### 繁體中文簡介

**中央銀行（CBC）總體經濟與外匯匯率擷取工具** — 本 Actor 整合中央銀行英文統計入口網（`cbc.gov.tw/en/`）以及臺灣銀行（國營行庫）每日牌告匯率 CSV（`rate.bot.com.tw/xrt/flcsv/0/day`），輸出標準化的時間序列資料。

支援以下資料類型：

- **fx_rates（外匯匯率）** — 臺灣銀行每日牌告：美元、日圓、歐元、人民幣、港幣、英鎊、澳幣、加幣、新加坡幣、瑞士法郎、南非幣、瑞典克朗、紐西蘭幣、泰銖、菲律賓披索、印尼盾、韓元、越南盾、馬來西亞令吉 — 共 19 種貨幣對新台幣（TWD）的本行買入／賣出價，含現金匯率、即期匯率、與 10/30/60/90/120/150/180 天遠期匯率。每個營業日約 340 筆報價。
- **interest_rates（利率）** — 央行政策利率、重貼現率、擔保放款融通利率。
- **money_supply（貨幣供給）** — M1A、M1B、M2 年增率。
- **foreign_reserves（外匯存底）** — 央行每月公布的外匯存底餘額（單位：十億美元）。

每筆記錄都包含繁體中文（`series_name_tc`）與英文（`series_name_en`）兩種欄位名稱，並標註資料來源 URL（`source_url`）供稽核追溯。匯率記錄額外提供 ISO 4217 貨幣代碼（`currency_code`）、報價方向（`side`）與天期（`tenor`），方便下游程式進一步篩選。

**所有資料來源皆為公開、免金鑰、無需登入。** 中央銀行依《中央銀行法》第 13 條負有統計公布義務；臺灣銀行牌告匯率依《銀行法》第 29 條為公開參考資料。本 Actor 僅複製原始公開記錄，未經任何重寫、推論或第三方加工。

---

### Use cases

- **APAC macro desk** — pair with the Japan BoJ and Korea BoK series for a unified APAC-rate signal. The CBC policy rate + Bank of Taiwan FX feed sits naturally next to JGB and KRW data.
- **TWD FX traders** — daily bank-buy / bank-sell quotes from Bank of Taiwan are the on-shore TWD reference. Forward tenors (10d → 180d) cover the entire onshore TWD forward curve in one pull.
- **Semi supply-chain analysts** — TSMC, MediaTek, Hon Hai, and UMC all hedge / report in TWD. Daily FX matrix + CBC monetary aggregates are the macro overlay every semi-supply-chain model needs.
- **Macro-economic research / AI agents** — feed the normalized series into LLM-based macro briefings. The bilingual `series_name_tc` / `series_name_en` fields make this an MCP-ready data shape.
- **Cross-region arbitrage** — CNY/TWD vs CNY/USD (offshore), JPY/TWD vs JPY/USD — compute synthetic crosses from the on-shore TWD reference.
- **TWD-denominated FP&A** — Taiwan-based subsidiaries of multinationals need daily FX for monthly close. The Bank of Taiwan CSV is the cleanest public source.

---

### 🔗 Related Actors

NexGenData publishes the full APAC + global macro / market-data cluster on Apify. Composable into any cross-border macro or equity workflow:

| Actor | What it does |
|---|---|
| [Taiwan TWSE Stock Screener](https://apify.com/nexgendata/twse-stock-screener) | Taiwan Stock Exchange + TPEx mainboard quotes, screening, factor pulls |
| [Japan EDINET Insider Filings](https://apify.com/nexgendata/japan-edinet-insider-filings) | EDINET-mandated material disclosures from Japanese listed entities |
| [ASX Company Announcements](https://apify.com/nexgendata/asx-company-announcements) | Australian Securities Exchange company announcement feed |
| [SGX Company Announcements](https://apify.com/nexgendata/sgx-company-announcements) | Singapore Exchange listed-company disclosures |
| [SEC EDGAR Search](https://apify.com/nexgendata/sec-edgar-search) | SEC EDGAR full-text search across all US filings |
| [US Government Contracts Search](https://apify.com/nexgendata/government-contracts-search) | Federal procurement awards from USA Spending |
| [Regulatory Filings MCP](https://apify.com/nexgendata/regulatory-filings-mcp) | One-tool-call MCP server over the NexGenData regulatory cluster |

Browse the full fleet: [apify.com/nexgendata?fpr=2ayu9b](https://apify.com/nexgendata?fpr=2ayu9b)

---

### How to use

#### Default — pull every series

```json
{
  "data_type": "all",
  "max_records": 200
}
````

Pulls the full FX matrix from Bank of Taiwan, then the CBC interest / money-supply / foreign-reserves pages — up to 200 records total.

#### USD/TWD daily snapshot

```json
{
  "data_type": "fx_rates",
  "currency_pair_filter": "USD/TWD",
  "max_records": 20
}
```

Bank of Taiwan's USD vs TWD quote — cash + spot + 7 forward tenors × bank-buy + bank-sell. ~18 rows per day.

#### CNY/TWD on-shore reference

```json
{
  "data_type": "fx_rates",
  "currency_pair_filter": "CNY/TWD",
  "max_records": 20
}
```

Useful for synthetic CNY/USD crosses computed against Bank of Taiwan's on-shore TWD reference. Pairs nicely with the offshore CNH-USD quote from a separate source.

#### Foreign reserves only

```json
{
  "data_type": "foreign_reserves",
  "date_from": "2026-01-01",
  "date_to": "2026-06-01",
  "max_records": 50
}
```

Pulls the most recent foreign-reserves balance from CBC's English portal.

***

### Sample output

FX rate record (`data_type=fx_rates`):

```json
{
  "data_type": "fx_rates",
  "date": "2026-06-01",
  "series_name_tc": "美元/本行買入/即期",
  "series_name_en": "US Dollar (USD/TWD) bank buy Spot",
  "value": 31.295,
  "unit": "TWD",
  "source_url": "https://rate.bot.com.tw/xrt/flcsv/0/day",
  "currency_code": "USD",
  "quote_currency": "TWD",
  "side": "buy",
  "tenor": "spot",
  "scraped_at": "2026-06-01T14:25:18Z"
}
```

CBC interest-rate record (`data_type=interest_rates`):

```json
{
  "data_type": "interest_rates",
  "date": "2026-06-01",
  "series_name_tc": "利率/Rediscount Rate",
  "series_name_en": "Interest rate: Rediscount Rate",
  "value": 2.0,
  "unit": "%",
  "source_url": "https://www.cbc.gov.tw/en/lp-645-2.html",
  "scraped_at": "2026-06-01T14:25:19Z"
}
```

***

### FAQ

**Q: Where does the data come from?**
A: Two upstream sources, both keyless and publicly published.

1. **Bank of Taiwan daily FX CSV** — `https://rate.bot.com.tw/xrt/flcsv/0/day`. State-owned bank operating under the Banking Act §29 public-reference-data regime.
2. **CBC English statistics portal** — `https://www.cbc.gov.tw/en/`. Central Bank of the Republic of China (Taiwan), statutory publication mandate under Central Bank Act §13.

**Q: Why Bank of Taiwan instead of CBC for FX rates?**
A: CBC's own `CMGetDataSrv` SOAP endpoint returns server-rendered HTML rather than machine-readable rates. Bank of Taiwan publishes a clean daily CSV that mirrors the CBC reference rate; it is the de-facto on-shore TWD quote sheet. Cleanest FX endpoint in the entire APAC cluster — no auth, no JS-render, no anti-bot.

**Q: How does ROC date normalization work?**
A: Taiwan government data emits ROC-calendar dates (`民國年` / Republic of China year — `115` = 2026). The actor normalizes every emitted `date` field to ISO `YYYY-MM-DD` Gregorian so downstream pipelines never have to learn the conversion. The `source_url` always points to the unmodified upstream record.

**Q: What's the difference between `cash`, `spot`, and `fwd_*` tenors?**
A: `cash` = physical-currency banknote rate (`現金匯率`). `spot` = wire-transfer / spot settlement rate (`即期匯率`). `fwd_NNd` = N-day forward rate (`遠期匯率`). Bank of Taiwan publishes all three sides for major currencies; minor currencies (THB, PHP, IDR, KRW, VND, MYR, ZAR, SEK) typically only quote cash + spot.

**Q: How is Traditional Chinese (繁體中文) handled?**
A: Every record carries `series_name_tc` (TC) and `series_name_en` (English) side-by-side. The CSV from Bank of Taiwan is UTF-8 with BOM; the actor strips the BOM and emits clean UTF-8 strings. Use `lang="zh-Hant-TW"` in your downstream renderer for correct font hinting on glyphs like `臺` and `灣` (Noto Sans CJK TC is the recommended font family — `Noto Sans CJK SC` does not render TW-specific glyphs correctly).

**Q: Is this scraping?**
A: No — Bank of Taiwan and CBC both publish these data products for programmatic ingestion. The CSV endpoint is publicly documented; the CBC English portal is the official statistical-publication interface mandated by Central Bank Act §13. No part of the data is rewritten, inferred, or third-party-aggregated.

**Q: How frequently is each series updated?**
A: Bank of Taiwan FX CSV refreshes throughout the business day (latest published quote at request time). CBC interest rates are policy-event-driven — typically updated after the quarterly Board of Directors meeting. Money supply and foreign reserves are monthly, released by CBC about 25 days after month-end.

***

### About NexGenData

NexGenData publishes 250+ premium financial, governance, regulatory, and market actors on Apify — primary-source data from every major US and international regulator, exchange, and central bank. Consistent pay-per-event pricing, full audit trails, fleet-wide quality. Browse the full fleet: [apify.com/nexgendata?fpr=2ayu9b](https://apify.com/nexgendata?fpr=2ayu9b)

Contact: hello@thenextgennexus.com

***

*Bank of Taiwan and the Central Bank of the Republic of China (Taiwan) are the upstream publishers of the data products this actor reads. Both sources are public, keyless, and published under Taiwan's open-data framework. This actor reproduces the public record at machine scale — no part of the data is rewritten, inferred, or third-party-aggregated. The Bank of Taiwan CSV is licensed under the Banking Act §29 public-reference-data regime; the CBC English portal under the Central Bank Act §13 statistical-publication mandate.*

# Actor input Schema

## `data_type` (type: `string`):

Which Taiwan macro series to pull. `fx_rates` = Bank of Taiwan daily FX rates (USD/JPY/EUR/CNY/+15 vs TWD, cash + spot + 10/30/60/90/120/150/180-day forwards). `interest_rates` = CBC policy rate, rediscount rate, accommodations rates from the CBC English statistics portal. `money_supply` = CBC monetary aggregates (M1A, M1B, M2 year-on-year). `foreign_reserves` = CBC monthly foreign-reserve balance (billion USD). `all` (default) pulls every series, ordered FX → interest → money → reserves up to `max_records`.

## `currency_pair_filter` (type: `string`):

Optional FX pair filter, e.g. `USD/TWD`, `JPY/TWD`, `EUR/TWD`, `CNY/TWD`. Accepts `USD/TWD`, `USD-TWD`, `USDTWD`, or just `USD` (all Bank of Taiwan rates are quoted vs TWD, so the quote side defaults to TWD if omitted). Only applies when `data_type` is `fx_rates` or `all`. Leave blank to emit all currency pairs (USD + JPY + EUR + CNY + HKD + GBP + AUD + CAD + SGD + CHF + ZAR + SEK + NZD + THB + PHP + IDR + KRW + VND + MYR).

## `date_from` (type: `string`):

Inclusive ISO start date for the requested series. Defaults to 30 days before run start. Used for date-range labelling on the output records and to bound the historical pull from CBC. Bank of Taiwan FX rates are always the most recent published day (single snapshot); date\_from/date\_to act as informational context fields on FX records.

## `date_to` (type: `string`):

Inclusive ISO end date for the requested series. Defaults to today (UTC). Used for date-range labelling on the output records.

## `max_records` (type: `integer`):

Hard cap on records emitted (and metered for billing). Defaults to 100. Raise this for full FX matrix pulls (~340 quotes/day when all currencies × buy/sell × cash/spot/7 forward tenors are enabled) or historical CBC time-series pulls.

## Actor input object example

```json
{
  "data_type": "all",
  "max_records": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "data_type": "all",
    "currency_pair_filter": "",
    "date_from": "",
    "date_to": "",
    "max_records": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/taiwan-cbc-macro-fx-rates").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "data_type": "all",
    "currency_pair_filter": "",
    "date_from": "",
    "date_to": "",
    "max_records": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/taiwan-cbc-macro-fx-rates").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "data_type": "all",
  "currency_pair_filter": "",
  "date_from": "",
  "date_to": "",
  "max_records": 100
}' |
apify call nexgendata/taiwan-cbc-macro-fx-rates --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/taiwan-cbc-macro-fx-rates",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🇹🇼 Taiwan CBC Macro + FX Rates · 中央銀行匯率利率",
        "description": "Taiwan Central Bank (CBC) macro indicators and Bank of Taiwan daily FX rates — interest rates, money supply, foreign reserves, and TWD vs USD/JPY/EUR/CNY/+15 currencies. Keyless, no auth. ROC↔Gregorian normalization.",
        "version": "0.0",
        "x-build-id": "41hYMiOZ8N3rnLST3"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~taiwan-cbc-macro-fx-rates/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-taiwan-cbc-macro-fx-rates",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~taiwan-cbc-macro-fx-rates/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-taiwan-cbc-macro-fx-rates",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~taiwan-cbc-macro-fx-rates/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-taiwan-cbc-macro-fx-rates",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "data_type"
                ],
                "properties": {
                    "data_type": {
                        "title": "Data type",
                        "enum": [
                            "fx_rates",
                            "interest_rates",
                            "money_supply",
                            "foreign_reserves",
                            "all"
                        ],
                        "type": "string",
                        "description": "Which Taiwan macro series to pull. `fx_rates` = Bank of Taiwan daily FX rates (USD/JPY/EUR/CNY/+15 vs TWD, cash + spot + 10/30/60/90/120/150/180-day forwards). `interest_rates` = CBC policy rate, rediscount rate, accommodations rates from the CBC English statistics portal. `money_supply` = CBC monetary aggregates (M1A, M1B, M2 year-on-year). `foreign_reserves` = CBC monthly foreign-reserve balance (billion USD). `all` (default) pulls every series, ordered FX → interest → money → reserves up to `max_records`.",
                        "default": "all"
                    },
                    "currency_pair_filter": {
                        "title": "Currency pair filter (FX only)",
                        "type": "string",
                        "description": "Optional FX pair filter, e.g. `USD/TWD`, `JPY/TWD`, `EUR/TWD`, `CNY/TWD`. Accepts `USD/TWD`, `USD-TWD`, `USDTWD`, or just `USD` (all Bank of Taiwan rates are quoted vs TWD, so the quote side defaults to TWD if omitted). Only applies when `data_type` is `fx_rates` or `all`. Leave blank to emit all currency pairs (USD + JPY + EUR + CNY + HKD + GBP + AUD + CAD + SGD + CHF + ZAR + SEK + NZD + THB + PHP + IDR + KRW + VND + MYR)."
                    },
                    "date_from": {
                        "title": "Date from (ISO YYYY-MM-DD)",
                        "type": "string",
                        "description": "Inclusive ISO start date for the requested series. Defaults to 30 days before run start. Used for date-range labelling on the output records and to bound the historical pull from CBC. Bank of Taiwan FX rates are always the most recent published day (single snapshot); date_from/date_to act as informational context fields on FX records."
                    },
                    "date_to": {
                        "title": "Date to (ISO YYYY-MM-DD)",
                        "type": "string",
                        "description": "Inclusive ISO end date for the requested series. Defaults to today (UTC). Used for date-range labelling on the output records."
                    },
                    "max_records": {
                        "title": "Max records",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on records emitted (and metered for billing). Defaults to 100. Raise this for full FX matrix pulls (~340 quotes/day when all currencies × buy/sell × cash/spot/7 forward tenors are enabled) or historical CBC time-series pulls.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
