OpenStreetMap Scraper — Business & POI Data, No Key avatar

OpenStreetMap Scraper — Business & POI Data, No Key

Pricing

from $1.50 / 1,000 results

Go to Apify Store
OpenStreetMap Scraper — Business & POI Data, No Key

OpenStreetMap Scraper — Business & POI Data, No Key

OpenStreetMap POI scraper & Overpass API alternative. Export OSM business data (name, address, phone, website) to CSV/JSON without an API key.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

26

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

OpenStreetMap Scraper — Business & POI Data, Leads & GPS (No API Key)

OpenStreetMap Business & POI Scraper No API key No proxy Pay per result Export

An OpenStreetMap scraper that extracts local business and points-of-interest (POI) data by category from the live OpenStreetMap database via the free Overpass API. Get business name, full address, phone, website, email, opening hours and GPS coordinates for any city, bounding box or radius in the world. It's a low-cost alternative to the Google Maps / Places API — no API key, no Maps billing, no proxy, no browser — returning clean structured POI data ready to export to CSV, JSON or Excel.

🏆 Why this OpenStreetMap scraper?

Global coverage (190+ countries) · 50+ categories · name + address + phone + website + email + opening hours + GPS · 3 search modes (city / bbox / radius) · no API key, no proxy, no billing · export to JSON / CSV / Excel. The unofficial Overpass API / Google Maps API alternative for local-business lead generation, GIS research and directory building.


✨ What this Actor does / Key features

  • 🌍 Global coverage — query 190+ countries from the live OSM database (updated every few minutes).
  • 🏷️ 50+ categories — restaurants, cafes, bars, hotels, pharmacies, hospitals, supermarkets, schools, salons, fuel stations and more.
  • 🗺️ Three search modes — by city name (auto-resolves a bounding box), by bounding box (south/west/north/east), or by radius around a point.
  • 📇 Contact data — phone, website, email and machine-readable OSM opening_hours for every POI that has them.
  • 📍 Full location — latitude, longitude, street, house number, city, postcode, country and a formatted full address.
  • 🏢 Business detail — brand, operator, cuisine (restaurants) and wheelchair accessibility.
  • 🔗 References — OSM element URL, plus Wikipedia/Wikidata links where tagged.
  • 🧹 Quality filters — require a name tag and/or a street/city address to drop incomplete records.
  • ⚡ No key, no proxy, no browser — powered by the free Overpass API; only an Apify account required.

🚀 Quick start (3 steps)

  1. Configure — pick a Search Mode: city (type a city name), bbox (four coordinates), or radius (center point + radiusMeters). Set Categories and optional filters.
  2. Run — click Start. The Actor queries Overpass for each category and streams POIs into your dataset.
  3. Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API.

📥 Input

Choose a searchMode and provide the matching area fields. Everything else is optional.

Example — restaurants, cafes & hotels in a city

{
"searchMode": "city",
"city": "Istanbul",
"categories": ["restaurant", "cafe", "hotel"],
"requireName": true,
"requireAddress": false,
"maxResults": 500,
"queryConcurrency": 3
}

Example — pharmacies & supermarkets within a radius (site selection)

{
"searchMode": "radius",
"centerLat": 52.5200,
"centerLng": 13.4050,
"radiusMeters": 2000,
"categories": ["pharmacy", "supermarket"],
"requireAddress": true,
"maxResults": 1000
}

Example — every business in a bounding box (directory build)

{
"searchMode": "bbox",
"bboxSouth": 51.47,
"bboxWest": -0.15,
"bboxNorth": 51.53,
"bboxEast": -0.07,
"categories": ["restaurant", "cafe", "bar", "hotel", "pharmacy"],
"requireName": true,
"maxResults": 0
}
FieldTypeDescriptionDefault
searchModestringcity (auto bbox), bbox (S/W/N/E) or radius (point + radius).bbox
citystringCity to search (when searchMode = city).London
bboxSouth / bboxWest / bboxNorth / bboxEastnumberBounding-box boundaries (when searchMode = bbox).London bbox
centerLat / centerLngnumberCenter point (when searchMode = radius).London center
radiusMetersintegerSearch radius in meters (100–50,000) for radius mode.1000
categoriesarrayPOI types to search (e.g. restaurant, cafe, hotel, pharmacy).["restaurant","cafe","hotel"]
requireNamebooleanOnly return POIs that have a name tag in OSM.true
requireAddressbooleanSkip POIs with no street or city address.false
maxResultsintegerMax POIs to return. 0 = unlimited.–
queryConcurrencyintegerParallel Overpass batches (keep 2–3 to avoid rate limiting).3

Tip: enable requireAddress to keep only records complete enough for lead lists and directory building. Major chains are usually well-tagged; small independent businesses may have only a name and coordinates.

📤 Output

One structured item per POI — exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:

{
"osmId": "123456789",
"osmType": "node",
"name": "Café Central",
"category": "food",
"subcategory": "cafe",
"lat": "41.0082",
"lng": "28.9784",
"fullAddress": "İstiklal Caddesi 12, 34430 Beyoğlu, Istanbul, Türkiye",
"street": "İstiklal Caddesi",
"houseNumber": "12",
"city": "Istanbul",
"postcode": "34430",
"country": "Türkiye",
"phone": "+90 212 000 0000",
"website": "https://cafecentral.example",
"email": "hello@cafecentral.example",
"openingHours": "Mo-Su 08:00-23:00",
"brand": null,
"operator": null,
"cuisine": "coffee_shop",
"wheelchair": "yes",
"osmUrl": "https://www.openstreetmap.org/node/123456789",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}

Additional output fields

These fields are also present in the dataset:

FieldTypeDescription
shop—OSM shop tag, if present.
tourism—OSM tourism tag, if present.
office—OSM office tag, if present.
wikipedia—Linked Wikipedia article, if any.
wikidata—Linked Wikidata ID, if any.

💡 Use cases

  • Local-business lead generation — build targeted lists (restaurants, hotels, clinics, salons) with phone numbers and websites for sales outreach.
  • Google Maps API alternative — get comparable geographic data for free when Maps API costs or quotas become a problem.
  • Local directory sites — seed neighbourhood guides and city portals with real addresses, hours and categories.
  • GIS & research — download structured POI data for spatial analysis and urban planning; load directly into QGIS, PostGIS or Python.
  • Real estate & site selection — find pharmacies, supermarkets and schools within a radius of a prospective site for amenity scoring.
  • Market research — count businesses per neighbourhood, map competitor density and spot underserved areas.

👥 Who uses it

B2B lead-gen agencies & sales teams · GIS analysts and urban planners · local-directory and city-guide publishers · proptech and site-selection teams · market researchers · developers seeding maps and location apps.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the POIs you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Do I need an API key or login? No. There is no API key, no Google Maps billing and no proxy required — the Actor uses the public Overpass API. You only need an Apify account to run it.

Is this an Overpass API alternative? Yes. It wraps the free Overpass API so you can scrape OpenStreetMap without writing Overpass QL — pick a city, bbox or radius plus categories and get clean POI records back.

Can I scrape OpenStreetMap business data without an API key? Yes. There is no API key, no Google Maps billing and no proxy — the public Overpass API powers an OSM business directory dataset for any area worldwide.

Is it legal to scrape OpenStreetMap data? Yes. OpenStreetMap data is open under the Open Database License (ODbL). When you publish work using the data, attribution to "© OpenStreetMap contributors" is required.

How does this compare to the Google Maps API? The Google Maps / Places API charges per request and enforces quotas. The Overpass API is free with generous limits, and OSM often has strong coverage in Europe plus machine-readable opening hours that Google doesn't expose.

How do I scrape all restaurants in a city from OpenStreetMap? Set searchMode to city, type the city name, and add restaurant to categories — the scraper resolves the city's bounding box and returns every matching POI with address and contact tags.

Can I search OpenStreetMap POIs within a radius of a point? Yes. Set searchMode to radius, provide centerLat, centerLng and radiusMeters, and the scraper returns POIs inside that circle — ideal for site-selection amenity scoring.

How do I get only businesses that have an address in OpenStreetMap? Enable requireAddress to drop POIs without a street or city, keeping records complete enough for lead lists and directory building.

Why are some POIs missing phone numbers or websites? OSM completeness varies — major chains are usually well-tagged, while small independent businesses may have only a name and coordinates. Enable requireAddress to filter out incomplete records.

How do I export OpenStreetMap data to CSV or JSON? Run the Actor and download the dataset as CSV, JSON, Excel (XLSX) or XML from the run, or pull it via the Apify API. Each POI becomes one structured row.

🔗 More lead-gen & local-data scrapers by logiover

Building a local-business lead or directory dataset? Pair OpenStreetMap with these:

ActorWhat it does
B2B Lead ScraperCompany + person + email leads by sector & country
Website Contact ScraperEmails, phones & socials from business websites
Bulk Social Profile ExtractorEnrich domains with social profiles
Bulk Email VerifierValidate outreach email lists
Bulk Email Deliverability CheckerScore deliverability before you send
Eventbrite ScraperEvents + organizer website & socials for leads
Y Combinator Companies DirectoryYC startup directory for B2B leads
Swiggy Restaurant ScraperRestaurant listings & details
GLEIF LEI ScraperLegal-entity identifiers & registered addresses
Website SEO Audit CrawlerAudit prospect websites at scale

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to keep POI datasets fresh. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, CRM, GIS tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated lead-gen and mapping pipelines. Load results directly into QGIS, PostGIS or Python.

⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏

OpenStreetMap data is open under the Open Database License (ODbL). When you publish work using the data, attribution to "© OpenStreetMap contributors" is required. You are responsible for complying with the ODbL and any applicable local laws.


This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by OpenStreetMap; OpenStreetMap and all other trademarks mentioned here are the property of their respective owners.

How much OpenStreetMap data can you extract in one run?

A single run returned 1,000 business records in 141 seconds on the example input, and it was still going when the measurement stopped — raise the result limit and it keeps paginating. That is roughly 425 business records a minute.

There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much OpenStreetMap itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.

OpenStreetMap scraping — frequently asked questions

Do I need a OpenStreetMap API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

How do I export OpenStreetMap data to CSV, Excel, JSON or Google Sheets?

Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

Can I schedule this OpenStreetMap scraper to run daily or hourly?

Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the business records you care about really do change that fast.

How many business records can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

This Actor collects only information that OpenStreetMap publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

What happens if OpenStreetMap blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

📝 Changelog

2026-11-01

  • Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
  • README refreshed: 2 links to renamed Actors updated; independence disclaimer added; documented 5 additional output fields.

2026-10-15

  • A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
  • A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
  • Runs with a short timeout (API and AI-agent calls) now finish inside it with what they collected, instead of being cut off.
  • Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.
  • The prefilled example for maxResults is now 333 (was 100).
  • The default used when the field is left out for maxResults is now 8,510 (was 100).

2026-09-23

  • Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
  • Output verified on a live run: 29 columns returned, 54.5% of cells populated.
  • Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
  • Input schema, output schema and pricing configuration reviewed.
  • Noted that 3 column(s) came back empty in this sample (shop, office, wikipedia); these are under review.

2026-09-01

  • Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
  • Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
  • No change to input, output fields or scraping logic.

2026-08-11

  • Maintenance release: refreshed the build and dependencies.
  • Re-verified live execution, non-empty structured output and dataset field/type integrity.
  • Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

2026-08-01

  • Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
  • Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

2026-07-06

  • ✨ README overhaul: richer output sample, three ready-to-run example scenarios, expanded lead-gen/local-data cross-links, and clearer quick-start.

2026-07-01

  • Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
  • Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
  • Added ready-to-run example tasks that cover common real-world use cases.

2026-06-15

  • Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

2026-06-07

  • Docs: added coverage for Overpass API alternative usage, exporting OpenStreetMap data to CSV/JSON, and scraping OSM business data without an API key.

2026-06-05

  • Reliability fix: results are no longer dropped by strict output validation — runs complete cleanly at high volume.
  • Stability & performance hardening; fresh rebuild.

2026-06-04

  • Verified live & refreshed build — reliability/maintenance pass.

2026-06-01

  • Maintenance & reliability pass: rebuilt the actor on the current base image; build verified.

*Maintained: last verified 2026-11-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).