Healthcare Facilities Scraper – OpenStreetMap (OSM) avatar

Healthcare Facilities Scraper – OpenStreetMap (OSM)

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Healthcare Facilities Scraper – OpenStreetMap (OSM)

Healthcare Facilities Scraper – OpenStreetMap (OSM)

Extract healthcare facilities from OpenStreetMap by area, radius, or name: pharmacies, doctors, dentists, clinics, hospitals & nursing homes. Get speciality, dispensing, contact and address. No API key; open (ODbL) data.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Daniel Brenner

Daniel Brenner

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Healthcare Facilities Scraper – Pharmacies, Clinics, Doctors & Dentists (OpenStreetMap)

Extract healthcare facilities from OpenStreetMap by area, radius, or name — no API key, no medical-directory subscription, no anti-bot battles. Open, legal (ODbL) data you can redistribute. Public facility listings only — no patient data.

Give it an area like "Manchester, United Kingdom" and get back tidy rows for every pharmacy, doctor's surgery, dentist, clinic, hospital and nursing home: name, facility type, speciality, dispensing, emergency flag, operator, full address, coordinates, contact, and the raw OpenStreetMap tags. You can also search around a point (every clinic within X km) or filter by name (e.g. every "Boots" pharmacy).

Why use this scraper?

  • Healthcare-specific fields. Beyond a generic POI dump — facility_type, normalized healthcare, speciality, dispensing (pharmacies) and emergency are parsed out of the OpenStreetMap tags.
  • Legal & open. OpenStreetMap data is ODbL-licensed — redistributable with attribution. Facility listings, not patient/PII data. No login.
  • No API key. No medical-data provider account, no quota.
  • Search by area, radius, or name. A whole city/region, everything within X metres of a point, or every facility of one brand.
  • Filter by type. Pharmacies only, or clinics + doctors, etc.
  • No duplicates. When OpenStreetMap maps one facility twice (a node and a building outline), you get a single, richer row.
  • Honest data. Every value comes straight from OpenStreetMap; anything not mapped is left empty (null) — never guessed.
  • Global coverage & reliable. Anywhere OSM has data; retries across multiple Overpass mirrors.

Great for

  • Medical / pharmacy / clinic directories and finder apps
  • Healthcare market research, coverage and access analysis
  • B2B lead lists for healthcare suppliers and services
  • Care-access mapping, public-health datasets, AI/RAG pipelines

Input

FieldTypeDescription
areastringPlace to search within, e.g. "Manchester, United Kingdom". Geocoded to a bounding box.
aroundLocationstring(optional) Address/place to search around within a radius. Pair with radiusMeters.
radiusMetersinteger(optional) Radius in metres for around-a-location search (default 3000).
centerPointobject(advanced) Explicit center { "lat":.., "lon":.. } to search around.
boundingBoxobject(advanced) Explicit { "south":.., "west":.., "north":.., "east":.. }. Overrides area.
facilityTypesarray(optional) Which types to include: pharmacy, doctors, dentist, clinic, hospital, nursing_home. Default: all.
searchTermstring(optional) Only return facilities whose name contains this text (case-insensitive), e.g. "Boots".
maxResultsintegerMaximum number of facilities to return (default 1000).

Example input

{
"area": "Manchester, United Kingdom",
"facilityTypes": ["pharmacy", "doctors", "dentist", "clinic"],
"maxResults": 500
}

Every Boots pharmacy within 15 km of a point:

{
"aroundLocation": "Leeds City Centre",
"radiusMeters": 15000,
"facilityTypes": ["pharmacy"],
"searchTerm": "Boots"
}

Output

One row per facility:

FieldDescription
nameFacility name
facility_typepharmacy / doctors / dentist / clinic / hospital / nursing_home
healthcareNormalized OSM healthcare value
specialityMedical speciality (from healthcare:speciality)
dispensingPharmacy dispensing flag
emergencyEmergency service flag
operator, brandOperator (e.g. NHS) and brand/chain
branchBranch / location name of a chain outlet (e.g. Times Square)
wheelchairAccessibility
latitude, longitudeCoordinates
street, housenumber, city, postcode, countryAddress
stateState / province (addr:state / addr:province); common in US/CA/AU
phone, email, website, opening_hoursContact + hours
osm_id, osm_type, all_tags, source_urlOpenStreetMap identifiers, raw tags, and link
full_addressAll present address parts in one string (e.g. Main St 1, 10115 Berlin)
map_urlGoogle Maps link to the coordinates

Example output

{
"name": "Boots",
"facility_type": "pharmacy",
"healthcare": "pharmacy",
"speciality": null,
"dispensing": "yes",
"emergency": null,
"operator": "Boots UK",
"brand": "Boots",
"city": "Manchester",
"postcode": "M1 1AA",
"country": "GB",
"phone": "+44 161 000 0000",
"opening_hours": "Mo-Sa 09:00-18:00",
"osm_type": "node",
"source_url": "https://www.openstreetmap.org/node/..."
}

Any field is null when the facility hasn't tagged it in OpenStreetMap — values are never guessed.

FAQ

Do I need an API key or account? No — give it an area (plus optional radius/name filters) and run. No data-provider key, no quota, no setup.

Is the data legal to use and redistribute? Yes. It comes from OpenStreetMap under the Open Database License (ODbL): public data you can redistribute with attribution (© OpenStreetMap contributors). No logins, no Terms-of-Service violations.

How is this different from a Google Maps scraper? It uses open OpenStreetMap data instead of scraping a site behind anti-bot defenses and Terms of Service — so it's legal, needs no API key, and returns an honest null for anything OSM hasn't mapped instead of guessing. It returns facility data only (type, speciality, contact) — no patient or personal data.

How much does it cost? Pay-per-result: $3 per 1,000 results — you only pay for the rows you actually get.

Which countries does it cover? Worldwide — anywhere OpenStreetMap has data.

How fresh is the data? It's pulled live from OpenStreetMap at run time, so it reflects the current map.

Data source & license

Data comes from OpenStreetMap via the public Nominatim (geocoding) and Overpass (querying) APIs. OpenStreetMap data is © OpenStreetMap contributors, licensed under the Open Database License (ODbL). If you publish or redistribute results, attribute "© OpenStreetMap contributors".

Notes

  • Coverage and tag richness vary by region — OSM is community-mapped, so cities are richer than rural areas.
  • This returns facility information (names, addresses, phones, specialities) — not individual practitioners or any patient data.

More OpenStreetMap data actors

Part of dataquarry's family of clean, ODbL OpenStreetMap extractors — same flexible area / radius / bounding-box / name search, same honest-null data (a field that isn't mapped is left empty, never guessed):