OSM POI Extractor
Pricing
$3.00 / 1,000 places
OSM POI Extractor
Extract local businesses and places from OpenStreetMap by place name and category — with phone, email, website, address and coordinates. Open data, no login, no proxies.
Pricing
$3.00 / 1,000 places
Rating
0.0
(0)
Developer
Tom Awake
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract local businesses and places from OpenStreetMap by place name and category — with phone numbers, emails, websites, opening hours, addresses and coordinates.
No login. No cookies. No proxies. No API keys. Nothing to break.
Type Bordeaux, France and restaurants. That is the whole configuration.
A legal alternative to scraping Google Maps
Scraping Google Maps breaks Google's terms of service. This Actor reads OpenStreetMap, an open database, through the public Overpass and Nominatim APIs — access that is offered, documented and free. There is no anti-bot system to defeat, no account to get suspended, and no proxy bill.
The data is licensed ODbL 1.0: you may use it commercially, including in
a lead list or a product, provided you attribute OpenStreetMap. Every row
carries an attribution field so the requirement travels with the data. If
you redistribute a derived database, ODbL's share-alike terms apply to
that database — worth knowing before you resell the raw export.
What makes this one different
It takes a place name, not a bounding box. Overpass needs
(44.81,-0.63,44.91,-0.53) and amenity=restaurant. That is why most
OpenStreetMap tools go unused. Here you type a town and pick from 82
categories.
It queries the real administrative area, not a rectangle. Asking for "Gironde" by bounding box means querying the Atlantic Ocean: measured, 64 near-empty requests and over ten minutes. This Actor resolves the département's actual boundary and returns 488 pharmacies in about four seconds.
It returns the most complete records first. Overpass emits points before buildings, so a capped run would hand you an arbitrary, biased slice. Rows are ranked by how contactable they are before the limit applies. Measured on Bordeaux restaurants, asking for 120 out of 835:
| Naive order | This Actor | |
|---|---|---|
| With a phone number | 47 % | 100 % |
| With a website | 47 % | 99 % |
| With a street address | — | 97 % |
It includes places mapped as buildings. Many POIs are areas, not points. Querying nodes only silently loses them — 37 of 835 Bordeaux restaurants.
Output
One row per place, deduplicated.
| Field | Example |
|---|---|
name | La Tupiña |
category | restaurants |
phone | +33 5 56915637 |
email | contact@latupina.com |
website | http://www.latupina.com/ |
address | 6 Rue Porte de la Monnaie |
street, housenumber, postcode, city, country | split for mail merge |
latitude, longitude | 44.8335, -0.5658 |
openingHours | Mo-Su, PH 11:00-23:00 |
cuisine, brand, operator, wheelchair | when mapped |
siret, siren | French business identifiers, when mapped |
osmType, osmId, osmUrl | provenance, to verify any row |
attribution | © OpenStreetMap contributors, ODbL 1.0 |
French places often carry ref:FR:SIRET and ref:FR:SIREN, which lets you
join the export straight to the French company register. Measured on
Bordeaux restaurants: 84 of the first 120 rows carried a SIRET.
Input
{"location": "Bordeaux, France","category": "restaurants","maxItems": 500,"requirePhone": false}
| Field | Default | Notes |
|---|---|---|
location | Bordeaux, France | Town, city, district, département, region or country |
category | restaurants | 82 presets — see below |
maxItems | 500 | Up to 50,000 |
requirePhone | false | Keep only places with a phone number |
requireWebsite | false | Keep only places with a website |
boundingBox | — | [south, west, north, east], overrides location |
center + radiusMeters | — | Circle around a point |
customTags | — | ["amenity=restaurant"] for tags with no preset |
Categories
Food and drink — restaurants, fast-food, cafes, bars, nightclubs, bakeries, caterers
Accommodation — hotels, guest-houses, campsites
Health — pharmacies, doctors, dentists, hospitals, clinics, veterinarians, opticians, physiotherapists
Retail — supermarkets, convenience-stores, clothing-stores, shoe-stores, furniture-stores, hardware-stores, florists, bookshops, jewellers, electronics-stores, bicycle-shops, pet-shops, butchers, greengrocers, wine-shops, tobacco-shops
Personal services — hairdressers, beauty-salons, tattoo-parlours, dry-cleaners, gyms, spas
Automotive — car-dealers, car-repair, car-rental, petrol-stations, car-wash, driving-schools
Professional services — real-estate-agents, lawyers, accountants, insurance-offices, banks, architects, travel-agencies, employment-agencies, advertising-agencies, it-companies, coworking-spaces
Trades — plumbers, electricians, carpenters, painters, roofers, locksmiths, builders
Education — schools, kindergartens, universities, language-schools
Leisure — museums, attractions, theatres, cinemas, sports-centres, swimming-pools, golf-courses, playgrounds
Logistics and infrastructure — warehouses, post-offices, parcel-lockers, ev-charging, parking, atms
Anything else: use customTags with a tag from
taginfo.openstreetmap.org.
Use cases
- Local lead lists — pick a category and a city, tick "only places with a phone number", export a call list.
- Market and site analysis — count competitors per town, map their density, compare coverage between areas.
- Store locators and directories — seed a directory with real coordinates and opening hours.
- Enriching a CRM — match on name and postcode, fill in missing phone numbers and websites.
- Field logistics — route planning from real coordinates.
Coverage, honestly
OpenStreetMap is volunteer-mapped, so completeness varies by country and by category. Measured on 966 Bordeaux restaurants: 98.8 % had a name, 74.3 % a street address, 48.9 % opening hours, 41.5 % a website, 41.1 % a phone number, 12.2 % an email address.
Dense European cities are mapped well. Rural areas and some categories are thinner. This Actor reports what is in the database — it does not invent missing fields, and it will not pretend a village has ten dentists.
Behaviour and limits
- Several Overpass mirrors are used in turn; a loaded or failing mirror is skipped automatically.
- Very large areas with no administrative boundary fall back to a tiled scan, deduplicated across tiles.
- Places with no name are skipped: a nameless point is not a business.
- Nominatim's usage policy is respected — one geocoding request per run.