Migration

Migrating from ipstack

ipstack authenticates with an access_key query parameter and returns a JSON response with fields like type (ipv4 or ipv6), continent_code, latitude, longitude, and, on higher tiers, a nested connection object carrying autonomous system and ISP detail separately from the top-level fields. That nested connection structure is a bit more elaborate than some competitors' flatter formats, which suits applications that want ISP and network detail treated as its own logical grouping rather than mixed in with location fields.

Migrating this kind of nested structure requires a bit more care than a flat response would, simply because there are more places in the response tree where a field name could differ. It is worth testing against the nested paths specifically, not just the top-level fields, before considering a migration complete.

My Geocode's ipstack compatibility host reproduces the full structure, including the type, continent_code, latitude, longitude fields and the nested connection object, with only the copyright, terms, and privacy text changed. Reference details are at /compatibility/ipstack/. Code that reads response.connection.isp or response.type should return the same shape once pointed at the new host with a new key.

Because IP lookups are fully working end to end at My Geocode, results here are concrete rather than described only in shape. A lookup for a given address returns country, region, city, coordinates, and connection detail live, checked against a caching layer that keeps IP geolocation current rather than relying on infrequent batch updates.

Specific migration notes for ipstack integrations:

  • The access_key query parameter pattern maps onto our query parameter option directly, or you can move to an X-API-Key header, Authorization: Bearer, or HTTP Basic auth during the same migration if you would rather change authentication style at the same time
  • Optional extra fields (elevation where relevant, IP threat detail, deeper network information) are available via mg_extras=1 or an X-MG-Extras header, additive to the standard shape rather than replacing any of it
  • If your integration checks security fields for proxy or threat detection, those specific values are part of the optional extras rather than the base compatibility response, so confirm which fields your code actually depends on before assuming full parity

On pricing, 2,500 requests a day are free with no key at all, and every key gets its own 2,500 free requests a day counted per network. Beyond that, prepaid credit at €0.0001 per request or an Unlimited key at €50 a month applies uniformly, with every endpoint, including this compatibility host, priced the same. For applications using ipstack's connection object as a distinct data grouping in their own internal models, that grouping carries over unchanged, which keeps downstream code, dashboards, and data warehouses built on that structure intact.