OpenStreetMap POI Finder — Cafés, Shops, Parks, 1k+ Categories avatar

OpenStreetMap POI Finder — Cafés, Shops, Parks, 1k+ Categories

Under maintenance

Pricing

Pay per usage

Go to Apify Store
OpenStreetMap POI Finder — Cafés, Shops, Parks, 1k+ Categories

OpenStreetMap POI Finder — Cafés, Shops, Parks, 1k+ Categories

Under maintenance

Query OpenStreetMap's Overpass API for any bounding box + tag filter and return points of interest as structured JSON. Cafés, restaurants, shops, parks, schools, hospitals, 1,000+ other categories. No auth, no proxy, public Overpass API.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Mori

Mori

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

OpenStreetMap POI Finder

Query OpenStreetMap's Overpass API for any point, bounding box, or city — cafés, restaurants, shops, parks, schools, hospitals and 1,000+ other POI categories.

What it does

  • Submits one or more Overpass-QL queries and returns one record per matching OSM element
  • Each record carries geometry, the primary OSM category tag, structured address/contact fields, and the full raw tag map
  • No proxy, no auth, no captcha, no JS rendering
  • Handles element-type selection (node, way, relation) per query

Input

FieldRequiredDescription
queriesyesList of query objects (see schema below)
maxResultsnoCap on records emitted per query (default 1000)
overpassEndpointnoOverride Overpass base URL (default https://overpass-api.de/api/interpreter)

Each queries[] entry:

{
"label": "Cafés in downtown SF",
"bbox": "37.7749,-122.4194,37.7849,-122.4094",
"filters": ["amenity=cafe", "amenity=restaurant"],
"elementType": "node"
}
  • bbox: "south,west,north,east" decimal degrees (Overpass convention)
  • filters: list of "key=value" strings (e.g. amenity=cafe, shop=bakery, tourism=museum)
  • elementType: node (default), way, or relation
  • label: free-form, surfaces in every emitted record for traceability

Output

One record per matching element, plus a final _summary: true record with per-query counts:

{
"queryLabel": "Cafés and restaurants in downtown San Francisco",
"bbox": { "south": 37.7749, "west": -122.4194, "north": 37.7849, "east": -122.4094 },
"filters": ["amenity=cafe", "amenity=restaurant"],
"osmType": "node",
"osmId": 1493456487,
"lat": 37.7770688,
"lon": -122.41733,
"name": "Starbucks",
"category": "amenity",
"subcategory": "cafe",
"address": { "street": "Market Street", "housenumber": "1390", "city": "San Francisco", "postcode": "94102", "state": "CA" },
"contact": { "phone": "+1-415-555-0100", "website": "https://...", "opening_hours": "Mo-Fr 07:00-19:00" },
"tags": { "amenity": "cafe", "brand": "Starbucks", "cuisine": "coffee_shop", "wheelchair": "yes" },
"scrapedAt": "2026-07-08T12:34:56.789Z"
}

Examples

Coffee shops + bakeries in a 1km box around SF Union Square:

{
"queries": [
{
"label": "Coffee and bakeries near Union Square",
"bbox": "37.7820,-122.4100,37.7920,-122.4000",
"filters": ["amenity=cafe", "shop=bakery"],
"elementType": "node"
}
],
"maxResults": 500
}

All parks in a city-wide box:

{
"queries": [
{
"label": "Parks in San Francisco",
"bbox": "37.7050,-122.5150,37.8350,-122.3550",
"filters": ["leisure=park"],
"elementType": "way"
}
]
}

Pricing

Free tier: 100 runs/month on Apify's free plan. Each run is a single Overpass POST.

Limitations

  • Overpass rate-limits per IP. For high-volume runs, use overpassEndpoint to switch to a regional mirror (https://overpass.kumi.systems/api/interpreter, https://overpass.us/api/interpreter).
  • way and relation queries require Overpass to compute centroids — adds a few seconds per query but is handled by the public server.
  • Bounding-box queries only. Radius-around-point and city-name geocoding are out of scope for v0.1.

Changelog

  • 0.1.0 — initial release. One-or-more query list, Overpass-QL generation, structured JSON output with address/contact extraction.