Home › Sales and lead generation › OpenStreetMap Business Leads

OpenStreetMap Business Leads: Find No-Website Leads

How it works

Local business leads from OpenStreetMap by city, county, bounding box or radius: name, category, address, phone, website, business email, opening hours and socials, with a no-website flag, completeness score and last-edit date. Keyless, new-only monitor mode.

Input options

FieldNameRequiredWhat it does
locationsLocations (place names)noCities, counties, neighbourhoods, states or countries, resolved on OpenStreetMap (for example "Detroit, Michigan", "Wayne County, Michigan", "Austin, Texas", "Leeds, UK"). One...
boundingBoxBounding box (optional)nosouth,west,north,east in decimal degrees, for example 42.30,-83.10,42.36,-83.00. Use instead of, or in addition to, place names.
latitudeLatitude (optional)noCentre point for a radius search, for example 42.3314. Use with longitude and radius.
longitudeLongitude (optional)noCentre point for a radius search, for example -83.0458.
radiusKmRadius (km)noRadius around the latitude/longitude point, 1 to 50 km.
categoriesBusiness categoriesnoFriendly presets mapped to OpenStreetMap tags (for example dentists = amenity=dentist or healthcare=dentist). Pick one or more.
shopTypesExtra shop types (optional)noAny OSM shop=* value not covered by a preset, for example books, music, tobacco, wine, mobile_phone.
tagFiltersRaw OSM tag filters (optional)noAdvanced: your own tag selectors. One per line, conditions joined with &. Supports key=value, key~regex, key!=value, key (exists) and !key (missing). Examples: amenity=dentist,...
onlyNamedOnly named businessesnoSkip objects without a name tag (unnamed map features are rarely useful leads).
onlyWithoutWebsiteOnly businesses WITHOUT a websitenoWeb-design and local-SEO leads: keep only businesses with no website, contact:website or url tag.
onlyWithWebsiteOnly businesses WITH a websitenoKeep only businesses that have a website (ignored when "without a website" is on).
onlyWithPhoneOnly with a phone numbernoKeep only businesses with a phone or contact:phone tag.
onlyWithEmailOnly with a business emailnoKeep only businesses with an email on a business domain (free-mail addresses are always dropped).
excludeChainsExclude chains and franchisesnoDrop objects with a brand tag (McDonald's, Starbucks, bank branches and similar) to focus on independent local businesses.

Output fields

One row per result. These are the 37 fields declared in the actor's dataset schema (field list from the schema, not a sample run).

FieldTypeMeaning
osmIdintegerOpenStreetMap object id (use with osmType).
osmTypestringnode, way or relation.
osmUrlstringLink to the object on openstreetmap.org (view the map, history and tags).
namestringBusiness name as mapped in OpenStreetMap (name tag).
categorystringPreset key the business matched (for example restaurants, plumbers), shop:<type> for shop types, or custom for a raw tag filter.
categoryLabelstringReadable label of the category.
rawTagsobjectThe OSM type tags of the business: amenity, shop, craft, office, healthcare, tourism, leisure, cuisine, sport (only those present).
brandstringbrand tag; set for chains and franchises (use excludeChains to drop them).
streetstringaddr:street.
housenumberstringaddr:housenumber.
citystringaddr:city (or addr:town / addr:village).
postcodestringaddr:postcode.
statestringaddr:state (or addr:province).
countrystringaddr:country (usually a 2-letter code; often missing in OSM).
fullAddressstringAddress assembled from the addr:* tags.
latnumberLatitude (node position or the centre of a building outline).
lonnumberLongitude (node position or the centre of a building outline).
phonestringBusiness phone from the phone or contact:phone tag (first number when several are listed).
websitestringWebsite from website, contact:website or url, normalised to an https:// URL when the scheme was missing.
hasWebsitebooleantrue when a website is mapped.
noWebsitebooleantrue when no website is mapped: the classic web-design lead.
emailstringEmail from the email or contact:email tag, only when it is on a business domain. Free-mail and ISP addresses (gmail, yahoo, outlook, icloud and similar) are...
openingHoursstringopening_hours tag in OSM syntax (for example Mo-Fr 09:00-17:00).
facebookstringFacebook page from contact:facebook or facebook.
instagramstringInstagram profile from contact:instagram or instagram.
twitterstringX (Twitter) profile from contact:twitter or twitter.
linkedinstringLinkedIn page from contact:linkedin.
youtubestringYouTube channel from contact:youtube.
tiktokstringTikTok profile from contact:tiktok.
wheelchairstringwheelchair tag: yes, limited or no.
lastEditedAtstringWhen the OSM object was last edited (ISO 8601). Old dates suggest the listing may be out of date.
daysSinceEditintegerDays between the last OSM edit and the run.
completenessScoreintegerHow complete the listing is: name 15, phone 15, website 15, email 10, street + number 15, city or postcode 5, opening hours 10, any social profile 5, edited in...
leadFlagsarrayGaps worth pitching: noWebsite, noPhone, noBusinessEmail, noOpeningHours, noSocials, staleListing (no edit in 3+ years), chainOrBrand.
searchAreastringThe place, bounding box or radius this lead was found in.
attributionstringRequired credit: (c) OpenStreetMap contributors, ODbL 1.0.
scrapedAtstringWhen this row was produced (ISO 8601).

Limits, stated plainly

Public data only, no login. Fields a source does not publish come back empty rather than guessed. Coverage and freshness follow the underlying public source.

Price

Pay on Apify, no subscription: $0.0008 per business lead returned (pay per event). The live price is on the actor page.

Run it on Apify

Disclosure: we build and maintain this actor.

Related

Comparison

Comparison

More in sales and lead generation