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.