What we shipped this month: geocoding, IP, time zone and more
A roundup of recent work across the API: new compatibility hosts, faster time zone and elevation lookups, dashboard features, and clearer quota visibility.
PositionStack tends to show up in lighter integrations, often a single service class wrapping one API call inside a larger application. That kind of integration is small enough to be easy to overlook and just large enough to be annoying to rewrite. Our compatibility host is aimed at removing that rewrite entirely.
The host reproduces PositionStack's request parameters and response body exactly, aside from copyright, terms and privacy text, which is ours rather than the original provider's. A request built for PositionStack's geocoding endpoint can be sent to our host unchanged, and the response comes back shaped the same way existing code already parses it.
What changes is a host name and a key. That key authenticates through whichever of our four standard methods your integration already uses: an X-API-Key header, an Authorization: Bearer header, HTTP Basic auth with the key as the username, or a query parameter.
A single service class wrapping one call is also the kind of integration nobody keeps documentation for, so questions tend to surface as support tickets from whoever inherited the code later. My Geocode's support queue keeps canned replies for exactly these recurring compatibility questions, header meanings, key formats, what changes and what does not, so a straightforward migration question gets answered quickly rather than waiting behind more involved ones.
Testing the shape of a response before touching any code is straightforward too: the interactive demo at /demo/ can send a sample request to any endpoint or compatibility host and show the exact fields that come back, which is often enough to confirm a PositionStack-shaped call will parse cleanly downstream.
Pricing does not vary based on which compatibility host handled a request. Any address gets 2,500 free requests a day with no key at all, counted per network. A key adds a further 2,500 free requests a day of its own. Past both allowances, prepaid credit is €0.0001 a request, or an Unlimited package covers usage for €50 a month, matching every other endpoint and host on the platform exactly.
Every response includes our quota headers as well: X-Quota-Limit, X-Quota-Used, X-Quota-Free-Remaining, X-Quota-Network-Used, X-Credits-Remaining, X-Key-IPs-Used, X-Key-IPs-Limit and X-Quota-Reset, offering usage visibility a plain PositionStack integration would not otherwise expose.
For anything beyond the compatible response's standard fields, mg_extras=1 on the request, or an X-MG-Extras header, adds optional extras on top, entirely opt in and off by default.
The host is documented at /compatibility/positionstack/, with a broader look at how all seventeen compatibility hosts work at /docs/compatibility/. If PositionStack is tucked into a service somewhere in your stack, pointing it here is a small, reversible change to test.