Local Business Finder: OpenStreetMap places, phones, websites avatar

Local Business Finder: OpenStreetMap places, phones, websites

Pricing

from $2.00 / 1,000 places

Go to Apify Store
Local Business Finder: OpenStreetMap places, phones, websites

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

Dylan Knaup

Maintained by Community

Actor 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 completeness score (name, address, phone, website, hours). With a result limit you receive the most complete listings, not random ones.
  • Filters that save money. requirePhone and requireWebsite are 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

  1. What to find: business types, one per line: dentist, restaurant, plumber, hotel, gym, hairdresser, lawyer, car repair, pharmacy, supermarket and more. Any OpenStreetMap tag also works: shop=bakery, craft=*.
  2. Where: cities or districts written like a map search, for example Boulder, Colorado or Leeds, UK. Or give latitude, longitude and a radius.
  3. 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 ApifyClient
client = 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.