Monitor your key's usage before you hit a limit
Watching your quota headers as you go tells you when a limit is approaching, well before a request actually gets rejected.
A price shown in an unfamiliar currency makes a visitor stop and do mental math before they decide anything, which is exactly the moment a pricing page should be at its clearest.
Look up the visitor's IP address and read the country_code field, which you can map onto a currency using your own lookup table, the same table you would use if a customer had told you their country directly.
GET /v1/ip?ip=203.0.113.150{
"status": "ok",
"ip": "203.0.113.150",
"version": 4,
"found": true,
"country": "Canada",
"country_code": "CA",
"region": "Ontario",
"city": "Toronto",
"postcode": "M5H",
"lat": 43.6511,
"lon": -79.3808,
"timezone": "America/Toronto",
"asn": 4321,
"org": "Example ISP"
}Showing a converted price for readability does not require actually charging in that currency. My Geocode's own pricing, for reference, is EUR only worldwide regardless of where a customer signs up from, and that same separation applies to your own pricing page: you can display a localized estimate while still settling every transaction in whatever currency your payment processor actually supports.
If you are showing a converted estimate rather than a price you will actually charge in that currency, label it clearly as an estimate, since exchange rates move and a visitor who expects to be charged exactly the number they saw will be caught off guard if the real charge lands in a different currency at a different rate.
Some visitors are traveling, using a VPN, or simply want to see pricing in a different currency than their detected one. A small currency selector next to the detected default costs nothing extra in requests and avoids trapping anyone in a wrong default.
One IP lookup per new visitor session, cached for the visit, is one request. Even a pricing page seeing a lot of daily traffic stays inside the 2,500 free requests a day included with every key, or the same allowance available from a single address without one.
Detecting a likely currency from IP data removes a small but real point of friction on a pricing page, as long as the actual settlement currency is stated clearly. See the IPv4 lookup docs for the field list, and My Geocode's own pricing page for how we handle this ourselves.