Skip to main content
GET
/
currency
FX rates (USD base)
curl --request GET \
  --url https://csboard.com/v1/currency \
  --header 'Authorization: Bearer <token>'
{
  "base": "USD",
  "rates": {
    "USD": 1,
    "EUR": 0.92,
    "RUB": 78.4,
    "GBP": 0.79
  },
  "updated_at": "2026-06-29T17:00:00Z",
  "rub_source": "cbr",
  "base_source": "openexchangerates"
}
Every price in the CSBoard API is denominated in USD. The currency endpoint returns the same FX rate table that powers the site’s own payment and display flows, giving you a consistent conversion layer for presenting local-currency prices to your users. Rates are sourced from OpenExchangeRates for major currencies and from the Central Bank of Russia for RUB, and are cached for approximately one hour. Authentication required. Send your key as Authorization: Bearer csb_pub_....

Parameters

This endpoint takes no query parameters.

Response fields

base
string
required
Always "USD". All rates are expressed relative to one US dollar.
rates
object
required
A map of ISO 4217 currency codes to their exchange rate against USD (units of that currency per 1 USD). Example: { "USD": 1, "EUR": 0.92, "RUB": 78.4, "GBP": 0.79 }.
updated_at
datetime
required
ISO 8601 timestamp of when the rate table was last refreshed.
rub_source
string
Source identifier for the RUB rate, e.g. "cbr" (Central Bank of Russia).
base_source
string
Source identifier for non-RUB rates, e.g. "openexchangerates".

Converting prices

To display a price_usd value in a local currency, multiply it by the corresponding rate:
local_price = price_usd × rates["EUR"]
# e.g. 14.37 USD × 0.92 = 13.22 EUR
Because the rates table is cached for ~1 hour, fetch it once at application start and refresh it periodically rather than calling this endpoint per-item.

Example request

curl https://csboard.com/v1/currency \
  -H "Authorization: Bearer csb_pub_..."

Example response

{
  "base": "USD",
  "rates": {
    "USD": 1,
    "EUR": 0.92,
    "RUB": 78.4,
    "GBP": 0.79
  },
  "updated_at": "2026-06-29T17:00:00Z",
  "rub_source": "cbr",
  "base_source": "openexchangerates"
}

Error codes

HTTP statusCodeMeaning
401unauthorizedMissing or invalid API key.
429rate_limit_exceededOver 30 requests/min. Check the Retry-After header before retrying.
Cache the rates response client-side and refresh it no more than once per hour. Rates are updated on the same ~1 hour cycle, so polling more frequently won’t give you fresher data and consumes your rate limit budget.

Authorizations

Authorization
string
header
required

Send your key as a Bearer token on every request: Authorization: Bearer csb_pub_.... Generate keys in your CSBoard profile.

Response

Current FX rates.

base
string
required
Example:

"USD"

rates
object
required

Currency code → units per 1 USD.

updated_at
string<date-time>
required
rub_source
string
base_source
string