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

2

Total users

1

Monthly active users

a day ago

Last modified

Share

OSM Neighborhood Analyzer — Free Foursquare & Google Places Alternative

Find nearby subway stations, restaurants, parks, schools, hospitals, and 30+ other place categories around any address in the world — with a single API call. No API key. No usage fees. Powered by OpenStreetMap.


What Is This Actor?

OSM Neighborhood Analyzer turns any address into a complete neighborhood intelligence report in seconds. You provide an address and a search radius; the actor returns every relevant place nearby — sorted by walking distance, complete with phone numbers, opening hours, and websites.

This is a production-ready, free alternative to Foursquare Places API, Google Places API, and HERE Places API. Where those services charge $2–$17 per 1,000 requests, this actor uses the OpenStreetMap Overpass API — free, open, and covering every country on Earth.

The key innovation is a single optimized batch query: instead of firing one request per category (30+ API calls), the actor intelligently groups all tag lookups into one Overpass QL query. This makes it 10–30× faster than naive implementations and virtually eliminates the risk of rate limiting.


Who Is This For?

Real estate platforms & proptech startups — Automatically enrich every listing with a neighborhood walkability score: nearest subway (312m), 14 restaurants within 500m, 3 schools within 1km.

Lead generation & local SEO tools — Build datasets of businesses around any location: all restaurants, gyms, pharmacies, or salons in a city district.

Travel & relocation apps — Help users understand a new neighborhood before they move or visit. Pull all relevant POIs in one API call.

Market research & consulting — Analyze competitor density, service gaps, and amenity coverage across multiple cities.

Data scientists & GIS analysts — Export clean, structured JSON/CSV datasets for spatial analysis in Python, R, QGIS, or any mapping tool.

Urban planners & academics — No budget for proprietary APIs? OpenStreetMap data is free, global, and continuously updated by millions of contributors.


Key Features

  • 30+ place categories in one request — transport, food, health, education, finance, leisure, and more
  • Single-query batch architecture — all categories fetched in one optimized Overpass QL call (typically 5–15 seconds)
  • Distance-sorted results — every result includes distance_m (straight-line from your address)
  • Rich structured output — name, address, phone, website, opening hours, GPS coordinates, wheelchair access, operator
  • Global coverage — works for any address on Earth where OSM contributors have mapped the area
  • Automatic failover — queries 4 different Overpass API mirrors if one is unavailable
  • Proxy support — optional Apify proxy to bypass Nominatim and Overpass rate limits on high-volume runs
  • Dual output — flat dataset (CSV/JSON/Excel-ready) + full structured report with per-category summary

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

Example Output

Each result is a flat JSON object ready for immediate use:

{
"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
}

The full run output also includes a summary report in the Key-Value Store:

{
"meta": {
"location": "Piazza del Colosseo, Rome, Italy",
"geocoded": "41.890251,12.492373",
"radius_m": 1000,
"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 }
}
}

Input Parameters

ParameterTypeRequiredDefaultDescription
addressstringAny address or place name (e.g."350 5th Ave, New York")
radiusinteger1000Search radius in meters (100–5000)
limitinteger50Max results per category (1–200)
proxyConfigurationobjectApify proxy config (recommended for high-volume use)

The address field accepts free-form text. It is geocoded via Nominatim (OpenStreetMap's geocoding service) to latitude/longitude coordinates, then used as the center of the search radius.


How It Works (Technical)

  1. Geocoding — The address string is resolved to (lat, lng) via Nominatim, with Chrome impersonation via curl_cffi to avoid WAF blocks. Falls back across 2 Nominatim servers.
  2. Query building — All 32 category tag filters are merged into a single optimized Overpass QL query using regex tag grouping, minimizing round-trips.
  3. Data fetch — The batch query is sent to the best available Overpass API mirror (4 servers with automatic fallover). The actor handles HTTP 429/504/5xx with retry + backoff.
  4. Local parsing — Raw OSM elements are matched to categories, enriched with computed distance, structured into flat records, sorted by distance_m, and trimmed to limit.
  5. Export — Results pushed to Apify Dataset (flat, CSV/JSON exportable) and a full structured report saved to Key-Value Store as OUTPUT.

Output Locations

OutputWhereFormat
Individual place recordsDefault DatasetJSON / CSV / Excel / XML
Full structured report with summaryKey-Value Store →OUTPUTJSON

Access via Apify API:

  • Dataset: {apiDefaultDatasetUrl}/items
  • Full report: {apiDefaultKeyValueStoreUrl}/records/OUTPUT

Comparison: OSM Neighborhood Analyzer vs Paid Alternatives

FeatureThis ActorFoursquare PlacesGoogle Places APIHERE Places
Price per 1,000 results~$1.00  
API key required❌ No✅ Yes✅ Yes✅ Yes
Global coverage
Opening hours
Phone & website
All categories in 1 call
CSV/Excel export
Wheelchair infoPartial
No monthly subscription

Note: OSM data quality varies by city and region. Major cities in Europe, North America, and East Asia have excellent coverage. Remote or rural areas may have fewer mapped POIs.


Usage Examples

Real Estate Listing Enrichment

Input: "123 Main Street, Austin, TX" with radius: 1500

Extracts nearest subway, schools (for families), restaurants, parks, gyms — everything a buyer or renter wants to know before visiting.

Restaurant Density Analysis

Input: "Times Square, New York" with radius: 500, limit: 200

Returns up to 200 restaurants sorted by distance — ready for competitive density mapping or lead generation.

Relocating to a New City

Input: "Marienplatz, Munich, Germany" with radius: 2000

Get a complete amenity report — hospitals, pharmacies, schools, supermarkets, public transport — in one run.


Proxy Recommendation

For high-volume usage or if you encounter HTTP 429 errors from Nominatim, enable Apify Proxy in the proxyConfiguration input. This routes geocoding requests through rotating IPs and prevents rate limiting.

For single ad-hoc runs, no proxy is needed — the actor handles Nominatim gracefully with retry logic and multiple server fallback.


FAQ

Is the data free to use commercially? OpenStreetMap data is licensed under the Open Database License (ODbL). Commercial use is permitted with attribution: "© OpenStreetMap contributors". Check the full license for your use case.

How fresh is the data? OSM data is updated continuously by its community. The Overpass API typically reflects changes within minutes to hours of edits.

What if a place is missing a phone number or website? OSM is community-maintained. Urban areas in Western Europe and North America tend to have the most complete data. Missing fields return null.

Can I search for a category not in the list? The current version covers 32 predefined categories. For custom OSM tag queries, contact the author.

How do I get results for multiple addresses? Use the Apify API to run the actor programmatically in a loop, one address per run. Each run is fast (5–15 seconds) and low-cost.

Why is one Overpass query better than multiple? Each HTTP request to Overpass carries overhead, and the API has per-IP rate limits. Batching all 32 category lookups into one query eliminates 31 round-trips and dramatically reduces the chance of getting rate-limited.


Pricing

This actor uses the Pay-per-result model: $1.00 per 1,000 results.

A typical neighborhood analysis (1km radius, dense urban area) returns 200–500 places, costing $0.20–$0.50 per run. One full city-center analysis with 5km radius might yield 2,000–5,000 results — still well under $5.

Compare this to a single Google Places "Nearby Search" call returning 20 results for $0.032 — that's $1.60 per 1,000 results, and you get only one category per call.


OSM Neighborhood Analyzer is the only actor on the Apify Store that fetches all 32 categories in a single optimized batch query with distance sorting, full address parsing, and structured summary reports.