ipstack drop-in replacement

ipstack's standard lookup and check endpoints answer at ipstack.mygeocode.com with the same top-level fields and location object, over HTTPS on every plan.

Change one hostname

Original host
  • api.ipstack.com
Use insteadipstack.mygeocode.com
Key parameteraccess_key (put your My Geocode key here, or leave it out for the free 2,500 a day)
Before
curl "http://api.ipstack.com/8.8.8.8?access_key=YOUR_IPSTACK_KEY"
After
curl "https://ipstack.mygeocode.com/8.8.8.8?access_key=YOUR_MYGEOCODE_KEY"

Why people move

ipstack's free plan is HTTP only and capped at 100 a month. Here the free allowance is 2,500 a day over HTTPS.

Try it before you sign up for anything. Requests to ipstack.mygeocode.com count toward the same 2,500 a day you get on our own endpoints, with no key and no account. Above that, credits at $0.001 per request or €50 a month unlimited. Signing up takes an email address and nothing else.

See pricing Sign up with an email

Endpoints

Path on ipstack.mygeocode.comWhat it doesBacked by
/{ip}Standard lookupIPv4 lookup
/checkLookup the callerIPv4 lookup
/{ip},{ip},{ip}Bulk lookupIPv4 lookup

Example response

This is what the request above returns. Field names, nesting and types follow ipstack. Only the data behind them is ours.

Response from ipstack.mygeocode.com
{
  "ip": "8.8.8.8",
  "type": "ipv4",
  "continent_code": "NA",
  "continent_name": "North America",
  "country_code": "US",
  "country_name": "United States",
  "region_code": "CA",
  "region_name": "California",
  "city": "Mountain View",
  "zip": "94043",
  "latitude": 37.4056,
  "longitude": -122.0775,
  "location": {
    "geoname_id": 5375480,
    "capital": "Washington D.C.",
    "languages": [ { "code": "en", "name": "English", "native": "English" } ],
    "country_flag": "https://mygeocode.com/assets/img/flags/us.svg",
    "country_flag_emoji": "🇺🇸",
    "country_flag_emoji_unicode": "U+1F1FA U+1F1F8",
    "calling_code": "1",
    "is_eu": false
  }
}

Details and differences

  • The fields, hostname, language and output parameters are honoured; output=xml is not available.
  • The time_zone, currency and connection modules are filled when requested with fields=..., without an upgrade.
  • Bulk lookups count one request per address.

If your client depends on a field or behaviour that is not listed here, tell us. Compatibility gaps get fixed quickly because they are usually small.

Other drop-in hosts

All REST drop-ins and JavaScript library drop-ins.