IP Currency API - Convert Any Amount to Local Currency from an IP Address
A shopper who lands on a price in someone else's currency has to do mental math before they can decide - and many don't bother. The Geolocalized Currency Converter API removes that friction: it detects a visitor's local currency from their IP address and converts any amount to it in a single GET request, at live exchange rates. Each response returns the detected currency, the applied rate, the original and converted amounts, and a timestamp showing exactly when that rate was captured. It's built for developers shipping localized checkouts, SaaS pricing pages, and travel or crypto apps that price for a global audience. New accounts start with 10,000 free credits - no credit card required.
What You Get in Every Response
Detection and Conversion in One Call
Pass an IPv4 or IPv6 address to the ip parameter and the API resolves its location, identifies the local currency, and returns the finished conversion - the to currency and the convertedAmount - in one response. Most IP currency APIs stop at the currency code and leave the rate lookup and arithmetic to you; this endpoint replaces that two-call pattern with one.
Use it to quote a localized price without wiring an IP geolocation provider to a separate rates feed.
Automatic Client-IP Localization
Omit the ip parameter and the API geolocates the request IP instead, echoing the address it used in the ipAddress response field. Called with the visitor's forwarded address from your backend, IP based currency conversion becomes a single line in your request handler - no locale prompts, no stored location data.
Use it as a hands-off currency localization API - pricing localizes for every visitor without collecting any input from them.
Fiat, Crypto, and Metals as the Source Currency
The required from parameter accepts fiat currency codes, cryptocurrencies, and precious metals, so one call can express BTC, XAU, or USD in a visitor's home currency. There is no to parameter to manage - the target is always resolved from the IP.
Use it to display wallet balances or crypto checkout totals in the currency your user actually thinks in.
Caller-Selectable Rate Freshness
The updates parameter sets how recent the applied rate must be: 1m (the default), 10m, 1h, or 1d. Tighten the interval for transaction-adjacent conversions; widen it for display pricing where a daily rate is enough.
Use it to match rate freshness to each surface of your product without running separate refresh schedules.
Auditable Response, Never Billed on Failure
Every response carries the applied rate, your givenAmount, the computed convertedAmount, and the date the rate was captured - amount × rate = result stays reproducible after the fact. Invalid IPs return an explicit 400 and unknown geolocations a 404 rather than a silent fallback, and requests ending in 4xx or 5xx are never charged.
Use it to log the full conversion context per transaction and retry freely during integration.
Built for These Use Cases
Localized e-commerce pricing
Convert cart totals into each shopper's home currency at request time, so the first price they see is one they recognize. When shoppers choose a currency explicitly instead of relying on location, the Currency Converter API handles the fixed-pair conversion with the same response shape.
SaaS pricing-page localization
Render plan prices in the visitor's local currency on first load, resolved server-side from their connection - no country picker, no cookie prompt. The detected currency and the timestamped rate arrive together, so the page and the eventual invoice can tell the same story.
Travel and booking totals
Show a traveler what a fare or nightly rate costs in their home currency while they browse, converted at a freshness window tight enough to survive checkout. One request per displayed total, with the conversion context preserved for support disputes.
Crypto balances in everyday terms
Display a wallet balance or crypto payment total in the local currency of the connecting user, resolved from their IP. When you need more location context than currency - city, timezone, ISP - the IP Geolocation Lookup API returns the full profile for the same address.
API Endpoint
$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/currency/converter/ip-to-currency?updates=1m&from=USD&ip=8.8.8.8&amount=1"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
How to Guides
Show a visitor their price in their own currency
Your catalog prices live in one base currency, but the visitor deciding whether to buy doesn't think in it. Pass their address to ip, your base currency to from, and the price to amount - the response identifies their local currency in to and returns the finished convertedAmount. Both IPv4 and IPv6 are supported; amountdefaults to 1 when omitted.
# Response { "date": "2026-07-09 12:43:00+00", "from": "GBP", "to": "USD", "rate": "1.3392", "ipAddress": "8.8.8.8", "givenAmount": "500.0", "convertedAmount": "669.575" }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/ip-to-currency?apiKey=API-KEY&from=GBP&ip=8.8.8.8&amount=500'
Localize from your request handler (server-side pattern)
Calling this endpoint from the browser would expose your API key, and calling it server-side without an ip parameter geolocates your server, not your visitor. The pattern that keeps the key private and the conversion correct: read the visitor's address from the X-Forwarded-For header in your backend and pass it as ip explicitly. The ipAddress field in the response confirms which address was used.
# In your request handler: take the client IP from X-Forwarded-For (first value), then pass it as the ip parameter.# Response The response echoes the address it geolocated in "ipAddress", and returns the visitor's local currency in "to".curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/ip-to-currency?apiKey=API-KEY&from=USD&ip=VISITOR-IP-FROM-XFF&amount=29'
Pin rate freshness to the job
A price on a landing page can tolerate a daily rate; a settlement preview shown seconds before payment can't. Add updates to require a rate no older than a chosen window - 1m, 10m, 1h, or 1d - instead of running your own refresh schedule.
# Require a rate no older than 10 minutes.# Response { "date": "2026-07-09 12:40:00+00", "from": "GBP", "to": "USD", "rate": "1.3395", "ipAddress": "192.108.30.0", "givenAmount": "500.0", "convertedAmount": "669.725" }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/ip-to-currency?apiKey=API-KEY&from=GBP&ip=192.108.30.0&amount=500&updates=10m'
Show a crypto amount in the visitor's currency
A wallet balance in BTC means little to a user who budgets in rupees or euros. Because from accepts cryptocurrencies as well as fiat, one call turns a crypto amount into the local currency of the connecting IP - no separate crypto rates provider.
# Response { "date": "2026-07-09 12:43:00+00", "from": "BTC", "to": "USD", "rate": "62836.500", "ipAddress": "8.8.8.8", "givenAmount": "0.05", "convertedAmount": "3141.825" }curl -X 'GET' 'https://api.apifreaks.com/v1.0/currency/converter/ip-to-currency?apiKey=API-KEY&from=BTC&ip=8.8.8.8&amount=0.05'
Frequently Asked Questions
from, the detected local currency in to, the applied rate, your givenAmount, the computed convertedAmount, the ipAddress used for geolocation, and a date timestamp for the rate. XML output is available via format=xml.ipAddress. When calling from your backend, that address is your server's - pass the visitor's forwarded address as ip explicitly so the conversion reflects the visitor, not your infrastructure.from/to pair you specify. This endpoint resolves to automatically from IP geolocation. Use the converter when the user has chosen a currency; use this ip to currency API when their location should decide.from parameter accepts fiat codes, cryptocurrencies, and metals. The target currency is always the local currency of the geolocated IP.updates parameter accepts 1m, 10m, 1h, or 1d to require a maximum rate age per request.Pricing
To use the Geolocalized Currency Converter API, API credits are required. Charges are applied only for successful queries, indicated by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be promptly refunded.
For each successful request, 5 credits will be charged to access the Geolocalized Currency Converter API. Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.