Every currency carries the rules a checkout actually needs: how many decimal places (JPY has 0, KWD has 3), where the symbol sits, which separators, and India-style lakh/crore grouping. Verified against ICU/CLDR by an automated test, not typed from memory.
Why it works_
Render prices the way locals read them
Decimals that matter
Treating a 0-decimal currency as 2-decimal overcharges 100×. We return the real minor-unit count for all 197 markets.
Symbol placement & separators
Before or after, space or narrow-space, comma or dot — the exact ICU convention per locale.
A worked example
Every response includes a formatted sample so you can see lakh/crore vs thousands at a glance.
One call, these response blocks.
This page maps to these blocks of the same response every other page reads:
- Currency
- Live FX
curl "https://api.localesense.com/v1/countries/PK" \
-H "Authorization: Bearer ls_live_..."
What your code sees, per request.
The sample on the right is the shape of the real response for a visitor in Karachi — every value attributable, nothing guessed. Point the same call at any of the 197 markets.
Try it live in the docs- Currency PKR · 2dp · Rs 123,456.78
- FX vs USD 278.02 · SBP · today
Keep exploring_