OpenStreetMap POI Scraper
parseforge/overpass-osm-poi-scraper
Lead generationDeveloper toolsAutomation
Scrapes OpenStreetMap points of interest by place name or coordinate. Returns each POI as a flat row with name, address, coordinates, and category. Supports ready made categories and custom OSM tag filters.
- Total users
- 1
- Monthly active
- 0
- Total runs
- 134
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview

πΊοΈ Overpass OSM POI Scraper
π Pull local business listings from OpenStreetMap in seconds. Search any city by category and get names, addresses, phones, websites, and coordinates.
Collect points of interest from OpenStreetMap through the public Overpass API. Name a city or area, choose categories such as restaurants, hotels, pharmacies, or supermarkets, and get a clean list of places with their address, phone, website, email, opening hours, and exact latitude and longitude. You can also search around a coordinate with a radius, or add raw OpenStreetMap tag filters for anything not in the category list.
Coverage: the entire OpenStreetMap database, every country and city, across 45 ready made categories plus any custom tag.
| π― Target Audience | π‘ Primary Use Cases |
|---|---|
| Sales and lead gen teams | Build local business prospect lists |
| Market researchers | Map competitors in an area |
| Logistics and delivery | Geocode and enrich place data |
| App and data teams | Seed maps and location datasets |
π What the Overpass OSM POI Scraper does
- Searches OpenStreetMap by place name or by coordinate and radius.
- Collects 45 ready made categories, from restaurants to gyms to pharmacies.
- Accepts raw OpenStreetMap tag filters for full control.
- Returns 20 structured fields per place, including contact details.
- Gives exact latitude and longitude for every result.
- Exports to CSV, Excel, JSON, XML, or via API.
π Data fields
Each record includes: address, category, city, cuisine, email, latitude, longitude, name, openingHours, osmId, osmType, osmUrl, phone, postcode, scrapedAt, searchPlace, tags, website, wheelchair. All 19 field names come from a real production run, so what you see here is what lands in your dataset.
π How to use
- Create a free Apify account using this sign-up link.
- Open the Overpass OSM POI Scraper.
- Enter a
placeor a coordinate, then pick one or morecategories. - Click Start and watch the dataset fill in real time.
- Export your results as CSV, Excel, JSON, or XML, or pull them via API.
π Recommended Actors
- Nominatim OSM Scraper
- GeoNames Places Scraper
- OpenTopoData Elevation Scraper
- Zippopotam Postal Lookup Scraper
- RestCountries Scraper
π‘ Pro Tip: browse the complete ParseForge collection.
β οΈ Disclaimer: independent tool, not affiliated with the OpenStreetMap Foundation. Data comes from OpenStreetMap contributors under the Open Database License.
π Need Help?
If you hit a bug, have questions about setup, or need a scraper we haven't built yet, open our contact form or write to parseforge@protonmail.com. We also take on paid custom data projects.
For faster answers, join our Discord. It's the best place to get support and suggest new actors.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| place | string | City, neighborhood, or area to search, for example 'Berlin, Germany' or 'Manhattan, New York'. Resolved to a map area automatically. Leave empty to search around a coordinate instead. | Berlin, Germany |
| latitude | string | Center latitude when no place is set, for example 52.5174. Used together with longitude and radius. | not set |
| longitude | string | Center longitude when no place is set, for example 13.3951. Used together with latitude and radius. | not set |
| radiusMeters | integer | Search radius around the coordinate, in meters. Only used when searching around a coordinate. | 1500 |
| categories | array | Types of place to collect. Pick one or more. | ["restaurant"] |
| customFilters | array | Raw OpenStreetMap tag filters, one per line, for example 'amenity=cinema', 'shop=bicycle', or 'office' to match any office. Combined with the categories above. | not set |
| maxItems | integer | How many places to collect per run. | 10 |
Pricing
from $3.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.003 to $0.004 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~overpass-osm-poi-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"place": "Berlin, Germany",
"categories": [
"restaurant"
],
"maxItems": 3
}' Examples
Input that runs as-is.
{
"place": "Berlin, Germany",
"categories": [
"restaurant"
],
"maxItems": 3
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.