Local Business Lists with Contact Routes avatar

Local Business Lists with Contact Routes

Pricing

from $12.00 / 1,000 contact profiles

Go to Apify Store
Local Business Lists with Contact Routes

Local Business Lists with Contact Routes

Local businesses by everyday category and town from open map data (Overture Maps, 18 countries), with the public contact route from each business's own website and its source page.

Pricing

from $12.00 / 1,000 contact profiles

Rating

0.0

(0)

Developer

Tom J

Tom J

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

Build local business lists by category and town from open map data (Overture Maps, 18 countries) and add each business's public contact route from its own website, with the source page. Type everyday words like "kapper", "boulangerie", "plumber" or "Friseur" and a town. No Google scraping, no platform scraping. From $2 per 1,000 businesses + $12 per 1,000 contact profiles.

What you can do with it

  • Build a lead list for any local category: hairdressers in Ghent, bakeries in Lille, accountants in Eindhoven.
  • Get a source-backed contact route (email, phone or form) from each business's own website.
  • Include businesses without a website, with name, address and category from open data.
  • Leave out chains if you only want independent businesses.

How to build a local business list in 3 steps

  1. Enter categories (1–10, in Dutch, French, English or German) and a town, and pick the country.
  2. Set limits: how many websites to scan and how many businesses without a website to list.
  3. Click Start.

Input

FieldMeaningDefault
categoriesEveryday words, e.g. kapper, coiffeur, Friseur, fiduciaire; Overture codes like hair_salon also workrequired
locationMunicipality or city, e.g. Gent, Pelt, Lillerequired
countryBE NL LU FR DE AT CH GB IE DK SE NO FI ES PT IT PL CZBE
maxWebsitesBusiness websites scanned for contact routes100 (max 500)
includeWithoutWebsiteAdd rows for businesses without a websiteon
maxListedRowsUpper limit for those rows100 (max 3,000)
excludeChainsLeave out chain branchesoff
contactPurposeany, sales, general, supportany
emailScoperole_person or allrole_person
channelScopecore or allcore
conversionRoutesProven booking and quote routesoff
maxPages, maxRunSeconds, maxConcurrencyScan limits5, 600, 5

Output

One row per business. With a website: the contact profile (chosen email or route, up to 25 observed emails, each with its source page). Without a website: name, address, category and any phone or social link from the listing, marked as not verified. Chain branches are marked (listing.chain, with the reason) unless you leave them out.

How much does a business list cost?

EventPrice
Business listed (no own website)$0.002
Website checked$0.002
Contact profile$0.012
Booking or quote route (with conversionRoutes)$0.005
Actor start$0.00005

Example: 800 websites checked, 456 with a contact profile, plus 100 businesses without a website = $1.60 + $5.47 + $0.20 = $7.27.

What you are not charged for

Rows beyond maxListedRows, chains you excluded, and anything a resumed run already charged. Rows are stored before they are charged.

Measured coverage

In four test municipalities (Pelt, Hasselt, Gent-centre, Eindhoven) the open data listed 2,200–12,000 places each, 73–84% with their own website, and 5–15× more business websites than OpenStreetMap alone. On 200 sampled businesses with a website, 57% returned a usable contact profile and 43% an email address. Email selection precision of the underlying scanner: 97.4–97.9% in a 300-site blind benchmark. Results on samples, not a guarantee.

Integrate with any app

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("olliolli/open-business-lists").call(
run_input={"categories": ["kapper"], "location": "Gent", "country": "BE"}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

Send the list to Google Sheets, a CRM, Make, Zapier or n8n through Apify's integrations.

Privacy

Personal email addresses (e.g. of sole traders) are labelled personal_data: true; follow the GDPR rules for B2B outreach in your country.

Good to know

  • Open map data is not a complete business register; listings can be outdated. Local shops and services are well covered, trades and offices less so.
  • Large cities: at most 3,000 places are read, highest data confidence first.
  • An empty result does not mean the business has no email or phone.
  • Sources: Overture Maps Places (CDLA Permissive 2.0 / Apache 2.0 / CC0 per source); municipality boundaries from Overture Divisions (© OpenStreetMap contributors, ODbL).

FAQ

How is this different from a Google Maps scraper? It uses open map data instead of Google, and adds a source-backed contact route from each business's own website.

Which countries are supported? BE, NL, LU, FR, DE, AT, CH, GB, IE, DK, SE, NO, FI, ES, PT, IT, PL, CZ.

Can I type categories in Dutch or French? Yes, and in English or German.

Why does a business show no website? The open data has none for it. You still get its name, address and category.

Need help?

Open an issue on the Issues tab.