OSM Features API Playground

Explore real OpenStreetMap features from the GeoJSON API. Preset buttons load curated tag filters you can inspect and edit. Results shown in map and table view.

Read the full docs

GeoJSONOSM Data ExplorerCurated tag filtersMapLibre styling

Style

Preset

Advanced options

Actual API params that presets populate. Lower map zoom also sometimes filters tags internally.

OSM type
shape

Query Results

These tables show the query results split by geometry type. There are 0 features in view.

Show Output
View

GET /v2/osm_features

GET /v2/osm_features is the OSM Features API. Send a bounding box or a location plus radius, filter with native OpenStreetMap tags, and receive a GeoJSON FeatureCollection. The same route also serves FlatGeobuf, GeoParquet, CSV, and TSV when you set the Accept header. Tag filters require a spatial anchor. Authenticate with an API key.

ParameterExampleWhat it does
bboxmin_lon,min_lat,max_lon,max_latFeatures that intersect this box. One of two spatial anchors, the other being location plus radius.
location, radius59.334,18.063 and 500Point as lat,lng plus radius in metres. Tier caps differ for tagged vs tag-free queries.
tagsbuilding or amenity=cafeAND filter. Repeat for multiple conditions. Use key=value or a bare key for key-exists.
or_tagshighway=cyclewayOR filter. The whole group is ANDed with tags and the spatial anchor.
not_tagsaccess=privateExclusion filter. Repeat to drop several keys or key=value pairs.
typenode, way, relationOSM element types. Comma-separated. Omit to query all three.
shapeline, polygon, or allGeometry class for ways and relations. Nodes stay points. Example: type=way&shape=polygon&tags=building.
limit, cursor1000Page size per table. Next page uses X-Next-Cursor from the previous response. Also returned: X-Returned, X-Has-More.
osm_ids111,222,333Direct ID lookup. Mutually exclusive with bbox, location, and tag filters.

Optional size filters (min_area_m2, max_area_m2, min_length_m, max_length_m) and zoom are on this playground under Advanced options. Full schema, encodings, and live try-it are in the OpenAPI docs.

How It Works

GET /v2/osm_features returns a GeoJSON FeatureCollection for a bounding box or a location plus radius. Filter with OSM tags. Preset buttons fill those params so you can see exactly what the query uses.

Loading source from GitHub...

Source: Python · TypeScript

Presets cover buildings, roads and paths, parks, food and dining, shops and commerce, public transport, leisure and sports, natural features, and waterways. Edit any field to retune the live query. MapLibre renders the resulting points, lines, and polygons on the basemap style you pick.

Use the API directly with your own key for production workloads. The full reference is available in the API docs.