Reverse geocoding – convert coordinates to address

GET /nominatim/reverse

Convert geographic coordinates (latitude, longitude) into a human-readable address using OpenStreetMap Nominatim. Worldwide coverage with detailed address components. The endpoint is a pass-through to the upstream Nominatim instance, so any Nominatim parameter (e.g. extratags, namedetails, polygon_geojson) is forwarded as-is; only the parameters most relevant to typical use are documented here.

Parameters

Parameter Type Required Description Example
lat number Latitude coordinate 51.51558
lon number Longitude coordinate -0.130463
format string Output format
Values: json, jsonv2, xml, geojson, geocodejson
Default: jsonv2
jsonv2
zoom integer Level of detail (0-18). Higher values return more detailed addresses
Default: 18
18
addressdetails integer Include detailed address breakdown (0 or 1)
Values: 0, 1
Default: 1
1
accept-language string Preferred language for results (ISO 639-1 codes) en

Try It Out

Base URL: https://capi.busmaps.com:8443
Example Requests:
Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" \
     -H "capi-host: busmaps.com" \
     "https://capi.busmaps.com:8443/nominatim/reverse?lat=51.51558&lon=-0.130463"
Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
     -H "capi-host: busmaps.com" \
     "https://capi.busmaps.com:8443/nominatim/reverse?lat=51.51558&lon=-0.130463&format=jsonv2&zoom=18&addressdetails=1&accept-language=en"

Response Example

HTTP 200 - Success
{
  "address": {
    "ISO3166-2-lvl4": "GB-ENG",
    "ISO3166-2-lvl8": "GB-CMD",
    "amenity": "Stars",
    "city": "London",
    "city_district": "London Borough of Camden",
    "country": "United Kingdom",
    "country_code": "gb",
    "house_number": "2-4",
    "neighbourhood": "St Giles",
    "postcode": "W1D 3BG",
    "road": "Soho Place",
    "state": "England",
    "state_district": "Greater London",
    "suburb": "Bloomsbury"
  },
  "addresstype": "amenity",
  "boundingbox": [
    "51.5155140",
    "51.5156140",
    "-0.1305925",
    "-0.1304925"
  ],
  "category": "amenity",
  "display_name": "Stars, 2-4, Soho Place, St Giles, Bloomsbury, London Borough of Camden, London, Greater London, England, W1D 3BG, United Kingdom",
  "importance": 9.99999999995449e-06,
  "lat": "51.515564",
  "lon": "-0.1305425",
  "name": "Stars",
  "osm_id": 10693862476,
  "osm_type": "node",
  "place_id": 275261823,
  "place_rank": 30,
  "type": "restaurant"
}
Response Schema

Title: Nominatim Reverse Geocoding Response

View Full JSON Schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Nominatim Reverse Geocoding Response",
  "type": "object",
  "properties": {
    "address": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "description": "City"
        },
        "region": {
          "type": "string",
          "description": "Region"
        },
        "amenity": {
          "type": "string",
          "description": "Amenity name/type at the location"
        },
        "state": {
          "type": "string",
          "description": "State/region"
        },
        "postcode": {
          "type": "string",
          "description": "Postal code"
        },
        "neighbourhood": {
          "type": "string",
          "description": "Neighbourhood"
        },
        "leisure": {
          "type": "string",
          "description": "Leisure feature at the location"
        },
        "country": {
          "type": "string",
          "description": "Country name"
        },
        "ISO3166-2-lvl4": {
          "type": "string",
          "description": "ISO 3166-2 subdivision code (level 4)"
        },
        "road": {
          "type": "string",
          "description": "Street/road name"
        },
        "city_district": {
          "type": "string",
          "description": "City district"
        },
        "country_code": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code"
        },
        "ISO3166-2-lvl8": {
          "type": "string",
          "description": "ISO 3166-2 subdivision code (level 8)"
        },
        "state_district": {
          "type": "string",
          "description": "State district"
        },
        "suburb": {
          "type": "string",
          "description": "Suburb"
        },
        "city_block": {
          "type": "string",
          "description": "City block"
        },
        "county": {
          "type": "string",
          "description": "County"
        },
        "house_number": {
          "type": "string",
          "description": "House number"
        },
        "ISO3166-2-lvl6": {
          "type": "string",
          "description": "ISO 3166-2 subdivision code (level 6)"
        }
      },
      "required": [
        "city",
        "road",
        "state",
        "postcode",
        "country_code",
        "suburb",
        "country",
        "ISO3166-2-lvl4"
      ],
      "description": "Address components breakdown"
    },
    "osm_type": {
      "type": "string",
      "description": "OpenStreetMap element type (node, way, relation)"
    },
    "importance": {
      "type": "number",
      "description": "Search result importance score"
    },
    "addresstype": {
      "type": "string",
      "description": "Type of address component returned"
    },
    "name": {
      "type": "string",
      "description": "Display name"
    },
    "boundingbox": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Bounding box coordinates [minlat, maxlat, minlon, maxlon]"
    },
    "type": {
      "type": "string",
      "description": "Type discriminator for the object"
    },
    "place_id": {
      "type": "integer",
      "description": "Unique identifier for the place in OSM Nominatim"
    },
    "lon": {
      "type": "string",
      "description": "Longitude in decimal degrees"
    },
    "osm_id": {
      "type": "integer",
      "description": "OpenStreetMap element ID"
    },
    "lat": {
      "type": "string",
      "description": "Latitude in decimal degrees"
    },
    "place_rank": {
      "type": "integer",
      "description": "Nominatim importance rank of the place"
    },
    "category": {
      "type": "string",
      "description": "OSM category/class (highway, building, amenity, etc.)"
    },
    "display_name": {
      "type": "string",
      "description": "Full human-readable address"
    }
  },
  "required": [
    "type",
    "address",
    "importance",
    "osm_type",
    "place_id",
    "category",
    "lon",
    "osm_id",
    "addresstype",
    "lat",
    "display_name",
    "place_rank",
    "name",
    "boundingbox"
  ]
}
Response Codes
HTTP 200

Address found successfully

HTTP 400

Invalid coordinates

HTTP 404

No address found for coordinates

HTTP 500

Internal server error