Skip to content

0 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
  • State Bank of Pakistan
  • MaxMind GeoLite2
  • OFAC · FATF
  • cURL · PHP · JS · Python · Go
  • Cloudflare edge
Live demo

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 shape

GET /v1/self

detecting…

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, ₹ 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 and the BIN-versus-IP mismatch, folded into a transparent 0–100 score you can act on.

GET /v1/self 200 OK · 1 call
🇵🇰

Lahore, Pakistan

detected from IP · edge

Order #LS-4821

2 items

Subtotal
Rs 12,499.00
GST 18%
Rs 2,249.82
Total
Rs 14,748.82

Pay with

JazzCash Easypaisa COD Card

Signals

  • Currency PKR · 2dp
  • FX vs USD 278.02
  • VPN / Proxy None
  • BIN vs IP Match
  • Risk 12 · Low

What we solve_

Built for the moment money moves.

The same API, pointed at the job you're doing.

Checkout

🇵🇰 Karachi, Pakistan

This visitor pays in PKR — prices render as Rs 123,456.78, GST included.

Payment methods · by real use

JazzCash Easypaisa COD Card

Localizes every checkout

One call at session start returns the currency, exact formatting, tax treatment and the payment methods that market actually uses.

Learn more
Fraud check

Card payment

Low risk
  • BIN country matches IP — PK
  • No VPN, datacenter or Tor

Composite score 12 / 100 — every signal named.

Approve Hold for review

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 more
Live FX

USD → PKR

Live

278.02

Source: State Bank of Pakistan · today

EUR European Central Bank
GBP Bank of England
CAD Bank of Canada

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 more
Country intelligence

0 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 data
The platform

One call. Every commerce signal.

self.sh
$ curl https://api.localesense.com/v1/self \
    -H "Authorization: Bearer ls_live_..."

{
  "geo":      { "country_code": "PK", "city": "Karachi" },
  "currency": { "code": "PKR", "decimals": 2,
                "format_example": "Rs 123,456.78" },
  "fx":       { "rate": "278.02", "source": "sbp" },
  "tax":      { "rate": "18.00", "type": "GST" },
  "commerce": { "payment_methods":
                  ["cash_on_delivery", "easypaisa",
                   "jazzcash", "card"] },
  "network":  { "is_vpn": false, "risk_score": 12 }
}

Industries_

Tuned to your market.

The same data, framed for how your industry sells.

0

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

cURL PHP JavaScript Python Go Ruby Node Java .NET

Case studies_

Designed for teams who care about every checkout.

Placeholder — replace with real customer stories
“One call at checkout and we finally show the right currency, tax and payment methods in every market. Cart abandonment on cross-border orders dropped noticeably.”
C [Customer name] [Title · Company]

[Customer story]

[Company]

[Company]

[Headline metric — e.g. cut cross-border abandonment]_

“The BIN-versus-IP signal caught mismatched cards our old geo API was blind to. It plugged straight into our existing risk rules.”
C [Customer name] [Title · Company]

[Customer name]

[Improved metric]

“Central-bank FX we can actually attribute to a source, and formatting that is correct down to the decimal — JPY with no decimals, India in lakh/crore. It just does the tedious part, and the response tells you where every number came from.”
C [Customer name] [Title · Company]

[Customer story]

[Company]

FAQs

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 ECB, US Federal Reserve, Bank of England, Bank of Canada and State Bank of Pakistan — 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. LocaleSense 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.