---
title: "Banco Central de São Tomé e Príncipe Exchange Rate API: Official STN (Dobra) Rates as JSON"
description: "Official Banco Central de São Tomé e Príncipe dobra exchange rates as JSON — the daily exchange bulletin with buy, sell and mid rates for 14 currencies plus the SDR in STN per unit. REST + npm SDK, free tier included."
canonical: https://allratestoday.com/blog/bcstp-exchange-rate-api/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-09-27T14:50:58.368Z
---

The **Banco Central de São Tomé e Príncipe** publishes the official exchange rates that accounting, tax, and customs rules in São Tomé and Príncipe reference — *published official rates*, not moving market prices. This guide shows how to pull them as JSON: via a REST endpoint or the zero-dependency [`bcstp-exchange-rate`](https://www.npmjs.com/package/bcstp-exchange-rate) npm package.

  What 1 unit buys in STN — official Banco Central de São Tomé e Príncipe mid rate São Tomé and Príncipe dobras per 1 unit · table published 2026-09-25

*Source: Banco Central de São Tomé e Príncipe published table for 2026-09-25 · data from the AllRatesToday API (`/api/v1/central-bank/bcstp/latest`).*

## What the BCSTP publishes

- **Buy, sell and mid rates for 14 currencies plus the SDR** in dobras per unit — a mid of 21.7153 per US dollar (21.5536 buy, 21.8769 sell) on the bulletin dated 25 September 2026.
- **A euro peg** — the dobra has been fixed at 24.5 per euro since 2010, so the euro line never moves and the dollar, pound, yen, real, CFA franc and the rest track the euro's crosses each day.
- **The bank's own daily bulletin** — the Boletim de Câmbio is the official rate for customs valuation and tax purposes in São Tomé, with the bank's reference date on every response.
- **An archive that builds forward from September 2026** — the bank publishes the table in force only, so every bulletin from our first fetch onward is kept and queryable by date.

With the euro fixed, the useful lines are the crosses: what a dollar, a pound or a real is worth in dobras on a given day according to the central bank, in the three columns the bank prints. The API serves the bulletin, dated, and keeps buy, sell and mid as separate rate types so a query never has to guess which one it got.

## Why official rates, not market rates

A live mid-market feed answers "what is USD/STN trading at right now?" — the right tool for checkouts and dashboards. But accountants, auditors, and tax authorities ask a different question: "which rate were you *required* to use for this date?" That answer comes from the Banco Central de São Tomé e Príncipe's published rates, and it never changes after publication.

## Get the latest rates (REST)

```
curl "https://allratestoday.com/api/v1/central-bank/bcstp/latest" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

The response is the bank's most recent published data — every rate and the publication date. The latest rates are available on every plan, including the free tier (300 requests/month, no credit card).

## The npm SDK

```
npm install bcstp-exchange-rate
```

```
import { getRate, getLatestRates } from 'bcstp-exchange-rate';

// One pair at the official BCSTP rate
const pair = await getRate('USD', 'STN', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

// The bank's full published table
const table = await getLatestRates({ apiKey: 'art_live_...' });
console.log(table.rate_date, table.rates.length);
```

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

## Historical rates for an invoice date

```
import { getRatesForDate, getHistory } from 'bcstp-exchange-rate';

// The official rates for an invoice date — non-publication days return
// the most recent published date, flagged via published_on_requested_date.
const day = await getRatesForDate('2026-09-25', { apiKey: 'art_live_...' });

// Time series for one pair
const series = await getHistory(
  { source: 'USD', target: 'STN', from: '2026-09-25' },
  { apiKey: 'art_live_...' }
);
```

Historical dates and time series need a [paid plan](https://allratestoday.com/pricing/); the latest rates stay free.

## Published vs derived pairs

If the BCSTP does not print a pair directly, the API resolves it from the bank's published rates — an inverse, or a cross rate via STN — and flags it `derived: true` with the method used. Official and computed values are never silently mixed, which is exactly the distinction an auditor will ask about.

## The dobra bulletin from September 2026

Our archive starts on 25 September 2026, with the euro at its fixed 24.5 and the dollar at a mid of 21.7153 dobras. The bank serves only the current bulletin, so the series grows one business day at a time from here. For a date inside the archive, one call returns the bulletin in force that day; non-publication days resolve to the last bulletin and are flagged.

## FAQ

### Does the Banco Central de São Tomé e Príncipe have an official exchange rate API?

The BCSTP publishes its official rates on its own site, and AllRatesToday serves the same published rates as clean JSON via REST or the bcstp-exchange-rate npm package. The latest rates are free (300 requests/month); historical dates need a paid plan.

### How often do Banco Central de São Tomé e Príncipe rates update?

Once per business day, in the São Tomé morning, as one bulletin with buy, sell and mid rates for 14 currencies plus the SDR in dobras per unit. Every API response carries the bulletin's reference date; weekends and holidays resolve to the last published bulletin.

### Can I get the BCSTP rate for a past date, like an invoice date?

Yes, for dates from 25 September 2026 onward — the bank publishes only the bulletin in force, so the archive starts there. The /central-bank/bcstp/rates-for-date endpoint returns the bulletin for any archived date; non-publication days resolve to the most recent published date and are flagged via published_on_requested_date.

## Official Banco Central de São Tomé e Príncipe rates, as JSON

The latest rates are free — 300 requests/month, no credit card.

 [Get your free API key](https://allratestoday.com/register/)

## Related Articles

- [Banco Central de São Tomé e Príncipe rates API — product page](https://allratestoday.com/central-bank-rates-api/bcstp/)
- [All covered central banks](https://allratestoday.com/central-bank-rates-api/)
- [Banco Nacional de Angola exchange rate API guide](https://allratestoday.com/blog/bna-exchange-rate-api/)
- [Bank of Central African States (BEAC) exchange rate API guide](https://allratestoday.com/blog/beac-exchange-rate-api/)
- [Central bank API documentation](https://allratestoday.com/docs/#central-bank)
- [Best exchange rate APIs in 2026 — how the official-rate and market-rate providers compare](https://allratestoday.com/best/best-exchange-rate-api/)
