OSM Local Business Email Leads (OpenStreetMap, No Maps API) avatar

OSM Local Business Email Leads (OpenStreetMap, No Maps API)

Pricing

from $1.50 / 1,000 lead with emails

Go to Apify Store
OSM Local Business Email Leads (OpenStreetMap, No Maps API)

OSM Local Business Email Leads (OpenStreetMap, No Maps API)

OSM / OpenStreetMap local business email leads — no Google Maps API key. Keyword + city → name, website, phone, address, and email when public (OSM tags or site crawl). Cheaper than typical OSM peers (~$1.50/1k with email vs peers from ~$3.50/1k). Pay per event.

Pricing

from $1.50 / 1,000 lead with emails

Rating

0.0

(0)

Developer

KEith wy

KEith wy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

OpenStreetMap Local Business Email Leads — No Google Maps API · ~$1.50/1k

Apify Store: https://apify.com/keiwy/local-biz-leads-email

Turn a keyword + city into local business leads from OpenStreetMap — name, website, phone, address, and email when publicly listed (OSM tags or a light crawl of the business site / contact page).

Blue-ocean pins
SourceOpenStreetMap (Nominatim + Overpass)
API keyNo Google Maps API key required
PricePay-per-event ~$1.50 per 1,000 leads with email (lead-with-email $0.0015); basic leads without email ~$0.50/1k

This is not another Google Maps email scraper. If you need Maps ratings / reviews / place IDs, use a Maps actor. If you want keyless, cheaper OSM local email leads, this Actor is built for that intent.

Honest comparison (API key · source · price)

This Actor (keiwy/local-biz-leads-email)Typical Maps + email scrapersOSM peer (e.g. flash_scraper class, Store list price)
Google Maps API keyNot neededOften required or Maps-sourcedNot needed
Data sourceOpenStreetMapGoogle Maps / PlacesOpenStreetMap
Email leads price~$1.50 / 1k with emailOften ~$1.50–$1.80 / 1k saved email (Maps path)Often from ~$3.50 / 1k (peer Store list)
Maps ratings / reviewsNo (OSM does not have them)YesVaries

Prices above are public Store list prices / PPE event rates as of 2026-10 — they change; always check the Store page. We do not claim to beat Maps coverage; we claim no Maps key + OSM + lower OSM-peer price.

Measured demo (real platform run)

FieldValue
Run idOYFwhkqmbossJAq25 (SUCCEEDED)
Inputquery=dentist, location=Austin, TX, maxItems=10, enrichEmail=true
Leads returned10
With email4 / 10 (40%)
With phone5 / 10 (50%)
With website6 / 10 (60%)
Email sourcesosm_tag ×3, mailto ×1
Duration~7 s
PPE charged (self-test)4× lead-with-email + 6× lead-basic

Earlier smoke without website enrichment (PiQQcfDTVtYENJPxn, same city/niche, enrichEmail=false, maxItems=5): 1 / 5 emails (20%), all from osm_tag. Enrichment usually raises fill-rate when businesses publish a public site email.

Coverage varies by city and OSM tagging. Dense, well-tagged cities work better. Empty or low fill-rate on a niche/city is possible — try a broader query or another city.

Who it’s for

  • Agencies / freelancers building local outreach lists without a Maps API bill
  • Founders validating a city niche (dentists, plumbers, cafes, gyms…)
  • Buyers searching for OpenStreetMap / no Google Maps API / cheap local business email leads

Quick start (Apify Console)

  1. Open keiwy/local-biz-leads-email
  2. Paste input like:
{
"query": "plumber",
"location": "Austin, TX",
"maxItems": 25,
"enrichEmail": true,
"onlyWithEmail": false
}
  1. Run → download dataset (CSV/JSON)

Want only rows with email? Set "onlyWithEmail": true. The Actor drops empty-email rows before output and does not charge lead-basic for them — you only pay lead-with-email for returned rows. Pair with enrichEmail=true for higher fill-rate. maxItems then means up to that many email leads (extra candidates are fetched under the hood).

Input

FieldRequiredDefaultNotes
queryyes—e.g. plumber, dentist, cafe
locationyes—e.g. Austin, TX / Berlin, Germany
maxItemsno501–500 (with onlyWithEmail, up to N email leads)
enrichEmailnotrueVisit site for mailto: / obvious emails
onlyWithEmailnofalseIf true, only output non-empty email rows; no lead-basic charge for dropped rows

Output fields

businessName, website, email, phone, address, sourceUrl, emailSource

  • email may be "" if none found — still a valid basic lead (unless onlyWithEmail=true, in which case empty-email rows are omitted)
  • emailSource: osm_tag | mailto | page_heuristic | empty

Pricing (PPE on Store)

EventWhenPrice
lead-with-emailrow has email$0.0015 (~$1.50/1k)
lead-basicno email$0.0005 (~$0.50/1k)

Failed / empty runs should not charge for leads. Self-tests on your own account still consume platform compute usage.

How it works (honest)

  1. Geocode location via Nominatim
  2. Query Overpass for matching OSM POIs (public Overpass mirrors; occasional timeouts possible)
  3. Optional: fetch website / contact pages for public emails

No LinkedIn, no paid enrichment APIs, no purchased proxies in this Actor. No MX “verified inbox” claim — emails are publicly listed strings only.

Limitations

  • OSM coverage ≠ Google Maps coverage
  • Overpass public endpoints can time out; retry or lower maxItems
  • Email fill-rate depends on public tags + site crawl; not guaranteed
  • Not a replacement for Maps scrapers when you need ratings, hours from Maps, or place IDs

Run via API

curl "https://api.apify.com/v2/acts/keiwy~local-biz-leads-email/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"dentist","location":"Austin, TX","maxItems":10,"enrichEmail":true,"onlyWithEmail":true}'

License

MIT — use freely; please keep Store link if you fork for commercial lists.