Build with MapLark
Query planet scale OpenStreetMap data as GeoJSON, CSV, or FlatGeobuf backed by PostGIS and served at low latency.
Documentation
Ready to build real-world applications? Start by exploring the docs and examples. Live playgrounds for each API are on the Products page.
Endpoint Docs
Swagger docs for all endpoints with live request execution, inline parameter editor, and OpenAPI spec download.
Reference Documentation
All endpoints and parameters documented in one place with full schema reference.
Quick Start
Fetch buildings in a bounding box by swapping in your API key and coordinates.
pip install osmfeaturesfrom osmfeatures import OSMFeaturesClient
with OSMFeaturesClient(api_key="swHAvOmreIm_uew6eqbn1UbIsVQT6p8PRohmqmAJiu4") as client:
fc = client.query(bbox="18.06,59.32,18.09,59.34", tags=["building"])
print(len(fc.features), "buildings found")npm install osmfeaturesimport { OSMFeatures } from 'osmfeatures';
const client = new OSMFeatures('swHAvOmreIm_uew6eqbn1UbIsVQT6p8PRohmqmAJiu4');
const page = await client.query({
bbox: '18.06,59.32,18.09,59.34',
tags: ['building'],
});
console.log(page.data.features.length, 'buildings found');type to search all element types (nodes, ways, and relations).Code examples
Practical Python recipes showing how to build real map features on top of the API.
Park Bench Finder
Fetch point nodes in a bounding box and render them as map markers.
Restaurant Guide
Query restaurants with name, cuisine, and map-pin coordinates - handling both node and polygon geometries via the centroid field.
Cycling Trail Finder
Use OR-combined tag filters to surface bike-permitted paths and forestry tracks.
Walking Route Planner
Build a full Dijkstra routing engine on a real OSM footway network - with bridge/tunnel layer handling.
Need support or are you interested in collaborating? Contact us.