National Bank of Tajikistan Exchange Rate API: Official TJS Rates as JSON

Reviewed by Madhushan, Fintech Developer — September 2026

The National Bank of Tajikistan publishes the official exchange rates that accounting, tax, and customs rules in Tajikistan 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 national-bank-of-tajikistan-exchange-rate npm package.

USD → TJS — official National Bank of Tajikistan official rate
Weekly observations, Sep '25 – Sep '26 · Tajikistani somonis per 1 US dollar
9.2009.4009.600Sep '25Dec '25Feb '26Jun '26Sep '269.2572025-09-07: 9.466 TJS2025-09-13: 9.515 TJS2025-09-20: 9.428 TJS2025-09-27: 9.406 TJS2025-10-04: 9.317 TJS2025-10-11: 9.265 TJS2025-10-18: 9.216 TJS2025-10-25: 9.316 TJS2025-11-02: 9.268 TJS2025-11-06: 9.276 TJS2025-11-15: 9.279 TJS2025-11-22: 9.291 TJS2025-11-29: 9.273 TJS2025-12-06: 9.247 TJS2025-12-13: 9.237 TJS2025-12-20: 9.240 TJS2025-12-27: 9.247 TJS2025-12-31: 9.251 TJS2026-01-01: 9.247 TJS2026-01-11: 9.317 TJS2026-01-17: 9.329 TJS2026-01-24: 9.355 TJS2026-01-31: 9.371 TJS2026-02-07: 9.380 TJS2026-02-14: 9.446 TJS2026-02-21: 9.458 TJS2026-02-28: 9.511 TJS2026-03-07: 9.600 TJS2026-03-15: 9.607 TJS2026-03-20: 9.539 TJS2026-04-04: 9.574 TJS2026-04-11: 9.524 TJS2026-04-18: 9.466 TJS2026-04-25: 9.431 TJS2026-05-02: 9.399 TJS2026-05-09: 9.367 TJS2026-05-16: 9.345 TJS2026-05-23: 9.279 TJS2026-05-30: 9.246 TJS2026-06-06: 9.325 TJS2026-06-13: 9.318 TJS2026-06-20: 9.312 TJS2026-06-27: 9.267 TJS2026-07-04: 9.282 TJS2026-07-11: 9.255 TJS2026-07-18: 9.250 TJS2026-07-25: 9.264 TJS2026-08-01: 9.248 TJS2026-08-08: 9.255 TJS2026-08-15: 9.257 TJS2026-08-22: 9.244 TJS2026-08-29: 9.257 TJS2026-09-05: 9.257 TJS
Source: National Bank of Tajikistan published rates · chart data from the AllRatesToday API (/api/v1/central-bank/nbt/history?source=USD&target=TJS).

What the NBT publishes

Tajikistan runs an official rate and a market one, and only the NBT figure has legal standing: it is the rate customs, the tax committee and the banks use for statutory conversion, and the one a Tajik invoice or a remittance operator cites — the API serves that number, dated.

Why official rates, not market rates

A live mid-market feed answers "what is USD/TJS 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 National Bank of Tajikistan's published rates, and it never changes after publication.

Get the latest rates (REST)

curl "https://allratestoday.com/api/v1/central-bank/nbt/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 national-bank-of-tajikistan-exchange-rate
import { getRate, getLatestRates } from 'national-bank-of-tajikistan-exchange-rate';

// One pair at the official NBT rate
const pair = await getRate('USD', 'TJS', { 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 'national-bank-of-tajikistan-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-06-30', { apiKey: 'art_live_...' });

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

Historical dates and time series need a paid plan; the latest rates stay free.

Published vs derived pairs

If the NBT does not print a pair directly, the API resolves it from the bank's published rates — an inverse, or a cross rate via TJS — 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.

Sixteen years of the official somoni rate

Our archive starts in January 2010, when the dollar was 4.37 somoni, and runs through the 2015–2016 devaluation and on to today's 9.2 — every table the bank set, stored with its own date. Sundays, Mondays and holidays are not separate publications: the API resolves them to the last table set and flags it.

FAQ

Does the National Bank of Tajikistan have an official exchange rate API?

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

How often do National Bank of Tajikistan rates update?

Once per business day, set the previous evening (Dushanbe time) — so Tuesday to Saturday carry new tables and Sunday and Monday resolve to Saturday's. Each table covers 36 currencies in somoni per unit; every API response carries the bank's own rate date.

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

Yes. The /central-bank/nbt/rates-for-date endpoint returns the official rates for any archived date. Non-publication days resolve to the most recent published date and are flagged via published_on_requested_date.

Official National Bank of Tajikistan rates, as JSON

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

Get your free API key

Related Articles