OpenRouteService POI API
Return points of interest using OpenStreetMap data
Return points of interest using OpenStreetMap data
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/openrouteservice-poi-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: OpenRouteService Directions POI API
description: OpenRouteService is a free, open-source geospatial API platform built on OpenStreetMap data. It provides routing directions for multiple transport modes, isochrones for reachability analysis, time-distance matrices, geocoding, elevation data, points of interest, and vehicle route optimization for logistics and humanitarian use cases.
version: v2
contact:
name: OpenRouteService Support
url: https://ask.openrouteservice.org
email: support@smartmobility.heigit.org
license:
name: GNU General Public License v3.0
url: https://github.com/GIScience/openrouteservice/blob/main/LICENSE
x-ors-docs: https://giscience.github.io/openrouteservice/
servers:
- url: https://api.openrouteservice.org
description: OpenRouteService Public API
security:
- ApiKeyAuth: []
tags:
- name: POI
description: Return points of interest using OpenStreetMap data
paths:
/pois:
post:
tags:
- POI
summary: Points of Interest
description: Returns points of interest in the area surrounding a given geometry. Supports search within a 2 km radius for areas up to 50 km2, filtered by category and keyword using OpenStreetMap POI data.
operationId: getPOIs
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/POIRequest'
responses:
'200':
description: Points of interest as GeoJSON FeatureCollection
content:
application/geo+json:
schema:
$ref: '#/components/schemas/POIResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
POIResponse:
type: object
properties:
type:
type: string
enum:
- FeatureCollection
features:
type: array
items:
type: object
properties:
type:
type: string
enum:
- Feature
geometry:
type: object
properties:
type:
type: string
enum:
- Point
coordinates:
type: array
items:
type: number
properties:
type: object
properties:
osm_id:
type: integer
osm_type:
type: integer
distance:
type: number
category_ids:
type: object
category_group_ids:
type: object
information:
type: object
properties:
attribution:
type: string
version:
type: string
timestamp:
type: string
format: date-time
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: integer
description: Error code
message:
type: string
description: Human-readable error message
info:
type: object
properties:
engine:
$ref: '#/components/schemas/EngineInfo'
attribution:
type: string
timestamp:
type: integer
format: int64
EngineInfo:
type: object
properties:
version:
type: string
description: ORS engine version
build_date:
type: string
format: date-time
description: Build date of the ORS engine
POIRequest:
type: object
required:
- request
- geometry
properties:
request:
type: string
description: Type of POI request
enum:
- pois
- list
- stats
geometry:
type: object
description: Search area geometry
properties:
bbox:
type: array
description: Bounding box [[minLon, minLat], [maxLon, maxLat]]
items:
type: array
items:
type: number
minItems: 2
maxItems: 2
geojson:
type: object
description: GeoJSON geometry to search within
buffer:
type: number
description: Buffer distance around geometry in meters
format: double
filters:
type: object
description: Filters for POI categories and keywords
properties:
category_group_ids:
type: object
description: Category group IDs to filter by
additionalProperties:
type: array
items:
type: integer
category_ids:
type: object
description: Specific category IDs to filter by
additionalProperties:
type: array
items:
type: integer
name:
type: array
description: POI name keywords to filter by
items:
type: string
wheelchair:
type: string
description: Wheelchair accessibility filter
enum:
- true
- false
- limited
- designated
smoking:
type: string
description: Smoking policy filter
fee:
type: string
description: Fee requirement filter
enum:
- true
- false
limit:
type: integer
description: Maximum number of POIs to return (max 200)
maximum: 200
default: 200
sortby:
type: string
description: Sort POI results by this attribute
enum:
- category
- distance
responses:
Forbidden:
description: Forbidden - API key does not have permission for this operation
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized - missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request - invalid parameters or request body
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
description: API key obtained from https://openrouteservice.org