canonical: https://jentic.com/apis/currencyapi.com/currencyapi

# CurrencyAPI

CurrencyAPI provides reliable foreign exchange and currency conversion data through a small, focused REST surface. Endpoints return latest exchange rates, historical rates for a specified date, rates for a date range, the list of supported currencies, and account status. Responses are JSON with rates expressed against a chosen base currency. Authentication uses the apikey query parameter, making it straightforward to call from server-side jobs, spreadsheets, or AI agents that price products or convert balances.

## For AI agents

Fetch latest, historical, and date-range FX rates and convert currency amounts via CurrencyAPI. Useful for AI agents that price multi-currency carts, generate financial reports, or normalise transactional data.

## Scope

Does not handle FX execution, hedging, or money movement - use for CurrencyAPI exchange-rate lookups and currency listing only.

## Capabilities

- Fetch latest exchange rates for a base currency via GET /latest
- Look up historical exchange rates for a specified date via GET /historical
- Pull a range of historical rates between two dates via GET /range
- List supported fiat and crypto currencies via GET /currencies
- Check account status, plan, and quota via GET /status

## Use cases

### Multi-Currency Checkout Pricing

An e-commerce agent serving global customers can call /latest with the store's base currency and convert displayed prices on the fly. Cache rates per currency for an hour or a day depending on volatility tolerance, and call /currencies to render a supported-currency picker. The result is accurate cart pricing without writing FX logic in the storefront.

Example prompt: Call GET /latest with base_currency=USD and currencies=EUR,GBP,JPY then multiply cart totals by the returned rates.

### Financial Reporting and Reconciliation

A finance team can use /historical and /range to convert past transactions to a reporting currency on the date they occurred. The API supports specifying a base currency and target list, so the agent can produce period-over-period reports that respect spot rates rather than current rates. Cache historical rates indefinitely because they do not change.

Example prompt: Call GET /historical with date=2024-12-31 and base_currency=USD to value year-end EUR balances in USD.

### FX Rate Trend Charting

An analytics dashboard can render exchange-rate charts using GET /range to retrieve the rate for each day in a window. Pair with /currencies to populate currency selectors and /status to show plan usage so the team can budget API calls.

Example prompt: Call GET /range with datetime_start and datetime_end covering the last 90 days for base_currency=USD and currencies=EUR.

### AI Agent Integration via Jentic

An AI assistant that handles money can use Jentic to discover CurrencyAPI rather than embedding the apikey query parameter in code. The agent searches for an intent like 'get the latest USD to EUR exchange rate', loads the schema, and runs the call against the credentials Jentic stores.

Example prompt: Use Jentic search for 'get the latest exchange rate' and execute the matching GET /latest operation with base_currency=USD.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /latest | Get latest exchange rates |
| GET | /historical | Get exchange rates for a specific past date |
| GET | /range | Get exchange rates for a date range |
| GET | /currencies | List supported currencies |
| GET | /status | Get API account status |

## Key resources

- **Latest Rates** — Fetch the most recent exchange rates for a base currency.
- **Historical Rates** — Pull rates for a specific past date.
- **Range** — Pull a series of rates between two dates.
- **Currencies** — List supported fiat and crypto currencies.
- **Status** — Read account plan and quota.

## Why Jentic

- **Setup:** Wiring CurrencyAPI by hand means appending the apikey query parameter to every request, targeting the api.currencyapi.com/v3 host, and handling retries around rate lookups yourself. Through Jentic you install once, import CurrencyAPI from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** This surface is read-only, with currencies and dates passed as query parameters rather than an id in the URL path, so limit the agent to the operations it needs, such as latest or historical rate lookups. You choose which of those read operations are in scope.
- **Credential handling:** Your CurrencyAPI key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get the latest exchange rate', and Jentic returns the matching CurrencyAPI operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ExchangeRate-API** — ExchangeRate-API offers similar latest and historical FX rates with a generous free tier.
- **exchangeratesapi.io** — exchangeratesapi.io is another FX rates provider built on top of European Central Bank data.
- **CurrencyBeacon API** — CurrencyBeacon covers latest, historical, and conversion endpoints across 168+ currencies.

## FAQ

### What authentication does the CurrencyAPI use?

CurrencyAPI uses an API key passed as the apikey query parameter on every request. Through Jentic the key is stored in your encrypted Jentic One instance and added to the request URL at execution time so it never appears in the agent's prompt or logs.

### Can I get historical exchange rates with CurrencyAPI?

Yes. Call GET /historical with a date parameter to retrieve the rates as of that date. For a series of dates use GET /range with datetime_start and datetime_end to pull a continuous window in one request.

### What are the rate limits for CurrencyAPI?

Rate limits depend on the plan attached to your API key, with a free tier and several paid tiers. Call GET /status to read the current account quota and remaining calls before running a large historical pull.

### How do I convert currency at the latest rate using CurrencyAPI through Jentic?

Run pip install jentic, search Jentic for 'get the latest exchange rate', load the schema for GET /latest, and execute it with base_currency and the target currencies. Multiply the amount you want to convert by the returned rate to get the converted value.

### Which currencies does CurrencyAPI support?

CurrencyAPI covers a wide list of fiat currencies and a selection of cryptocurrencies. Call GET /currencies to fetch the full machine-readable list, including ISO codes and human-readable names, before building a currency picker.

### Is CurrencyAPI free?

CurrencyAPI offers a free tier suitable for low-volume use and several paid tiers with higher quotas, historical access, and faster updates. Pricing details are on currencyapi.com rather than in the OpenAPI spec.

### Can I limit what my agent is allowed to do with the CurrencyAPI?

Yes. Because you run Jentic One yourself, your own rules decide which CurrencyAPI operations and credentials the agent may use. CurrencyAPI is a read-only surface, so you can grant only the calls the agent needs, such as GET /latest for current rates while withholding GET /historical, GET /range, GET /currencies, or GET /status. Since currencies and dates are passed as query parameters rather than in the URL path, the agent only ever reaches the specific read operations you put in scope.
