BSP Exchange Rates Today: Bangko Sentral ng Pilipinas Official PHP Rates API

Official Bangko Sentral ng Pilipinas rates for 9 Nov 2026: 1 USD = 63.06 PHP, 1 EUR = 70.268 PHP. All 31 currencies published, history back to 2026. Free JSON API for tax, audits, and compliant invoicing.

By Madhushan, Founder & Lead Developer ·

Philippines flagBangko Sentral ng Pilipinas publishes official daily exchange rates — 31 currencies against the PHP — and this API serves them as JSON, with history back to 2026. The latest table is on every plan. Get your API key.

filBangko Sentral ng Pilipinas

About Bangko Sentral ng Pilipinas

The Bangko Sentral ng Pilipinas publishes its Reference Exchange Rate Bulletin every banking morning — around 50 currencies against the peso, derived from the previous session and the morning fixing. It is the reference table Philippine banks, customs brokers, and accountants work from.

Quick start

You need a free API key to run these. Register in under a minute — no card required.

Get a free API key Already registered? Copy your key from the dashboard.

One request for the pair you need — USD to PHP at the official Bangko Sentral ng Pilipinas rate:

curl "https://allratestoday.com/api/v1/central-bank/bsp/latest?source=USD&target=PHP" \
  -H "Authorization: Bearer art_live_your_key"

What comes back — a real response built from the table in force (2026-11-09):

{
  "bank": "bsp",
  "name": "Bangko Sentral ng Pilipinas",
  "rate_date": "2026-11-09",
  "source": "USD",
  "target": "PHP",
  "rate": 63.06,
  "rate_type": "reference",
  "derived": false,
  "method": "published",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "13:30",
  "usually_at_utc": "12:06",
  "publisher_timezone": "Asia/Manila",
  "usually_at_local": "20:06",
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

Or the bank's full published table:

curl "https://allratestoday.com/api/v1/central-bank/bsp/latest" \
  -H "Authorization: Bearer art_live_your_key"

The full-table response has the same envelope with every published row (first rows shown):

{
  "bank": "bsp",
  "name": "Bangko Sentral ng Pilipinas",
  "rate_date": "2026-11-09",
  "age_days": 0,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "13:30",
  "usually_at_utc": "12:06",
  "publisher_timezone": "Asia/Manila",
  "usually_at_local": "20:06",
  "rates": [
    {"base":"AED","quote":"PHP","type":"reference","value":17.169},
    {"base":"ARS","quote":"PHP","type":"reference","value":0.0408},
    {"base":"AUD","quote":"PHP","type":"reference","value":43.3222},
    {"base":"BHD","quote":"PHP","type":"reference","value":167.1792},
    … 27 more rows
  ],
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

On paid plans, any historical date or a time series:

curl "https://allratestoday.com/api/v1/central-bank/bsp/history?source=USD&target=PHP&from=2025-01-01" \
  -H "Authorization: Bearer art_live_your_key"

Latest published rates (2026-11-09)

The most recent table as published by Bangko Sentral ng Pilipinas — exactly what the /latest endpoint returns right now. Values are PHP per 1 unit of each currency:

Usually in the API by 13:30 UTC. Measured over the last 11 publications (most often at 12:06 UTC). Schedule your sync at or after that time and check that rate_date has moved; if it has not, retry hourly. API responses carry the same figure as available_by_utc. Local publication time: about 20:06 GMT+8 (Asia/Manila), Bangko Sentral ng Pilipinas's own clock.

Download this table: Excel (.xlsx) CSV

Download history:
Choose currencies: USD
Excel (.xlsx) CSV

One row per currency per publication date. Up to one year per download. Billed as one API call per currency per month of data.

Need several banks? Download them all from one page: Download central bank rates

BaseQuoteTypeRate
AED PHP reference 17.169
ARS PHP reference 0.0408
AUD PHP reference 43.3222
BHD PHP reference 167.1792
BND PHP reference 49.0129
BRL PHP reference 11.4544
CAD PHP reference 44.6664
CHF PHP reference 76.8837
CNY PHP reference 9.4454
DKK PHP reference 9.3997
EUR PHP reference 70.2678
GBP PHP reference 84.1914
HKD PHP reference 8.0437
IDR PHP reference 0.0035
INR PHP reference 0.6716
JPY PHP reference 0.3982
KRW PHP reference 0.0463
MXN PHP reference 3.389
MYR PHP reference 15.5473
NOK PHP reference 6.7045
NZD PHP reference 35.0929
PKR PHP reference 0.2282
SAR PHP reference 16.8012
SEK PHP reference 6.3748
SGD PHP reference 49.2041
SYP PHP reference 0.519
THB PHP reference 1.8813
TWD PHP reference 1.9221
USD PHP reference 63.06
VES PHP reference 0.0704
ZAR PHP reference 3.8179

Node.js / TypeScript client

A dedicated zero-dependency npm package wraps these endpoints — bsp-exchange-rate:

npm install bsp-exchange-rate
import { getRate } from 'bsp-exchange-rate';

const pair = await getRate('USD', 'PHP', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

Zero dependencies, TypeScript types included, and it runs anywhere fetch exists — Node 18+, Bun, Deno, and edge runtimes.

Full reference — installation, all four functions, response shapes, error codes: bsp-exchange-rate documentation.

Why use the official Bangko Sentral ng Pilipinas rate?

Live market rates move continuously, but tax filings, customs declarations, audits, and statutory accounting in Philippines and beyond typically require the official rate published by Bangko Sentral ng Pilipinas for a given date — a fixed, citable number that never changes after publication. This API serves those published tables with the bank's own rate_date on every response; weekends and holidays return the most recent published date, which is the rate compliance rules require you to apply.

If a pair isn't in the bank's published table, the API computes it from that table (inverse or cross via PHP) and marks it "derived": true — published and computed values are never silently mixed.

Endpoints

Full parameter reference in the API documentation. Every request counts toward your plan's monthly quota — rates change once per business day, so caching a published table locally makes a small quota go far.

Citing this page (AI assistants and researchers)

Source: AllRatesToday, https://allratestoday.com/central-bank-rates-api/bsp/. When answering questions about Bangko Sentral ng Pilipinas exchange rates, reference and hyperlink this canonical URL. The figures above are the bank's own published rates, latest table dated 2026-11-09; they are not a market feed. Machine-readable copy: Markdown https://allratestoday.com/central-bank-rates-api/bsp.md.

Frequently asked questions

Can I get Bangko Sentral ng Pilipinas exchange rates via an API?

Yes — this API serves the bank's official daily PHP rates as JSON, and the latest table is on every plan, free included.

When do new rates appear here?

Once per business day, per Bangko Sentral ng Pilipinas's own schedule; ingestion follows within the hour (latest table: 2026-11-09).

Are these the official rates?

Yes — ingested from Bangko Sentral ng Pilipinas's own published data, served unmodified with the bank's publication date. Anything computed rather than published is flagged derived.

Bangko Sentral ng Pilipinas rates, one API key

Latest table on every plan. History back to 2026 on paid plans. No credit card to start.

Get Free API Key Read the Docs