197 markets · sourced directly from central banks
One IP address. Everything a checkout needs.
One call turns an address into everything a transaction needs — currency, formatting, tax, the payment methods people there actually use, a live central-bank FX rate, and the fraud signals a plain geo API can't see.
10,000 requests/month free. No card required.
- 197
- markets, hand-verified_
- 5
- central-bank FX sources_
- 0
- raw IPs stored_
Sourced from the authorities, not a reseller
- ICU · Unicode
- European Central Bank
- U.S. Federal Reserve
- Bank of England
- Bank of Canada
- MaxMind GeoLite2
- OFAC · FATF
- cURL · PHP · JS · Python · Go
- Cloudflare edge
This is what one call returns — about you, right now.
No key, no signup. We detected your own country from this request and rendered the same commerce profile your checkout would receive. A visitor sees their currency and flag before reading a word of copy — the strongest thing we can show you.
See the full response shapeGET /v1/self
detecting…We couldn't place your address — you're likely on a private network. Browse the 197 country profiles instead.
What one call resolves_
Four checkout decisions, made before the page paints.
A single request at session start answers the questions a cross-border checkout has to get right — in what currency, at what tax, with which payment methods, and how risky the request is.
Currency & formatting
The right symbol, decimals, separators and grouping for the buyer's market — JPY with no decimals, INR in lakh/crore — verified against ICU/CLDR.
Tax treatment
The standard rate, its local name, reduced bands, and whether the shelf price must legally include it. Null where no national rate exists.
Local payment methods
The methods that actually convert, ranked by real use — iDEAL, Pix, cash on delivery — plus the card schemes that clear domestically.
Risk signals
Datacenter, VPN and Tor detection on the visitor's IP, folded into a transparent 0–100 score you can act on. (BIN-versus-IP mismatch is a card check on /v1/fraud/check.)
San Francisco, United States
detected from IP · edge
Order #LS-4821
2 items
- Subtotal
- $1,249.00
- Sales tax
- added at checkout
- Total
- $1,249.00 + tax
Pay with
Signals
- Currency USD · 2dp
- FX 1.00 · pivot
- VPN / Proxy None
- Datacenter No
- Risk 12 · Low
What we solve_
Built for the moment money moves.
The same API, pointed at the job you're doing.
San Francisco, United States
This visitor pays in USD — prices render as $123,456.78, sales tax added at checkout.
Payment methods · by real use
Localizes every checkout
One call at session start returns the currency, exact formatting, tax treatment and the payment methods that market actually uses.
Learn moreCard payment
Low risk- BIN country matches IP — US
- No VPN, datacenter or Tor
Composite score 12 / 100 — every signal named.
Screens every transaction
BIN-versus-IP mismatch, VPN and datacenter detection, folded into a transparent score your rules can act on before you authorize.
Learn moreEUR → USD
Live1.08
Source: European Central Bank · sample
Converts at rates you can name
Every rate comes straight from a central bank and carries its source and date — converted in bcmath, never a float.
Learn more197 markets, hand-verified and kept current.
Every profile is researched against primary sources — ICU/CLDR for formatting, national authorities for tax, central banks for FX — and re-checked each release, with scheduled changes flagged before they land.
Browse the country dataOne call. Every commerce signal.
-
Geo & IP intelligence
Turn an IP into a place — country, region, city, timezone.
-
Currency & formatting
Not just "USD" — the symbol, decimals, separators and grouping.
-
Tax intelligence
Standard rate, local name, reduced bands, inclusive or not.
-
Payment intelligence
The methods and card schemes people there actually use.
-
Live FX rates
Sourced directly from central banks — no reseller markup.
-
Threat & fraud signals
Datacenter, VPN and Tor detection, plus BIN-vs-IP mismatch.
$ curl https://api.localesense.com/v1/self \
-H "Authorization: Bearer ls_live_..."
{
"geo": {
"country_code": "US",
"city": "San Francisco"
},
"currency": {
"code": "USD",
"decimals": 2,
"format_example": "$123,456.78"
},
"fx": {
"rate": "1.00",
"source": "pivot"
},
"tax": {
"rate": null,
"type": "Sales Tax"
},
"commerce": {
"payment_methods": [
"card",
"apple_pay",
"google_pay",
"paypal"
]
},
"network": {
"is_vpn": false,
"risk_score": 12
}
}
Industries_
Tuned to your market.
The same data, framed for how your industry sells.
Localize the storefront and the checkout in one call.
Learn more Fintech & paymentsPayments-aware intelligence: FX, BIN mismatch, compliance flags.
Learn more SaaSLocalize pricing pages and protect signups at scale.
Learn more MarketplacesLocalize both sides and screen risk on every transaction.
Learn more Travel & hospitalityPrice in the guest’s currency, meet local payment norms.
Learn more GamingLocalized storefronts and abuse-resistant accounts.
Learn more197
markets, hand-verified against ICU/CLDR and primary sources_
5
central banks publishing our FX rates directly_
0-100
transparent, additive risk score you can reproduce by hand_
0
floats in the money path — bcmath strings end to end_
For developers_
One endpoint. Every stack.
No SDK to install and nothing to keep in sync — it's plain HTTPS and JSON, so it works with whatever you already use. Authenticate with a bearer key and read the response.
197
markets, hand-verified
6
REST endpoints
5
central-bank FX sources
12
digit money precision
Works with any HTTP client
Questions builders ask before they integrate
How do you turn an IP address into currency and tax data?
One request to /v1/self reads the caller's country from the edge (or you pass an IP to /v1/lookup), then joins it to a hand-verified profile: currency and its exact formatting, the consumption-tax rate and name, local payment methods, a live central-bank FX rate, and network risk signals — all in a single JSON response.
Is IP-based geolocation accurate enough for checkout?
Country resolution is roughly 99% accurate, which is what currency, tax and payment-method selection depend on. City-level is honestly lower (60–70%) and the response returns null rather than guessing, so you never localise on a value we are not sure of.
Where do the currency formatting and FX rates come from?
Formatting (decimals, separators, symbol position, lakh/crore grouping) is derived from ICU/CLDR and re-checked against it on every build. FX comes straight from central banks — the European Central Bank, US Federal Reserve, Bank of England and Bank of Canada among them — with each rate carrying its source and as-of date.
Do you store the IP addresses I send you?
No. Request logs keep only a salted hash of the address, never the raw IP, so we can rate-limit and debug without retaining personal data.
Is there a free tier, and do I need a credit card?
Yes — 10,000 requests a month, free, with no card required. Every tier includes live FX and the full formatting engine; paid tiers add higher limits, historical FX and the fraud endpoint.
How is this different from a plain geo-IP API like MaxMind or ipapi?
Geo APIs stop at location. Locale Sense adds the commerce layer on top — correct money formatting, tax treatment, the payment methods a market actually uses, attributable FX, and payments-aware fraud signals like BIN-country-versus-IP that a location API cannot produce.