canonical: https://jentic.com/apis/exchangerate-api.com/exchangerate-api

# ExchangeRate-API

ExchangeRate-API provides a single, free, unauthenticated endpoint for fetching the latest currency exchange rates against a chosen base currency. The /latest/{base_currency} endpoint returns rates for 160+ supported currencies in a flat JSON response. Agents use it as a lightweight rate-quote lookup when they do not need historical data, conversions, or precious-metal coverage.

## For AI agents

Fetch the latest exchange rates for any base currency against 160+ targets through one unauthenticated GET endpoint.

## Scope

Does not handle historical rates, time-series queries, or precious metals - use for latest daily exchange-rate lookups against a base currency only.

## Capabilities

- Retrieve current exchange rates for a base currency against 160+ targets
- Convert amounts between two currencies by combining base and target rates from the response
- Pull a daily rate snapshot for downstream pricing or reporting workflows
- Use a free, unauthenticated endpoint suitable for prototypes and low-volume jobs

## Use cases

### Daily pricing snapshot for invoicing

A finance agent runs each morning, calls /latest/USD, and stores the response so invoices issued that day are converted to local currencies using a consistent reference rate. Because the endpoint is unauthenticated, the snapshot job needs no credential management overhead.

Example prompt: Call GET /latest/USD, store the response payload to today's snapshot file, and return the rates dictionary for downstream invoice generation.

### Lightweight currency conversion in checkout flows

An e-commerce checkout shows prices in the user's local currency. A small backend agent calls /latest/{store_currency} once per minute, caches the response, and uses the cached rates to convert the basket total on the fly. The free, no-auth surface keeps the integration trivial.

Example prompt: Call GET /latest/USD once a minute, cache the JSON, and convert a 49.99 USD basket total to EUR using the cached rate.

### Travel-app rate display

A travel itinerary app shows a traveller how much their home currency is worth against the destination currency. The integration agent calls /latest with the home base, picks the destination from the response, and renders the result inline in the itinerary card.

Example prompt: Call GET /latest/EUR, extract the JPY rate, and render '1 EUR = X JPY' inside a Tokyo trip card.

### AI agent quick rate lookup via Jentic

An AI assistant integrated through Jentic answers 'what's the rate for X in Y today?' by calling ExchangeRate-API. Because the endpoint is unauthenticated, Jentic still routes the call through its discovery layer so the agent uses the same search-load-execute flow as any other API.

Example prompt: Use Jentic to search for 'get latest exchange rates', load the GET /latest/{base_currency} operation, and return the rate of GBP against USD.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /latest/{base_currency} | Fetch the latest exchange rates for a base currency |

## Key resources

- **Latest rates** — Today's exchange rates for a chosen base currency

## Why Jentic

- **Setup:** Wiring ExchangeRate-API by hand still means tracking its base-currency path and response shape yourself, even though the /v4 endpoint needs no auth. Through Jentic you install once, import ExchangeRate-API from the API Directory, and your agent calls it through the same execution layer as any other API.
- **Permission scoping:** This API exposes a single read endpoint (GET /latest/{base_currency}) with the base currency in the path, so scope the agent to that lookup operation. It reads current rates and can perform no other action.
- **Credential handling:** ExchangeRate-API's /v4 endpoint is unauthenticated, so there is no credential to store, and the call still runs through your own Jentic One instance. Nothing about the request enters the agent's prompt, logs, or context beyond the base currency it asks for.
- **Discovery method:** Agents search Jentic by intent such as 'get the latest USD exchange rates', and Jentic returns the GET /latest/{base_currency} operation with its parameter schema so the agent calls the endpoint without browsing the reference docs.

## Related APIs

- **exchangeratesapi.io** — Adds historical data, conversion, and timeseries endpoints on top of latest rates
- **CurrencyAPI** — Currency exchange rates with historical data and crypto coverage
- **APILayer** — Aggregator that hosts exchange-rate APIs alongside many other utilities

## FAQ

### What authentication does the ExchangeRate-API use?

The /v4 endpoint exposed in this spec is unauthenticated and free to use. Through Jentic, the API is still routed through the standard search-load-execute flow so an agent uses the same pattern it would for any authenticated API.

### Can I convert between two currencies with this API?

Yes, indirectly. The /latest/{base_currency} response includes a rates map keyed by target currency, so an agent fetches rates with one base and reads the target rate to convert an amount. There is no dedicated conversion endpoint in this spec.

### How current are the rates returned by ExchangeRate-API?

ExchangeRate-API publishes daily updates on the free /v4 endpoint. Each response includes a date and time-last-updated field that an agent should check before relying on the data for trade-sensitive use cases.

### What are the rate limits for ExchangeRate-API?

The free /v4 endpoint advertises no hard limit but is rate-limited at the gateway. Agents calling at high frequency should cache responses for at least 60 seconds rather than hitting the endpoint per request, and back off on any 429 response.

### How do I get the latest rates through Jentic?

Run pip install jentic, search for 'get latest exchange rates', load the GET /latest/{base_currency} operation, and execute with base_currency set to USD or any other supported currency. Jentic returns the rates JSON for the agent to use.

### Does ExchangeRate-API provide historical data?

No. The /v4 endpoint in this spec returns only the latest daily rates. For historical series and time-window queries, use exchangeratesapi.io or another provider that exposes a time-series endpoint.

### Can I limit what my agent is allowed to do with the ExchangeRate-API?

Yes. Because you run Jentic One yourself, your own rules decide which operations the agent may call, and this API exposes only a single read operation, GET /latest/{base_currency}, so you can scope the agent to that rate lookup and nothing else. That endpoint just reads the current rates for the base currency you pass in the path and can perform no write or other action. Since the /v4 endpoint is unauthenticated there is no credential to hand out, and the request runs through your own instance so only the base currency the agent asks for leaves your control.
