OSM Neighborhood Analyzer
Pricing
from $1.00 / 1,000 results
OSM Neighborhood Analyzer
Analyzes any neighborhood using OpenStreetMap — no API key needed. Enter an address and radius, get back nearby restaurants, subway, parks, schools, hospitals and 27 more categories in one call. Results include distance, phone, opening hours, website.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Saregaa
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
19 days ago
Last modified
Categories
Share
OSM Neighborhood Analyzer | Free Google Places & Foursquare API Alternative
Find subway stations, restaurants, parks, schools, hospitals, and 32 other place categories near any address in the world — in a single API call. No API key required. Powered by OpenStreetMap.
✅ 32 place categories fetched in one optimized batch query
✅ Distance-sorted results with full address, phone, hours, and website
✅ Works for any address on Earth — no API key, no monthly fees
✅ Export to JSON, CSV, Excel, or XML
✅ Automate via Apify API, schedules, Zapier, Make, and n8n
What Data Does It Extract?
Each place is returned as a flat record ready for spreadsheets, databases, or downstream APIs.
| Field | Description |
|---|---|
osm_id | Unique OpenStreetMap element ID |
osm_type | Element type:node,way, or relation |
name | Place name (falls back to name:enif available) |
category_key | Category slug, e.g.restaurant,metro_subway,pharmacy |
distance_m | Straight-line distance in meters from the searched address |
address | Full formatted address |
street | Street name |
housenumber | Street number |
city | City name |
postcode | Postal code |
country | Country code |
lat | Latitude |
lng | Longitude |
opening_hours | OSM-formatted opening hours string |
phone | Phone number (from phoneor contact:phonetag) |
website | Website URL (from websiteor contact:websitetag) |
wheelchair | Wheelchair accessibility (yes/no/limited) |
operator | Operator or chain name (e.g.McDonald's,SPAR) |
The Key-Value Store also receives a full structured report under the key OUTPUT, which includes run metadata and a per-category summary (count, nearest, and average distance).
Covered Categories (32 Total)
| Group | Categories |
|---|---|
| 🚇 Transport | Metro/Subway, Bus Stop, Train Station, Tram Stop, Airport, Parking |
| 🍽️ Food & Grocery | Restaurant, Café, Fast Food, Bakery, Supermarket, Market |
| 🎓 Education | Kindergarten, School, University, Library |
| 🏥 Health | Hospital, Clinic, Pharmacy, Dentist, Gym/Fitness, Spa |
| 🏦 Finance & Services | Bank, ATM, Post Office, Laundry, Hair Salon |
| 🌿 Leisure | Park, Playground, Cinema, Theater, Museum, Beach, Shopping Mall |
You can search all 32 categories at once or pass a categories list to restrict the query to only the ones you need.
Features
- Single-query batch architecture — all 32 categories are resolved in one Overpass QL request, making the actor 10–30× faster than naive multi-request approaches
- Automatic server failover — queries 4 Overpass API mirrors in sequence; retries with backoff on HTTP 429/504/5xx errors
- Two Nominatim geocoders — falls back across two public servers to resolve the input address to coordinates
- Chrome impersonation for geocoding — uses
curl_cffiwhen available to bypass WAF blocks on Nominatim - Proxy support — optional Apify Proxy for high-volume runs or to avoid rate limiting
- Configurable categories — run all 32 or pass a specific subset via the
categoriesinput - Distance sorting — results per category are sorted by straight-line distance from the input address
- Per-category limit — control result volume with the
limitparameter (default 50 per category) - Dual output — flat dataset (CSV/JSON/Excel/XML via Apify Dataset) and a full structured report (Key-Value Store →
OUTPUT) - Global coverage — any address on Earth where OSM contributors have mapped the area
How to Use the OSM Neighborhood Analyzer
- Open the Actor on the Apify platform and click Try for free
- Enter an address in the
addressfield — any free-form text works (street address, landmark, city name) - Set a radius in meters (default: 1000 m; range: 100–5000 m)
- Optionally select categories — leave blank to search all 32, or pick specific ones
- Set a per-category limit if you want to cap results (default: 50)
- Enable Apify Proxy if you're running at high volume or hitting rate limits
- Click Start — the actor typically completes in 5–15 seconds
- Download results from the Dataset tab in JSON, CSV, Excel, or XML format, or access them via the Apify API
Input Example
{"address": "350 5th Ave, New York, NY","radius": 1000,"limit": 50,"categories": ["metro_subway", "restaurant", "pharmacy", "park", "supermarket"],"proxyConfiguration": {"useApifyProxy": true}}
Omit categories to search all 32. Omit proxyConfiguration for single ad-hoc runs — the actor handles rate limiting with built-in retry logic.
Output Example
Dataset item (one place)
{"osm_id": 5506236036,"osm_type": "node","name": "LasaGnaM Nazionale","category_key": "fast_food","distance_m": 892,"address": "Via Nazionale 184, Roma, 00184","street": "Via Nazionale","housenumber": "184","city": "Roma","postcode": "00184","country": null,"lat": 41.898089,"lng": 12.4889961,"opening_hours": "Mo-Th 07:30-22:00; Fr 07:30-23:00; Sa 10:00-23:30; Su 10:00-22:00","phone": "+39 06 4891 3677","website": "https://lasagnam.it/","wheelchair": null,"operator": null}
Key-Value Store → OUTPUT (summary report)
{"meta": {"generated_at": "2025-06-10T14:22:05.123456","provider": "Overpass API (OpenStreetMap)","location": "Piazza del Colosseo, Rome, Italy","geocoded": "41.890251,12.492373","radius_m": 1000,"categories_searched": ["restaurant", "metro_subway", "park"],"total_queries": 1,"total_places": 347},"summary": {"restaurant": { "label": "Restaurant", "count": 84, "nearest_m": 47, "avg_dist_m": 612 },"metro_subway": { "label": "Metro / Subway", "count": 2, "nearest_m": 231, "avg_dist_m": 478 },"park": { "label": "Park", "count": 5, "nearest_m": 89, "avg_dist_m": 534 }}}
Use Cases
Real Estate Listing Enrichment
Automatically attach a neighborhood profile to every property listing: nearest subway stop, number of schools and restaurants within 1 km, closest park and pharmacy. Give buyers and renters the walkability context they care about without any manual research.
Competitive Density Mapping
Drop a target address — a new store location, a franchise opening, a competitor HQ — and pull every business in the same category within a 500 m–2 km radius. Instantly see how saturated the market is.
Lead Generation for Local Services
Extract all hair salons, gyms, laundries, or restaurants in a city district with contact details (phone, website) in one run. Export to CSV and load directly into your CRM or outreach tool.
Relocation and Travel Intelligence
Help users understand a new neighborhood before they move or visit: transit options, grocery stores, hospitals, schools, parks — in a single report. Useful for relocation platforms, travel guides, and expat communities.
Urban Planning and Academic Research
Analyze amenity coverage, service gaps, and infrastructure density across multiple addresses or cities without a paid API budget. OSM data is free, open, and available under ODbL.
Real-Time Neighborhood Scoring
Feed addresses through the actor in a loop via the Apify API and compute a custom walkability or livability score — weighted by category counts and distances — for any city, any scale.
API Access and Automation
Every run's results are available via the Apify API immediately after completion.
Flat dataset (all place records):
GET https://api.apify.com/v2/datasets/{datasetId}/items?token={yourToken}
Full structured report:
GET https://api.apify.com/v2/key-value-stores/{storeId}/records/OUTPUT?token={yourToken}
You can also trigger runs programmatically :
curl -X POST \"https://api.apify.com/v2/acts/{actorId}/runs?token={yourToken}" \-H "Content-Type: application/json" \-d '{"address": "Marienplatz, Munich, Germany", "radius": 2000}'
For multi-address workflows, loop over your address list and fire one run per address. Each run completes in 5–15 seconds and costs a fraction of a cent.
Integrations: Connect to Zapier, Make (Integromat), or n8n using the Apify triggers to push neighborhood data directly into Google Sheets, Airtable, HubSpot, Slack, or any other tool in your stack. Schedule recurring runs to keep datasets fresh.
Pricing
This actor uses the Pay-per-result model at $1.00 per 1,000 results .
| Scenario | Typical result count | Estimated cost |
|---|---|---|
| Single address, 500 m radius, urban | 100–200 places | $0.10–$0.20 |
| Single address, 1 km radius, dense city | 200–500 places | $0.20–$0.50 |
| Single address, 2 km radius, large city center | 500–2,000 places | $0.50–$2.00 |
| 100 addresses, 1 km radius | 20,000–50,000 places | $20–$50 |
For comparison, a Google Places Nearby Search returns 20 results for $0.032 — that's $1.60 per 1,000 results, one category at a time. This actor returns all 32 categories in one call at $1.00 per 1,000 results.
OSM Neighborhood Analyzer vs. Paid Alternatives
| Feature | This Actor | Google Places API | Foursquare Places |
|---|---|---|---|
| Price per 1,000 results | ~$1.00 | ~$1.60+ | ~$2.00+ |
| API key required | ❌ No | ✅ Yes | ✅ Yes |
| All 32 categories in 1 call | ✅ Yes | ❌ One category per call | ❌ One category per call |
| CSV / Excel export | ✅ Built-in | ❌ No | ❌ No |
| Opening hours | ✅ Yes | ✅ Yes | ✅ Yes |
| Phone & website | ✅ Yes | ✅ Yes | ✅ Yes |
| Wheelchair accessibility | ✅ Yes | ⚠️ Partial | ❌ No |
| Monthly subscription required | ❌ No | ❌ No | ✅ Yes |
| Global coverage | ✅ Yes | ✅ Yes | ✅ Yes |
| No per-key billing account setup | ✅ Yes | ❌ Required | ❌ Required |
OSM data quality varies by region. Major cities in Europe, North America, and East Asia have excellent coverage. Rural and remote areas may have fewer mapped POIs.
FAQ
Is it legal to use OpenStreetMap data commercially?
Yes. OSM data is licensed under the Open Database License (ODbL). Commercial use is permitted with attribution: "© OpenStreetMap contributors" . Review the full license at openstreetmap.org/copyright for your specific use case.
Do I need an API key?
No. The actor queries the public Overpass API and Nominatim geocoder directly. No third-party API key is required.
Does the actor require proxies?
Not for single or low-frequency runs. For high-volume usage (many runs per hour), enable Apify Proxy in the proxyConfiguration input to avoid Nominatim rate limiting.
Can I export results to CSV or Excel?
Yes. Once a run completes, open the Dataset tab and download in JSON, CSV, Excel (XLSX), or XML format.
Can I search only specific categories?
Yes. Pass a categories array in the input with any subset of the 32 available category keys (e.g. ["restaurant", "pharmacy", "park"]). Leave it empty to search all categories.
How accurate is the distance?
distance_m is straight-line (Haversine) distance from the geocoded input address. It does not account for walkable routes or road distance.
How fresh is the data?
The Overpass API reflects OSM edits typically within minutes to hours of community contributions. Data freshness depends on how actively contributors maintain a given area.
Can I run this for multiple addresses at once?
The actor processes one address per run. For bulk usage, trigger runs in a loop via the Apify API — each run takes 5–15 seconds.
Can I schedule automated runs?
Yes. Use Apify's built-in scheduler to run the actor on a recurring basis (hourly, daily, weekly) and keep your dataset current.
What if an address can't be geocoded?
The actor tries two Nominatim servers. If neither resolves the address, the run fails with a clear error message. Try a more specific address format or add a country name.
What if the Overpass API is down?
The actor queries four independent Overpass mirrors in sequence and retries on errors. If all mirrors are unavailable, the run fails with a descriptive status message.
What does null mean in a field?
It means the OSM contributor who added that place did not include that detail. Urban areas in Western Europe and North America tend to have the most complete records.
How to Extract Neighborhood Data with OpenStreetMap
The actor uses the Overpass QL query language to retrieve nodes, ways, and relations from OSM within a specified bounding circle. Instead of one query per category (32 round-trips), it merges all tag filters into a single optimized batch query using regex tag grouping — one HTTP request, all results, parsed locally. This approach eliminates 31 round-trips and reduces exposure to per-IP rate limits.
Free Alternative to Google Places Nearby Search API
Google Places Nearby Search charges per category per call and requires a billing account. This actor uses the same underlying community-maintained geodata that powers many commercial map services, delivered through the public Overpass API at a fraction of the cost — with no API key setup and no minimum spend.
How Much Does It Cost to Search POIs Near an Address?
A typical urban neighborhood analysis (1 km radius, 32 categories) returns 200–500 places and costs $0.20–$0.50 per run. A dense city-center analysis at 5 km radius might return 2,000–5,000 places for $2–$5. Pricing is pure pay-per-result with no subscription or monthly minimum.
Export Nearby Places Data to CSV
After any run, open the Dataset tab on the actor's run page and click Export . Choose CSV, JSON, Excel, or XML. The flat output format — one row per place — loads cleanly into Excel, Google Sheets, or any data tool without transformation.
Automate Neighborhood Analysis at Scale
Use the Apify API to trigger runs programmatically from any language or platform. Combine with Apify schedules for recurring data refreshes, or connect via Zapier or Make to push results directly into Google Sheets, Airtable, a CRM, or a webhook endpoint.
Support
If you have questions, encounter a bug, or need a custom category added, use the Issues tab on the actor's Apify Store page. For feature requests or integration questions, include a sample input and the run ID from a failed run so we can reproduce the issue quickly.