API Reference

Official SDKs

Install and use the official CurrencyCore SDKs for TypeScript, Python, Dart/Flutter, Kotlin/Java, and Swift.


We publish official, typed clients for five ecosystems, each generated from the same OpenAPI 3.1 spec and wrapped with a thin helper for API-key and version handling. They’re optional, the API is plain authenticated GETs, so every endpoint page also shows raw fetch/cURL. Reach for an SDK when you want typed responses and key handling done for you.

SDKPackagePlatformsRegistry
TypeScript@currencycore/sdkNode, browser, React Nativenpm
PythoncurrencycoreCPython 3.xPyPI
DartcurrencycoreDart, Flutterpub.dev
Kotlin / Javacom.github.CurrencyCore:currencycore-kotlinAndroid, JVMJitPack
Swiftcurrencycore-swiftiOS, macOSSwift Package Manager

Install

npm install @currencycore/sdk

Convert an amount

Convert 100 USD to EUR. Pass your key explicitly, or set the CURRENCYCORE_API_KEY environment variable and omit it.

import { createClient } from '@currencycore/sdk';

const api = createClient({ apiKey: 'cc_live_...' }); // or set CURRENCYCORE_API_KEY
const res = await api.convert({ from: 'USD', to: 'EUR', amount: 100 });
console.log(res.results[0]);

The Python from parameter is spelled var_from because from is a reserved word in Python. The Kotlin SDK is usable from Java as well as Kotlin.

Public endpoints, no key

Reference data like /currencies and /countries is public, construct the client without a key.

const api = createClient();
const currencies = await api.currencies();

API key & environment

Every client resolves the key in the same order: the explicit argument first, then the CURRENCYCORE_API_KEY environment variable (handy for servers and CLIs). See Authentication for key management and rate limits.

Never ship a secret key in a browser bundle, mobile app, or anything you distribute — it’s extractable. On the browser, React Native, Flutter, Android, and iOS, pass a key you control at request time, proxy through your backend, or use a short-lived token.

API version

The base URL is https://api.currency-core.com/{version} (default v1). The version is a client option, so a future /v2 won’t disturb your existing integration.

createClient({ version: 'v1' });
createClient({ baseUrl: 'https://api.currency-core.com/v1' }); // full override

Reference

Each SDK’s README documents every endpoint, the low-level client, and how to regenerate from the spec:

Need a language we don’t cover yet? Email support, the raw HTTP API works everywhere in the meantime.