Geoapify drop-in replacement

Geoapify's geocoding endpoints return GeoJSON FeatureCollections with a flat properties object. geoapify.mygeocode.com returns the same, including the rank and datasource blocks, plus its IP info endpoint.

Change one hostname

Original host
  • api.geoapify.com
Use insteadgeoapify.mygeocode.com
Key parameterapiKey (put your My Geocode key here, or leave it out for the free 2,500 a day)
Before
curl "https://api.geoapify.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_GEOAPIFY_KEY"
After
curl "https://geoapify.mygeocode.com/v1/geocode/search?text=Dam+1+Amsterdam&apiKey=YOUR_MYGEOCODE_KEY"

Why people move

Geoapify's free plan is 3,000 credits a day with attribution required. Here it is 2,500 requests a day with no attribution requirement, and paid usage has no monthly tier to outgrow.

Try it before you sign up for anything. Requests to geoapify.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 geoapify.mygeocode.comWhat it doesBacked by
/v1/geocode/search?text=...Forward geocodingForward geocoding
/v1/geocode/reverse?lat=...&lon=...Reverse geocodingReverse geocoding
/v1/geocode/autocomplete?text=...AutocompleteAddress autocomplete
/v1/ipinfo?ip=...IP geolocationIPv4 lookup

Example response

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

Response from geoapify.mygeocode.com
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "datasource": { "sourcename": "mygeocode", "attribution": "My Geocode", "license": "https://mygeocode.com/terms/" },
        "country": "Netherlands",
        "country_code": "nl",
        "state": "North Holland",
        "city": "Amsterdam",
        "postcode": "1012 JS",
        "street": "Dam",
        "housenumber": "1",
        "lon": 4.893604,
        "lat": 52.373119,
        "formatted": "Dam 1, 1012 JS Amsterdam, Netherlands",
        "address_line1": "Dam 1",
        "address_line2": "1012 JS Amsterdam, Netherlands",
        "result_type": "building",
        "rank": { "importance": 0.41, "confidence": 1, "confidence_city_level": 1, "confidence_street_level": 1, "match_type": "full_match" },
        "place_id": "mg.nl.addr.c21d40e8"
      },
      "geometry": { "type": "Point", "coordinates": [4.893604, 52.373119] },
      "bbox": [4.893004, 52.372719, 4.894204, 52.373519]
    }
  ],
  "query": {
    "text": "Dam 1 Amsterdam",
    "parsed": { "housenumber": "1", "street": "dam", "city": "amsterdam", "expected_type": "building" }
  }
}

Details and differences

  • result_type uses Geoapify's vocabulary: building, street, postcode, city, county, state, country, amenity.
  • format=json is supported as an alternative to GeoJSON, as on Geoapify.
  • The type, filter, bias, lang and limit parameters are honoured.

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.