---
title: "Visitor's country and currency — keyless"
method: GET
path: "/api/open/geo"
tags: ["Open Endpoints"]
---

# Visitor's country and currency — keyless

`GET /api/open/geo`

## Request

- Base URL: `https://allratestoday.com`
- URL: `https://allratestoday.com/api/open/geo`
- Auth: none declared

The calling IP's country (from Cloudflare's edge) and the currency it maps to. Keyless and CORS-open (`Access-Control-Allow-Origin: *`), so browser packages such as react-currency-localizer-realtime can detect a visitor's currency without a third-party geo-IP service. Never cached — the answer is per-IP. `country` and `currency` are null when the edge cannot determine a country.

## Response `200`

Country and mapped currency for the calling IP.

- object
  - `country` string, nullable: ISO 3166-1 alpha-2, or null
  - `currency` string, nullable: ISO 4217 code mapped from the country, or null
  - `source` 'cloudflare'

---

[API](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api.md) · [All operations](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api/llms.txt) · [OpenAPI document](https://skmtc.dev/allratestoday/apis/allratestoday-exchange-rate-central-bank-rates-api/revisions/c2e58e9b4da4?raw)
