OpenStreetMap POI Scraper
Pricing
from $3.00 / 1,000 results
OpenStreetMap POI Scraper
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.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
OpenStreetMap POI Scraper
Scrape OpenStreetMap POI data for any city, neighborhood, or coordinate. Get restaurants, cafes, shops, and more with name, address, coordinates, and category. Export to CSV, JSON, Excel, or XML.
OpenStreetMap's public data is huge, but querying it by hand means writing Overpass QL or clicking through the website. This Actor reads the Overpass API directly, resolves a place name to a map area, and returns every matching point of interest in one flat row. No API key, no rate-limit headaches, no GIS setup.
| Who uses it | What they scrape OpenStreetMap for |
|---|---|
| Market researchers | Which businesses exist in a target city or district |
| Real estate analysts | What amenities are within walking distance of a property |
| Local marketers | Which shops and services to contact for partnerships |
| GIS specialists | A clean POI dataset to merge into their own maps |
| App developers | Seed data for location-based features |
What it does
This Actor collects OpenStreetMap points of interest by place name or coordinate and returns each one as a flat row with its name, address, coordinates, and category.
- π Place or coordinate search: type a city name like 'Berlin, Germany' or give a latitude, longitude, and radius.
- π·οΈ Ready made categories: pick from 45 common POI types, from restaurants and cafes to schools and charging stations.
- π§ Custom OSM filters: add raw Overpass tag filters like 'amenity=cinema' or 'shop=bicycle' for anything not in the list.
- π¦ Flat output: every place comes back as one row with name, address, coordinates, and category, ready for CSV or JSON.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with OpenStreetMap data
π Build a local business list.
A market researcher scrapes all restaurants and cafes in Berlin to see which areas are saturated and where a new concept could fit.
π‘ Score a neighborhood for a property.
A real estate analyst pulls schools, parks, and supermarkets within 1.5 km of a listing to enrich a walkability report.
πΊοΈ Feed a custom map.
A GIS specialist collects all EV charging stations in a region and merges the flat rows into their own spatial database.
π Find local partners.
A marketer scrapes gyms and beauty salons in a city to build a contact list for a B2B campaign.
Why choose this scraper
| What you get | |
|---|---|
| No Overpass QL needed | Pick categories from a list or paste simple tag filters, the Actor builds the query for you. |
| Place name resolution | Type 'Manhattan, New York' and the Actor finds the right map area automatically. |
| One row per place | Every POI is flattened into a single record, no nested JSON to untangle. |
| Runs on the Apify platform | Schedule it, get webhooks, and export to CSV, JSON, Excel, or XML without extra code. |
How it compares
This Actor and the OpenStreetMap Listing Scraper both pull data from OpenStreetMap, but this one focuses on POI extraction by category and custom tag filters, while the other is built for search result listings.
| Feature | ParseForge | OpenStreetMap Listing Scraper πΊοΈ |
|---|---|---|
| Search by place name | Yes | Not listed |
| Search by coordinate and radius | Yes | Not listed |
| Ready made POI categories | Yes | Not listed |
| Custom OSM tag filters | Yes | Not listed |
| Flat row output | Yes | Not listed |
| Address and coordinates | Yes | Yes |
Configure the run
Drive the Actor from a place name or a coordinate plus radius, then narrow the results with ready made categories or raw OpenStreetMap tag filters. Only matching places reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"place": "Berlin, Germany","radiusMeters": 1500,"categories": ["restaurant"],"maxItems": 10}
A larger pull:
{"place": "Berlin, Germany","radiusMeters": 1500,"categories": ["restaurant"],"maxItems": 200}
Pricing
Pay-per-result: $0.004 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.40 |
| 1,000 results | $4.00 |
| 10,000 results | $40.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the OpenStreetMap POI Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to OpenStreetMap through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/overpass-osm-poi-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your place name is spelled correctly and that the categories or custom filters match real OpenStreetMap tags. Try a broader category or remove custom filters to see if any places exist in that area.
The run takes a long time.
Large areas with many POIs can take a while. Reduce the radius, choose fewer categories, or lower the maximum places to speed it up.
I get an error about the place name.
The geocoder may not recognize the name. Try a more specific name, like 'Berlin, Germany' instead of 'Berlin', or switch to latitude and longitude.
Some places are missing from the results.
OpenStreetMap data is community maintained, so some places may not be tagged. Check the area on openstreetmap.org to see if the POI exists there. You can also add custom filters to catch more tags.
Can I get more than 1,000,000 places?
The maximum is 1,000,000 per run. If you need more, split your search into smaller areas or categories and run the Actor multiple times.
FAQ
| Question | Answer |
|---|---|
| Do I need an OpenStreetMap account or API key? | No. The Actor queries the public Overpass API directly, so you can run it with an Apify account. |
| How do I search around a specific coordinate? | Leave the Place field empty, then set Latitude, Longitude, and Radius in meters. The Actor will search that circle. |
| What is the difference between Categories and Custom OSM filters? | Categories are ready made presets like 'restaurant' or 'school'. Custom filters let you type raw OpenStreetMap tag queries like 'amenity=cinema' or 'shop=bicycle'. Both are combined in the same run. |
| Can I scrape more than one category at once? | Yes. Select multiple categories in the list, and add custom filters if you need even more. The Actor returns all matching places. |
| How many places can I get per run? | You set the Maximum places limit, up to 1,000,000 per run. The Actor stops once it reaches that number. |
| What does the output look like? | Each place is one flat row with fields like name, address, latitude, longitude, and category. You can export to CSV, JSON, Excel, or XML. |
| Does this work for any country? | Yes, OpenStreetMap has global coverage. Type any city or neighborhood name, or use coordinates for remote areas. |
| Can I schedule this to run regularly? | Yes, on the Apify platform you can schedule the Actor to run daily, weekly, or on any cron schedule, and get notified when it finishes. |
| What if a place name is ambiguous? | The Actor uses OpenStreetMap's Nominatim geocoder to resolve the name. If the result is not what you expected, try a more specific name or use coordinates instead. |
| Is there a rate limit? | The Actor respects the Overpass API's fair use policy. For very large areas, it may take longer, but you can raise the maximum places and let it run. |
Related actors
Browse the full ParseForge collection for more scrapers.
π Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
β οΈ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by OpenStreetMap Foundation. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
