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

# CurrencyFreaks API

Jentic publishes the only available OpenAPI specification for CurrencyFreaks API, keeping it validated and agent-ready. CurrencyFreaks provides real-time and historical exchange-rate data for fiat currencies, metals, and cryptocurrencies, updated every minute. The API exposes ten endpoints covering supported currency listings, currency symbols, latest and historical rates, latest and historical conversion, time-series, fluctuation, IP-based currency detection, and historical data limits. Authentication uses the apikey query parameter, and responses are JSON with rates expressed against a chosen base currency.

## For AI agents

Pull real-time and historical FX rates, convert currency, read fluctuation, and resolve currency by IP via CurrencyFreaks. Useful for AI agents that price internationally or analyse FX volatility.

## Scope

Does not handle FX execution, hedging, or money movement - use for CurrencyFreaks exchange-rate lookups, conversion, fluctuation, and IP-based currency detection only.

## Capabilities

- List supported currencies and their symbols via /supported-currencies and /currency-symbols
- Pull latest exchange rates for a base currency via /rates/latest
- Look up historical rates for a date via /rates/historical
- Convert an amount at the latest or historical rate via /convert/latest and /convert/historical
- Pull a window of rates via /timeseries and analyse volatility via /fluctuation
- Resolve a likely currency from a visitor IP via /iptocurrency

## Use cases

### Localised Pricing by IP

An agent serving an international audience can call /iptocurrency to detect a visitor's likely local currency, then call /rates/latest with the store's base to fetch the conversion factor. The combination produces locally priced product pages without asking the user to pick a currency manually, while still giving them the option to override.

Example prompt: Call GET /iptocurrency with the visitor IP, then GET /rates/latest with base=USD and the detected target currency to render local pricing.

### FX Fluctuation Monitoring

A treasury or trading agent can monitor currency volatility using /fluctuation to retrieve change and percent-change between two dates across selected currencies. Combine with /timeseries for richer charts so finance teams can size hedging decisions.

Example prompt: Call GET /fluctuation with start_date, end_date, base, and symbols and alert when percent change exceeds a configured threshold.

### Historical Audit Conversion

A finance agent can express past transactions in a reporting currency by calling /convert/historical with the transaction date. CurrencyFreaks caps historical depth by plan, so /historical-data-limits exposes the available range and lets the agent fail safely on out-of-range dates.

Example prompt: For each transaction, call GET /convert/historical with from, to, amount, and the transaction date, falling back to /convert/latest if the date is outside the plan's historical limit.

### AI Agent Integration via Jentic

An AI assistant that handles FX can use Jentic to discover CurrencyFreaks rather than hard-coding the apikey query parameter. The agent searches for an intent like 'convert currency at the latest rate', loads the schema, and runs the call against credentials Jentic stores.

Example prompt: Use Jentic search for 'convert currency at the latest rate' and execute the matching GET /convert/latest operation.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /rates/latest | Get latest exchange rates |
| GET | /rates/historical | Get historical exchange rates |
| GET | /convert/latest | Convert at latest rate |
| GET | /convert/historical | Convert at historical rate |
| GET | /timeseries | Get a time-series of rates |
| GET | /fluctuation | Get currency fluctuation data |
| GET | /iptocurrency | Detect currency from IP |
| GET | /supported-currencies | List supported currencies |

## Key resources

- **Currencies** — Supported currencies and their symbols.
- **Rates** — Latest and historical exchange rates for a base currency.
- **Convert** — Latest and historical currency conversion.
- **Timeseries** — Rates over a date window.
- **Fluctuation** — Change and percent-change between two dates.
- **IP to Currency** — Resolve a likely currency from a visitor IP.
- **Limits** — Plan-specific historical data limits.

## Why Jentic

- **Setup:** Wiring the CurrencyFreaks API by hand means appending the apikey query parameter to every request, targeting the api.currencyfreaks.com/v2.0 host, and handling retries across ten rate endpoints yourself. Through Jentic you install once, import the CurrencyFreaks API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** This surface is read-only, with currencies, dates, and IP addresses passed as query parameters rather than an id in the URL path, so limit the agent to the operations it needs, such as latest rates, conversion, or IP-based currency detection. You choose which of those read operations are in scope.
- **Credential handling:** Your CurrencyFreaks API 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 'convert currency at the latest rate' or 'detect currency from IP', and Jentic returns the matching CurrencyFreaks operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **CurrencyAPI** — CurrencyAPI provides similar latest, historical, and date-range FX endpoints.
- **CurrencyBeacon API** — CurrencyBeacon covers latest, historical, conversion, and time-series with minute-level updates.
- **ExchangeRate-API** — ExchangeRate-API offers a free tier for latest rates.

## FAQ

### Why is there no official OpenAPI spec for CurrencyFreaks API?

CurrencyFreaks does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call CurrencyFreaks API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the CurrencyFreaks API use?

CurrencyFreaks uses an API key passed as the apikey query parameter. Through Jentic the key is stored encrypted in your Jentic One instance and added to each request URL at execution time, so it never appears in agent prompts or logs.

### Can I convert currency at a historical rate with CurrencyFreaks?

Yes. Call GET /convert/historical with from, to, amount, and date to get the converted value at the spot rate of that date. Use /historical-data-limits to confirm the date is within your plan's allowed history.

### What are the rate limits for the CurrencyFreaks API?

Rate limits and historical depth depend on the plan tied to your apikey. The /historical-data-limits endpoint exposes the maximum back-date your plan can resolve, which is helpful for failing fast on out-of-range queries.

### How do I detect a visitor's currency by IP through Jentic?

Run pip install jentic, search Jentic for 'detect currency from IP', load the schema for GET /iptocurrency, and execute it with the visitor IP. Jentic handles the apikey from your Jentic One instance and returns the resolved currency for use in localised pricing.

### Does CurrencyFreaks support cryptocurrencies?

Yes. CurrencyFreaks covers fiat currencies, metals, and cryptocurrencies. Call GET /supported-currencies and GET /currency-symbols to retrieve the full list of fiat and crypto codes available on your plan.

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

Yes. Because you run Jentic One self-hosted, your own rules decide which CurrencyFreaks operations and credentials the agent may use. This surface is read-only, so you can scope the agent to just the endpoints it needs, such as GET /rates/latest, GET /convert/historical, or GET /iptocurrency, and leave the rest out of reach. The API key stays in your Jentic One instance and is injected only for the operations you have allowed.
