OSM Neighborhood Analyzer avatar

OSM Neighborhood Analyzer

Pricing

from $1.00 / 1,000 results

Go to Apify Store
OSM Neighborhood Analyzer

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

Saregaa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

19 days ago

Last modified

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.

FieldDescription
osm_idUnique OpenStreetMap element ID
osm_typeElement type:node,way, or relation
namePlace name (falls back to name:enif available)
category_keyCategory slug, e.g.restaurant,metro_subway,pharmacy
distance_mStraight-line distance in meters from the searched address
addressFull formatted address
streetStreet name
housenumberStreet number
cityCity name
postcodePostal code
countryCountry code
latLatitude
lngLongitude
opening_hoursOSM-formatted opening hours string
phonePhone number (from phoneor contact:phonetag)
websiteWebsite URL (from websiteor contact:websitetag)
wheelchairWheelchair accessibility (yes/no/limited)
operatorOperator 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)

GroupCategories
🚇 TransportMetro/Subway, Bus Stop, Train Station, Tram Stop, Airport, Parking
🍽️ Food & GroceryRestaurant, Café, Fast Food, Bakery, Supermarket, Market
🎓 EducationKindergarten, School, University, Library
🏥 HealthHospital, Clinic, Pharmacy, Dentist, Gym/Fitness, Spa
🏦 Finance & ServicesBank, ATM, Post Office, Laundry, Hair Salon
🌿 LeisurePark, 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_cffi when 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 categories input
  • Distance sorting — results per category are sorted by straight-line distance from the input address
  • Per-category limit — control result volume with the limit parameter (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

  1. Open the Actor on the Apify platform and click Try for free
  2. Enter an address in the address field — any free-form text works (street address, landmark, city name)
  3. Set a radius in meters (default: 1000 m; range: 100–5000 m)
  4. Optionally select categories — leave blank to search all 32, or pick specific ones
  5. Set a per-category limit if you want to cap results (default: 50)
  6. Enable Apify Proxy if you're running at high volume or hitting rate limits
  7. Click Start — the actor typically completes in 5–15 seconds
  8. 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 .

ScenarioTypical result countEstimated cost
Single address, 500 m radius, urban100–200 places$0.10–$0.20
Single address, 1 km radius, dense city200–500 places$0.20–$0.50
Single address, 2 km radius, large city center500–2,000 places$0.50–$2.00
100 addresses, 1 km radius20,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

FeatureThis ActorGoogle Places APIFoursquare 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.