Try the API

Pick an endpoint, change the values, press Send. The request goes from your browser to api.mygeocode.com and the JSON answer opens in a new tab. It counts toward the free 2,500 a day for your IP address, so there is nothing to sign up for. A key is optional; paste one to have the request counted on your account instead.

GET /v1/forward

1 to 10, default 5

Comma separated ISO 3166-1 alpha-2 codes

Sample response for the values shown

{
  "status": "ok",
  "query": "221B Baker Street, London",
  "results": [
    {
      "formatted": "221B Baker Street, London NW1 6XE, United Kingdom",
      "lat": 51.523767,
      "lon": -0.158555,
      "type": "address",
      "precision": "house",
      "confidence": 0.97,
      "place_id": "gb.addr.7f3c2a19",
      "components": {
        "house_number": "221B",
        "road": "Baker Street",
        "neighbourhood": "Marylebone",
        "city": "London",
        "state": "England",
        "postcode": "NW1 6XE",
        "country": "United Kingdom",
        "country_code": "gb"
      },
      "bounds": { "north": 51.523917, "south": 51.523617, "east": -0.158305, "west": -0.158805 }
    }
  ]
}

Try removing the house number and watch precision change from house to street. Reference

GET /v1/reverse

address, street, postcode, city, region or country

Sample response for the values shown

{
  "status": "ok",
  "lat": 48.8584,
  "lon": 2.2945,
  "result": {
    "formatted": "5 Avenue Anatole France, 75007 Paris, France",
    "lat": 48.85837,
    "lon": 2.29448,
    "distance_m": 12,
    "type": "address",
    "precision": "house",
    "components": {
      "house_number": "5",
      "road": "Avenue Anatole France",
      "suburb": "7th Arrondissement",
      "city": "Paris",
      "state": "Ile-de-France",
      "postcode": "75007",
      "country": "France",
      "country_code": "fr"
    }
  }
}

Try 0 and 0: you get "result": null with status: ok, because a point in the ocean is a valid question. Reference

GET /v1/autocomplete

At least 2 characters

Sample response for the values shown

{
  "status": "ok",
  "query": "10 Downing",
  "suggestions": [
    { "text": "10 Downing Street, London SW1A 2AA, United Kingdom", "lat": 51.503396, "lon": -0.12764, "type": "address", "precision": "house", "place_id": "gb.addr.7f3c2a19" },
    { "text": "10 Downing Place, Cambridge CB2 3EN, United Kingdom", "lat": 52.203042, "lon": 0.121811, "type": "address", "precision": "house", "place_id": "gb.addr.a01d9e44" },
    { "text": "10 Downing Road, Dagenham RM9 6NP, United Kingdom", "lat": 51.536118, "lon": 0.137204, "type": "address", "precision": "house", "place_id": "gb.addr.c58b7e02" }
  ]
}

Every suggestion carries coordinates, so picking one needs no second call. Reference

GET /v1/ipv4

Clear it to look up your own address

Sample response for the values shown

{
  "status": "ok",
  "ip": "8.8.8.8",
  "version": 4,
  "country": "United States",
  "country_code": "US",
  "region": "California",
  "region_code": "CA",
  "city": "Mountain View",
  "postcode": "94043",
  "lat": 37.4056,
  "lon": -122.0775,
  "timezone": "America/Los_Angeles",
  "asn": 15169,
  "org": "Google LLC",
  "is_datacenter": true,
  "is_proxy": false,
  "is_private": false
}

Reference

GET /v1/ipv6

Clear it to look up your own address

Sample response for the values shown

{
  "status": "ok",
  "ip": "2001:4860:4860::8888",
  "version": 6,
  "prefix": "2001:4860::/32",
  "country": "United States",
  "country_code": "US",
  "region": "California",
  "region_code": "CA",
  "city": "Mountain View",
  "postcode": "94043",
  "lat": 37.4056,
  "lon": -122.0775,
  "timezone": "America/Los_Angeles",
  "asn": 15169,
  "org": "Google LLC",
  "is_datacenter": true,
  "is_proxy": false,
  "is_private": false
}

Reference

GET /v1/timezone

Sample response for the values shown

{
  "status": "ok",
  "lat": 35.6762,
  "lon": 139.6503,
  "timezone": "Asia/Tokyo",
  "abbreviation": "JST",
  "utc_offset": "+09:00",
  "utc_offset_seconds": 32400,
  "dst": false,
  "timestamp": 1756335245,
  "local_time": "2026-08-28T08:34:05+09:00",
  "country_code": "JP",
  "next_transition": null
}

Reference

GET /v1/elevation

Sample response for the values shown

{
  "status": "ok",
  "results": [
    { "lat": 27.9881, "lon": 86.925, "elevation_m": 8752.1, "resolution_m": 30 }
  ]
}

For several points at once use locations=lat,lon|lat,lon instead. Reference

GET /v1/postcode

ISO 3166-1 alpha-2. Strongly recommended

Sample response for the values shown

{
  "status": "ok",
  "postcode": "10001",
  "country_code": "US",
  "results": [
    {
      "postcode": "10001",
      "place": "New York",
      "region": "New York",
      "region_code": "NY",
      "country": "United States",
      "country_code": "US",
      "lat": 40.7484,
      "lon": -73.9967
    }
  ]
}

Reference

Reading the response. Every reply has a status field. Geocoding results carry a precision of house, street, postcode or admin so you know how much to trust the point. The response headers include X-Quota-Used and X-Quota-Reset; your browser's developer tools show them. Blank fields are left out of the request. See the documentation for every field.