Local Business Finder: OpenStreetMap places, phones, websites
Pricing
from $2.00 / 1,000 places
Local Business Finder: OpenStreetMap places, phones, websites
Find restaurants, dentists, plumbers, hotels and 70 other business types in any city from OpenStreetMap. Address, phone, website, opening hours, coordinates. A cheap Google Maps alternative. No login, no keys.
Pricing
from $2.00 / 1,000 places
Rating
0.0
(0)
Developer
Dylan Knaup
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Local Business Finder: OpenStreetMap places, phones and websites
Find businesses and places in any city, from OpenStreetMap: restaurants, dentists, plumbers, hotels, gyms, lawyers and 70 more types. You get name, address, phone, website, opening hours, coordinates and a completeness score. No login, no API key, no proxies, no browser.
A low-cost alternative when you need local business lists and do not need reviews or star ratings.
Why use this Actor
- Open data, clean rights. Results come from OpenStreetMap through its public Nominatim and Overpass interfaces. No scraping of protected pages. Data (c) OpenStreetMap contributors, ODbL 1.0: keep the credit (every row carries it).
- Best listings first. Each place gets a
completenessscore (name, address, phone, website, hours). With a result limit you receive the most complete listings, not random ones. - Filters that save money.
requirePhoneandrequireWebsiteare applied on the server, so you only pay for places you can use. - Pay only for results. Pay per event: a tiny start fee plus a price per place in your dataset.
- Private by design. Only business listing fields are returned. E-mail addresses, mobile numbers and the names of OpenStreetMap editors are never read.
Honest limits
OpenStreetMap is community-maintained. In big cities of the US and Europe many shops, restaurants and clinics have address and website; phone numbers and opening hours are less common. Smaller regions have fewer listings. There are no reviews, ratings, photos or e-mail addresses. Check the completeness field and run a small test for your city and category first.
How to use it
- What to find: business types, one per line:
dentist,restaurant,plumber,hotel,gym,hairdresser,lawyer,car repair,pharmacy,supermarketand more. Any OpenStreetMap tag also works:shop=bakery,craft=*. - Where: cities or districts written like a map search, for example
Boulder, ColoradoorLeeds, UK. Or give latitude, longitude and a radius. - Optionally filter (phone, website, name) and set limits. Click Start.
Each category is searched in each place. Use cities or smaller areas: very large areas (a whole country) can be refused by the free OpenStreetMap servers, and the Actor then reports the search as failed in RUN_SUMMARY without charging for it.
Input example
{"categories": ["dentist", "plumber"],"locations": ["Boulder, Colorado", "Denver, Colorado"],"requirePhone": true,"maxResultsPerSearch": 50}
Categories
restaurant, cafe, bar, pub, fast food, bakery, butcher, supermarket, convenience store, florist, dentist, doctor, clinic, hospital, pharmacy, veterinarian, optician, physiotherapist, hotel, hostel, motel, guest house, campsite, gym, yoga studio, spa, hairdresser, barber, beauty salon, tattoo, car repair, car dealer, car wash, gas station, ev charging station, plumber, electrician, carpenter, roofer, painter, locksmith, lawyer, accountant, real estate agent, insurance, architect, bank, atm, school, kindergarten, library, laundry, clothes, shoes, jewelry, bookstore, electronics, furniture, hardware store, pet shop, bicycle shop, mobile phone shop, cinema, museum, parking, post office.
Output
One row per place:
{"id": "node/123456","name": "Example Dental","category": "dentist","address": "Pearl Street 1000, 80302 Boulder, CO","latitude": 40.0176,"longitude": -105.2797,"phone": "+1 303 555 0100","website": "https://example.com","openingHours": "Mo-Fr 08:00-17:00","completeness": 1.0,"osmUrl": "https://www.openstreetmap.org/node/123456","attribution": "OpenStreetMap contributors, ODbL","fetchedAt": "2026-11-02T12:00:00Z"}
(Values above are illustrative; real rows are in the Output tab of a run.) A RUN_SUMMARY record lists every search, the area it resolved to, how many places were found and returned, and any failure.
Pricing
Pay per event: a very small fee for starting the run and a price per place that lands in your dataset. Searches that fail or find nothing are free. Set a maximum cost per run to cap spending: the Actor stops when it is reached. See the Pricing tab for current prices.
Use it from code
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("<YOUR_USERNAME>/osm-local-business-finder").call(run_input={"categories": ["dentist"], "locations": ["Boulder, Colorado"], "requirePhone": True,})for place in client.dataset(run["defaultDatasetId"]).iterate_items():print(place["name"], place["phone"], place["website"])
FAQ
Is it a Google Maps scraper? No. It does not touch Google. It reads OpenStreetMap, which is open data.
Why is a run slow sometimes? The free public OpenStreetMap servers are shared. A search usually takes 10 to 60 seconds and the Actor switches servers and retries when one is busy.
A city was not found or the wrong place was used. Add the state or country (Paris, Texas). The area actually used is shown in searchLocation.
Can I get e-mail addresses? No, by design.
Is it legal? The data is licensed under ODbL: use it freely, credit OpenStreetMap contributors, and share-alike applies to derived databases. You are responsible for your use, including marketing and privacy rules in your country.
Support
Wrong results for a city or a missing category? Open an issue in the Issues tab with the city and category.