Geoapify Place Details API
Retrieve details, geometry, surroundings, and reachability features for a place.
Retrieve details, geometry, surroundings, and reachability features for a place.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/geoapify:geoapify-place-details-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Geoapify Place Details API
version: 2.1.1
description: Retrieve detailed place information, geometry, building context, nearby areas, and walking or driving reachability features.
servers:
- url: https://api.geoapify.com/v2
description: Default API endpoint.
- url: https://api-eu.geoapify.com/v2
description: EU-focused endpoint. Geoapify service processing uses EU infrastructure.
security:
- ApiKeyInQuery: []
- ApiKeyInHeader: []
tags:
- name: Place Details
description: Retrieve details, geometry, surroundings, and reachability features for a place.
paths:
/place-details:
get:
tags:
- Place Details
operationId: getPlaceDetails
summary: Get details and related features for a place
description: 'Retrieve information and geometry for one place. Use one lookup method: a Geoapify `id` (recommended), a `lat` and `lon` pair, or an `osm_id` and `osm_type` pair. Do not combine lookup methods. The `features` parameter controls whether the response contains the primary place details, building information, radius areas, or walking and driving isolines. When omitted, `features` defaults to `details`.
**Example:** The preset `id` retrieves details and the original polygon geometry for Renton Stadium in Renton, Washington.'
parameters:
- name: id
in: query
required: false
description: Geoapify place identifier returned by the Geocoding, Places, or related Geoapify APIs. This is the recommended lookup method; do not combine it with coordinates or OpenStreetMap identifiers.
schema:
type: string
minLength: 3
maxLength: 2048
example: 51bfa6ca4f698d5ec059a6ec4eab8dbe4740f00102f901a67918020000000092030e52656e746f6e205374616469756d
- name: lat
in: query
required: false
description: Latitude of the location to inspect. Alternative to `id`; provide it together with `lon` and leave it unset when using a place ID.
schema:
type: number
minimum: -90
maximum: 90
- name: lon
in: query
required: false
description: Longitude of the location to inspect. Alternative to `id`; provide it together with `lat` and leave it unset when using a place ID.
schema:
type: number
minimum: -180
maximum: 180
- name: osm_id
in: query
required: false
description: Numeric OpenStreetMap object identifier. Alternative to `id`; use together with `osm_type` and leave it unset when using a place ID.
schema:
type: integer
minimum: 1
- name: osm_type
in: query
required: false
description: 'OpenStreetMap object type used with `osm_id`: `n` for node, `w` for way, or `r` for relation.'
schema:
type: string
enum:
- r
- w
- n
- name: features
in: query
required: false
description: Primary feature groups to return. Separate multiple values with `|`. `details` returns the place record and geometry, `building` returns the containing building, radius groups describe fixed-distance surroundings, and `walk_*` or `drive_*` groups return reachability isolines. Defaults to `details`. See the [feature reference](https://apidocs.geoapify.com/docs/place-details/#api).
style: pipeDelimited
explode: false
schema:
type: array
default:
- details
items:
$ref: '#/components/schemas/PlaceDetailsFeatureId'
examples:
defaultDetails:
summary: Details
value:
- details
detailsAndRadius:
summary: Details and nearby places
value:
- details
- radius_500
commute:
summary: Walking and driving areas
value:
- walk_10
- drive_15
- name: lang
in: query
required: false
description: Language used for names and address fields.
schema:
type: string
enum:
- ab
- aa
- af
- ak
- sq
- am
- ar
- an
- hy
- as
- av
- ae
- ay
- az
- bm
- ba
- eu
- be
- bn
- bh
- bi
- bs
- br
- bg
- my
- ca
- ch
- ce
- ny
- zh
- cv
- kw
- co
- cr
- hr
- cs
- da
- dv
- nl
- en
- eo
- et
- ee
- fo
- fj
- fi
- fr
- ff
- gl
- ka
- de
- el
- gn
- gu
- ht
- ha
- he
- hz
- hi
- ho
- hu
- ia
- id
- ie
- ga
- ig
- ik
- io
- is
- it
- iu
- ja
- jv
- kl
- kn
- kr
- ks
- kk
- km
- ki
- rw
- ky
- kv
- kg
- ko
- ku
- kj
- la
- lb
- lg
- li
- ln
- lo
- lt
- lu
- lv
- gv
- mk
- mg
- ms
- ml
- mt
- mi
- mr
- mh
- mn
- na
- nv
- nb
- nd
- ne
- ng
- nn
- 'no'
- ii
- nr
- oc
- oj
- cu
- om
- or
- os
- pa
- pi
- fa
- pl
- ps
- pt
- qu
- rm
- rn
- ro
- ru
- sa
- sc
- sd
- se
- sm
- sg
- sr
- gd
- sn
- si
- sk
- sl
- so
- st
- es
- su
- sw
- ss
- sv
- ta
- te
- tg
- th
- ti
- bo
- tk
- tl
- tn
- to
- tr
- ts
- tt
- tw
- ty
- ug
- uk
- ur
- uz
- ve
- vi
- vo
- wa
- cy
- wo
- fy
- xh
- yi
- yo
- za
default: en
example: en
responses:
'200':
description: Requested details and related geographic features for the place.
content:
application/json:
schema:
$ref: '#/components/schemas/PlaceDetailsFeatureCollection'
example:
type: FeatureCollection
features:
- type: Feature
properties:
feature_type: details
name: Renton Stadium
ele: 9
categories:
- sport
- sport.stadium
datasource:
sourcename: openstreetmap
attribution: © OpenStreetMap contributors
license: Open Database License
url: https://www.openstreetmap.org/copyright
raw:
ele: 9
name: Renton Stadium
osm_id: 35158438
leisure: stadium
osm_type: w
street: Cedar River Trail
city: Renton
county: King County
state: Washington
state_code: WA
postcode: '98057'
country: United States
country_code: us
formatted: Renton Stadium, Cedar River Trail, Renton, WA 98057, United States of America
address_line1: Renton Stadium
address_line2: Cedar River Trail, Renton, WA 98057, United States of America
lat: 47.4886984
lon: -122.2095527
iso3166_2: US-WA
timezone:
name: America/Los_Angeles
offset_STD: -08:00
offset_DST: -07:00
offset_STD_seconds: -28800
offset_DST_seconds: -25200
abbreviation_STD: PST
abbreviation_DST: PDT
place_id: 51bfa6ca4f698d5ec059a6ec4eab8dbe4740f00102f901a67918020000000092030e52656e746f6e205374616469756d
geometry:
type: Polygon
coordinates:
- - - -122.2111578
- 47.4890793
- - -122.2108104
- 47.4882834
- - -122.2103791
- 47.4882941
- - -122.2103391
- 47.4882951
- - -122.2103243
- 47.4879906
- - -122.2088184
- 47.4880196
- - -122.2088238
- 47.4882616
- - -122.2088254
- 47.4883121
- - -122.2082787
- 47.4883175
- - -122.2078885
- 47.4892193
- - -122.2103639
- 47.4891881
- - -122.2106455
- 47.4890871
- - -122.2111578
- 47.4890793
bbox:
- -122.2111578
- 47.4879906
- -122.2078885
- 47.4892193
'400':
description: Invalid lookup parameters, feature values, or place identifier.
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayError'
example:
statusCode: 400
error: Bad Request
message: Invalid Place ID
'401':
description: Missing or invalid Geoapify API key.
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayError'
example:
statusCode: 401
error: Unauthorized
message: Invalid apiKey
'429':
description: Rate limit or quota exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayError'
example:
statusCode: 429
error: Too Many Requests
message: Quota exceeded
'500':
description: Internal gateway error.
content:
application/json:
schema:
$ref: '#/components/schemas/GatewayError'
example:
statusCode: 500
error: Internal Server Error
message: Request failed, please try again later
components:
schemas:
GeoJsonGeometry:
oneOf:
- $ref: '#/components/schemas/PointGeometry'
- $ref: '#/components/schemas/LineStringGeometry'
- $ref: '#/components/schemas/PolygonGeometry'
- $ref: '#/components/schemas/MultiPointGeometry'
- $ref: '#/components/schemas/MultiLineStringGeometry'
- $ref: '#/components/schemas/MultiPolygonGeometry'
- $ref: '#/components/schemas/GeometryCollection'
PlaceDetailsFeature:
type: object
required:
- type
- properties
- geometry
properties:
type:
const: Feature
properties:
$ref: '#/components/schemas/PlaceDetailsProperties'
geometry:
$ref: '#/components/schemas/GeoJsonGeometry'
bbox:
type: array
minItems: 4
maxItems: 4
items:
type: number
WikiPopulation:
type: object
required:
- actual
- by_years
properties:
actual:
type: string
by_years:
type: object
additionalProperties:
type: string
LineStringGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: LineString
coordinates:
type: array
minItems: 2
items:
$ref: '#/components/schemas/Position'
BooleanMap:
type: object
additionalProperties:
type: boolean
TimezoneOutput:
type: object
required:
- name
- offset_STD
- offset_DST
- offset_STD_seconds
- offset_DST_seconds
properties:
name:
type: string
name_alt:
type: string
country_codes:
type: array
items:
type: string
offset_STD:
type: string
offset_DST:
type: string
offset_STD_seconds:
type: number
offset_DST_seconds:
type: number
abbreviation_STD:
type: string
abbreviation_DST:
type: string
PlaceDetailsFeatureId:
type: string
description: Primary Place Details feature group accepted by the `features` parameter.
enum:
- details
- building
- radius_100
- radius_500
- radius_1000
- walk_5
- walk_10
- walk_15
- walk_30
- drive_5
- drive_10
- drive_15
example: details
PlaceDetailValue:
oneOf:
- type: string
- type: number
- type: boolean
- type: 'null'
- type: array
items:
$ref: '#/components/schemas/PlaceDetailValue'
- type: object
additionalProperties:
$ref: '#/components/schemas/PlaceDetailValue'
PlaceDetailsFeatureCollection:
type: object
required:
- type
- features
properties:
type:
const: FeatureCollection
features:
type: array
items:
$ref: '#/components/schemas/PlaceDetailsFeature'
PlaceDetailGroup:
type: object
additionalProperties:
$ref: '#/components/schemas/PlaceDetailValue'
GatewayError:
type: object
required:
- statusCode
- error
- message
properties:
statusCode:
type: integer
description: HTTP status code returned by the gateway.
error:
type: string
description: Standard HTTP error name.
message:
type: string
description: Human-readable explanation of the error.
PlaceDetailsProperties:
type: object
description: Common properties and known place-detail fields returned by the Place Details API. Additional category-specific properties may appear when available.
additionalProperties: true
properties:
name:
type: string
continent:
type: string
country:
type: string
country_code:
type: string
region:
type: string
state:
type: string
state_code:
type: string
state_COG:
type: string
department_COG:
type: string
state_district:
type: string
province:
type: string
department:
type: string
arrondissement:
type: string
county:
type: string
county_code:
type: string
county_district:
type: string
city:
type: string
city_district:
type: string
postcode:
type: string
postal_code:
type: string
openGeoDB:postal_codes:
type: string
district:
type: string
suburb:
type: string
municipality:
type: string
commune:
type: string
subdistrict:
type: string
city_block:
type: string
neighbourhood:
type: string
quarter:
type: string
section:
type: string
sector:
type: string
subdivision:
type: string
croft:
type: string
allotments:
type: string
residental:
type: string
farm:
type: string
farmyard:
type: string
industrial:
type: string
retail:
type: string
borough:
type: string
town:
type: string
township:
type: string
village:
type: string
hamlet:
type: string
locality:
type: string
isolated_dwelling:
type: string
street:
type: string
road:
type: string
footway:
type: string
pedestrian:
type: string
path:
type: string
housenumber:
type: string
house_number:
type: string
house_name:
type: string
old_name:
type: string
other:
type: string
formatted:
type: string
address_line1:
type: string
address_line2:
type: string
unlocode:
type: string
iso3166_2:
type: string
iso3166_2_sublevel:
type: string
iso3166_sublevel:
type: string
plus_code:
type: string
plus_code_short:
type: string
postcodes:
type: array
items:
type: string
other_names:
type: object
additionalProperties:
type: string
lon:
type: number
minimum: -180
maximum: 180
lat:
type: number
minimum: -90
maximum: 90
parent_as_place_id:
type: boolean
timezone:
$ref: '#/components/schemas/TimezoneOutput'
population:
oneOf:
- type: number
- $ref: '#/components/schemas/WikiPopulation'
distance:
type: number
categories:
type: array
items:
type: string
details:
type: array
items:
type: string
datasource:
$ref: '#/components/schemas/PublicDatasource'
mappedTo:
type: object
properties:
lon:
type: number
minimum: -180
maximum: 180
lat:
type: number
minimum: -90
maximum: 90
place_id:
type: string
minLength: 3
maxLength: 2048
website:
type: string
opening_hours:
type: string
opening_hours_covid19:
type: string
brand:
type: string
operator:
type: string
branch:
type: string
network:
type: string
owner:
type: string
description:
type: string
craft:
type: string
ref:
type: string
int_ref:
type: string
ele:
oneOf:
- type: number
- type: string
description: Elevation when available.
color:
type: string
water_source:
type: string
website_other:
type: array
items:
type: string
website_international:
$ref: '#/components/schemas/StringMap'
description_international:
$ref: '#/components/schemas/StringMap'
name_international:
$ref: '#/components/schemas/StringMap'
cuisine_international:
$ref: '#/components/schemas/StringMap'
ref_other:
$ref: '#/components/schemas/StringMap'
disused:
type: boolean
commercial:
oneOf:
- type: string
- $ref: '#/components/schemas/PlaceDetailGroup'
payment_options:
$ref: '#/components/schemas/BooleanMap'
recycling_options:
$ref: '#/components/schemas/BooleanMap'
fuel_options:
$ref: '#/components/schemas/BooleanMap'
targeted_for:
$ref: '#/components/schemas/BooleanMap'
socket_options:
type: object
additionalProperties:
$ref: '#/components/schemas/PlaceDetailGroup'
brand_details:
$ref: '#/components/schemas/PlaceDetailGroup'
operator_details:
$ref: '#/components/schemas/PlaceDetailGroup'
network_details:
$ref: '#/components/schemas/PlaceDetailGroup'
owner_details:
$ref: '#/components/schemas/PlaceDetailGroup'
name_other:
$ref: '#/components/schemas/PlaceDetailGroup'
contact:
$ref: '#/components/schemas/PlaceDetailGroup'
facilities:
$ref: '#/components/schemas/PlaceDetailGroup'
wiki_and_media:
$ref: '#/components/schemas/PlaceDetailGroup'
historic:
$ref: '#/components/schemas/PlaceDetailGroup'
heritage:
$ref: '#/components/schemas/PlaceDetailGroup'
artwork:
$ref: '#/components/schemas/PlaceDetailGroup'
accommodation:
$ref: '#/components/schemas/PlaceDetailGroup'
catering:
$ref: '#/components/schemas/PlaceDetailGroup'
parking:
$ref: '#/components/schemas/PlaceDetailGroup'
airport:
$ref: '#/components/schemas/PlaceDetailGroup'
power:
$ref: '#/components/schemas/PlaceDetailGroup'
way:
$ref: '#/components/schemas/PlaceDetailGroup'
building:
$ref: '#/components/schemas/PlaceDetailGroup'
place_of_worship:
$ref: '#/components/schemas/PlaceDetailGroup'
fire_hydrant:
$ref: '#/components/schemas/PlaceDetailGroup'
defibrilator:
$ref: '#/components/schemas/PlaceDetailGroup'
restrictions:
$ref: '#/components/schemas/PlaceDetailGroup'
production:
$ref: '#/components/schemas/PlaceDetailGroup'
feature_type:
$ref: '#/components/schemas/PlaceDetailsFeatureId'
area:
type: number
type:
type: string
range:
type: number
access_details:
type: object
additionalProperties: true
wikidata:
type: string
MultiPolygonGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: MultiPolygon
coordinates:
type: array
items:
type: array
items:
type: array
minItems: 4
items:
$ref: '#/components/schemas/Position'
GeometryCollection:
type: object
required:
- type
- geometries
properties:
type:
const: GeometryCollection
geometries:
type: array
items:
$ref: '#/components/schemas/GeoJsonGeometry'
StringMap:
type: object
additionalProperties:
type: string
MultiLineStringGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: MultiLineString
coordinates:
type: array
items:
type: array
minItems: 2
items:
$ref: '#/components/schemas/Position'
MultiPointGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: MultiPoint
coordinates:
type: array
items:
$ref: '#/components/schemas/Position'
PublicDatasource:
type: object
properties:
sourcename:
type: string
attribution:
type: string
license:
type: string
url:
type: string
format: uri
PolygonGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: Polygon
coordinates:
type: array
items:
type: array
minItems: 4
items:
$ref: '#/components/schemas/Position'
PointGeometry:
type: object
required:
- type
- coordinates
properties:
type:
const: Point
coordinates:
$ref: '#/components/schemas/Position'
Position:
type: array
minItems: 2
maxItems: 3
prefixItems:
- type: number
minimum: -180
maximum: 180
description: Longitude.
- type: number
minimum: -90
maximum: 90
description: Latitude.
- type: number
description: Optional altitude.
items: false
securitySchemes:
ApiKeyInQuery:
type: apiKey
in: query
name: apiKey
description: Geoapify API key query parameter. Recommended authentication method for public APIs. API keys in URLs can be logged; use x-api-key for server-to-server clients.
ApiKeyInHeader:
type: apiKey
in: header
name: x-api-key
description: Geoapify API key header. Supported as an alternative authentication method for public APIs.
x-provenance:
method: harvested
publisher: Geoapify
source: https://apidocs.geoapify.com/assets/openapi/specs/place-details/place-details-api-openapi-specs.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)