OpenStreetMap Linked Data Wrapper

Introduction

Welcome to the EXPERIMENTAL OpenStreetMap wrapper to Linked Data.

OpenStreetMap data is licensed under the Open Database License (ODbL).

Resources

Core element data (nodes, ways, relations) and changeset metadata via OSM API 0.6 (usage policy).

node/{id}.rdf
Node descriptions in RDF
node/{id}.json
Node geometry in GeoJSON
way/{id}.rdf
Way descriptions in RDF
way/{id}.json
Way geometry in GeoJSON
relation/{id}.rdf
Relation descriptions in RDF
relation/{id}.json
Relation geometry in GeoJSON
changeset/{id}.rdf
Changeset metadata in RDF

Understanding URIs

For each OSM element, three URI patterns are used:

/node/{id}.rdf, /way/{id}.rdf, /relation/{id}.rdf
Document URI that returns RDF/XML with semantic metadata and provenance information
/node/{id}.json, /way/{id}.json, /relation/{id}.json
Document URI that returns GeoJSON with geometry coordinates
/node/{id}#id, /way/{id}#id, /relation/{id}#id
Resource URI identifying the geographic feature itself (the thing with properties like location and tags). This hash URI appears within RDF responses and follows W3C Linked Data best practices to distinguish the feature from documents describing it. The RDF output includes foaf:page links to both the RDF and JSON representations.

Requesting a URI without an extension (e.g., /node/{id}) defaults to RDF format.

Examples

node/1.rdf | node/1.json
Monte Piselli radio mast, Italy - The very first node in OpenStreetMap! - view on OSM, API
node/1675605507.rdf | node/1675605507.json
Café Wanderer, Nuremberg - view on OSM, API
way/100.rdf | way/100.json
Roundabout, Germany - view on OSM, API
way/32113829.rdf | way/32113829.json
Palas building, Kaiserburg Nuremberg - view on OSM, API
relation/147.rdf | relation/147.json
Tigris River multipolygon - Earliest surviving relation! - view on OSM, API
relation/71525.rdf | relation/71525.json
Paris administrative boundary - view on OSM, API
relation/13986332.rdf | relation/13986332.json
Sebalder Reichswald forest - view on OSM, API
changeset/137.rdf | changeset/137.json
One of the earliest changesets - view on OSM, API
changeset/123456789.rdf | changeset/123456789.json
Recent changeset example - view on OSM, API

Geometry Data

Get raw geometry data for OSM features via linked geometry sources. Supports multiple formats via file extension or HTTP Accept header content negotiation.

/geo/osm/{type}/{id}.{format}
Geometry from OpenStreetMap API. Supported formats: json (GeoJSON, default), wkt (Well-Known Text), kml (Keyhole Markup Language)
/geo/overpass/{type}/{id}.{format}
Geometry from Overpass API (useful for complex geometries). Same format options as OSM endpoint

Content Negotiation

Request different formats using file extensions or HTTP Accept headers:

File extension method
/geo/osm/node/1.json → GeoJSON
/geo/osm/node/1.wkt → WKT
/geo/osm/node/1.kml → KML
HTTP Accept header method
Accept: application/geo+json → GeoJSON (default)
Accept: application/wkt → WKT
Accept: application/vnd.google-earth.kml+xml → KML

Examples

geo/osm/node/1.json
Point geometry for Monte Piselli node (GeoJSON format)
geo/osm/node/1.wkt
Same node in WKT format: POINT(lon lat)
geo/osm/node/1.kml
Same node in KML format for Google Earth
geo/osm/way/100.json
Geometry for Roundabout way in Germany (GeoJSON)
geo/osm/relation/71525.json
Geometry for Paris administrative boundary relation (GeoJSON)
geo/overpass/way/100.json
Geometry from Overpass API for way (GeoJSON)

Map

Get nodes, relations and ways inside a bounding box via OSM API 0.6 (usage policy).

Examples

map?bbox=11.075,49.457,11.077,49.459
Map data around Kaiserburg Nuremberg - OSM API
map?bbox=2.348,48.856,2.350,48.858
Map data around Louvre, Paris - OSM API
map?bbox=-0.128,51.500,-0.126,51.502
Map data around Westminster, London - OSM API

Search

Search for nodes, relations and ways via Nominatim API (usage policy).

Examples

search?q=Kaiserburg
Search for "Kaiserburg" - Nominatim API
search?q=Nuremberg
Search for "Nuremberg" - Nominatim API
search?q=restaurant
Search for "restaurant" - Nominatim API

Points of Interest

Get points of interest (nodes with an amenity tag) inside a bounding box via Overpass API (terms).

Examples

poi?bbox=11.070,49.450,11.085,49.465
Points of interest in Nuremberg old town (Kaiserburg area) - Overpass API
poi?bbox=2.33,48.85,2.37,48.87
Points of interest in central Paris (Louvre, Châtelet area) - Overpass API
poi?bbox=-118.28,34.04,-118.24,34.06
Points of interest in downtown Los Angeles - Overpass API
poi?bbox=-0.13,51.49,-0.11,51.51
Points of interest in central London (Westminster area) - Overpass API

Documentation

For project updates and changes, see the CHANGELOG.

For information about the OSM data model and how it's represented as Linked Data, see the ONTOLOGY documentation.


OntologyCentral, 2009-2025.