OpenStreetMap Places Scraper - Google Maps alternative avatar

OpenStreetMap Places Scraper - Google Maps alternative

Pricing

$0.50 / 1,000 place returneds

Go to Apify Store
OpenStreetMap Places Scraper - Google Maps alternative

OpenStreetMap Places Scraper - Google Maps alternative

Extract local businesses and POIs from OpenStreetMap by category and city: name, address, coordinates, phone, website, email, opening hours, cuisine, brand. Open data (ODbL), official Overpass API, no proxies. Pay per place.

Pricing

$0.50 / 1,000 place returneds

Rating

0.0

(0)

Developer

Krasyn Labs

Krasyn Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

OpenStreetMap Places Scraper (Google Maps alternative, open data)

Extract local businesses and points of interest (POI data) from OpenStreetMap by category and location: name, category, full address, latitude/longitude, phone, website, email, opening hours, cuisine, brand, wheelchair access and selected raw OSM tags. One clean row per place, ready for CSV, Excel, JSON or the Apify API.

The data comes from the public Overpass API, which serves OpenStreetMap data. Locations are resolved with Nominatim. No HTML scraping, no browser, no proxies, no login.

Why OpenStreetMap instead of Google Maps?

  • Open license. OSM data is published under the Open Database License (ODbL). You can store, combine and reuse it, including commercially, as long as you attribute OpenStreetMap and follow the ODbL share-alike terms for derived databases.
  • Cheap and predictable. You pay only per place returned. No start fee.
  • Stable. It uses a documented public API, not a page layout that can change.

What it is not: OpenStreetMap is community-mapped. It has no reviews, ratings, photos or popularity data, and coverage varies a lot by region and category. City centres in Europe are usually well mapped. Suburbs and small towns in some countries may be missing many businesses, phone numbers or websites. If you need reviews and ratings, use a Google Maps scraper. If you need open, reusable POI data or a cheaper first pass at business leads, this actor is a good fit.

Use cases

  • Business leads / lead generation: every dentist, plumber, lawyer or hotel in a city with the phone and website mapped in OSM. Use the filters to keep only places with a website or phone.
  • Market research and site selection: count cafes, gyms or pharmacies per city or bounding box.
  • POI datasets for apps and maps: coordinates plus opening hours, cuisine, brand and accessibility.
  • Data enrichment: match your own records against OSM by name and address.

Input

FieldTypeDescription
searchTermsarray of stringsCategories in plain words (restaurant, dentist, plumber, coffee shop, hotel, hair salon, lawyer, gym ...) or raw OSM tags (shop=bakery, craft=electrician, amenity=*). Required.
locationstringCity, region or country, e.g. Boise, Idaho or Lisbon, Portugal. Resolved to an OSM boundary.
boundingBoxstringAlternative to location: south,west,north,east, e.g. 38.69,-9.20,38.75,-9.10.
maxItemsintegerMax places returned. Default 100.
onlyWithWebsitebooleanKeep only places with a website tag.
onlyWithPhonebooleanKeep only places with a phone tag.
onlyWithEmailbooleanKeep only places that published an email in OSM (low coverage in most regions).
onlyNamedbooleanSkip unnamed features. Default true.

Plain words are mapped to the usual OSM tags (for example dentist → amenity=dentist and healthcare=dentist, coffee shop → amenity=cafe and shop=coffee, plumber → craft=plumber). Unknown words are tried as values of shop, amenity, craft, office, tourism, leisure and healthcare. For full control, use raw key=value tags. See the OSM Map Features wiki.

Example:

{
"searchTerms": ["coffee shop", "bakery"],
"location": "Lisbon, Portugal",
"maxItems": 500,
"onlyWithWebsite": true
}

Output

One dataset item per place (the example below is a real row from a Boise dentists run; many OSM places lack phone or website). Contact tags are normalized: phone also reads contact:phone and mobile, website also reads contact:website and url, email also reads contact:email. The email is only ever the one the business itself published in OpenStreetMap. Places are deduplicated by OSM element.

{
"osmType": "node",
"osmId": 7278212226,
"osmUrl": "https://www.openstreetmap.org/node/7278212226",
"name": "Fred J. Stillings, Dmd",
"category": "amenity=dentist",
"categoryValue": "dentist",
"street": "West Garverdale Court",
"housenumber": "10552",
"postcode": "83704",
"city": "Boise",
"state": "ID",
"country": null,
"fullAddress": "10552 West Garverdale Court, 83704 Boise, ID",
"lat": 43.6210417,
"lon": -116.313753,
"phone": null,
"website": null,
"email": null,
"facebook": null,
"instagram": null,
"openingHours": null,
"cuisine": null,
"brand": null,
"wheelchair": null,
"tags": { "amenity": "dentist", "healthcare": "dentist" },
"attribution": "Data © OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright",
"scrapedAt": "2026-10-14T22:52:47.673Z"
}

Ways and relations (for example a building mapped as an area) are returned with the coordinates of their centre.

Pricing

Pay per event: $0.0005 per place returned (about $0.50 per 1,000 places). No start fee. Runs that find nothing cost nothing beyond Apify platform usage. Set a maximum cost per run in the Apify console and the actor stops when it is reached.

Attribution and license (required)

Data © OpenStreetMap contributors, available under the Open Database License (ODbL) 1.0. Every row carries an attribution field. If you publish or share this data or anything made from it, you must credit "© OpenStreetMap contributors", and databases derived from it are subject to the ODbL share-alike terms.

Using OSM data for outreach is your responsibility: follow anti-spam and privacy law (for example CAN-SPAM, GDPR, PECR) in your jurisdiction.

Fair use of public services

The actor sends one Overpass query per run with a server-side timeout, retries with backoff on 429/504 errors, falls back to other public Overpass instances, and makes at most one Nominatim request per second with a descriptive User-Agent, as the Overpass and Nominatim usage policies ask. Very large areas (a whole country with a common category) can be slow or time out on the public servers; split them into regions or bounding boxes.

FAQ

Why are some phones or websites missing? They are not mapped in OSM for that place. Use onlyWithPhone / onlyWithWebsite to filter, or add the data to OpenStreetMap yourself.

How fresh is the data? Overpass serves the live OSM database, usually only minutes behind edits.

Can I fix wrong data? Yes. Edit it on openstreetmap.org. Your change will show up in the next run.

Disclaimer

Built and maintained by an AI agent (Claude, by Anthropic) operated by Krasyn LLC. Not affiliated with or endorsed by the OpenStreetMap Foundation, Google or Apify. OpenStreetMap is a trademark of the OpenStreetMap Foundation. Issues and feature requests: use the Issues tab on this actor.