Hotels & Lodging Scraper – OpenStreetMap Hotel Data avatar

Hotels & Lodging Scraper – OpenStreetMap Hotel Data

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Hotels & Lodging Scraper – OpenStreetMap Hotel Data

Hotels & Lodging Scraper – OpenStreetMap Hotel Data

Extract hotels, hostels, guest houses, motels & apartments from OpenStreetMap by area, radius, or name. Get stars, room count, brand, operator, 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

Extract hotels, hostels, guest houses, motels and apartments from OpenStreetMap by area, radius, or name — no API key, no booking-site scraping, no anti-bot battles. Open, legal (ODbL) data you can redistribute.

Give it an area like "Edinburgh, United Kingdom" and get back tidy rows for every place to stay: name, lodging type, star rating, room count, brand, operator, internet access, full address, coordinates, contact, and the raw OpenStreetMap tags. You can also search around a point (every hotel within X km of a landmark) or filter by name (e.g. every "Premier Inn" or "Hilton").

Why use this scraper?

  • Lodging-specific fields. Not just a generic POI dump — stars, rooms, lodging_type, brand, operator and internet access are parsed out of the OpenStreetMap tags for you.
  • Legal & open. OpenStreetMap data is ODbL-licensed — redistributable with attribution. No booking-site Terms-of-Service issues, no login.
  • No API key. No hotel/OTA developer account, no per-call quota.
  • Search by area, radius, or name. A whole city/region, everything within X metres of a point, or every property of one brand.
  • Filter by type. Hotels only, or hostels + guest houses, etc.
  • No duplicates. When OpenStreetMap maps one property 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. stars/rooms are read only from explicit tags.
  • Global coverage & reliable. Anywhere OSM has data; retries across multiple Overpass mirrors.

Great for

  • Travel & hospitality datasets, hotel-finder apps, trip planners
  • Hotel market research, brand/coverage analysis, competitive mapping
  • Site selection and real-estate/hospitality analysis
  • Travel AI/RAG pipelines and dashboards

Input

FieldTypeDescription
areastringPlace to search within, e.g. "Paris, France". 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.
lodgingTypesarray(optional) Which types to include: hotel, guest_house, hostel, motel, apartment, chalet. Default: all.
searchTermstring(optional) Only return places whose name contains this text (case-insensitive), e.g. "Hilton".
maxResultsintegerMaximum number of places to return (default 1000).

Example input

{
"area": "Edinburgh, United Kingdom",
"lodgingTypes": ["hotel", "guest_house", "hostel"],
"maxResults": 500
}

Every Premier Inn within 20 km of a point:

{
"aroundLocation": "Manchester Piccadilly",
"radiusMeters": 20000,
"lodgingTypes": ["hotel"],
"searchTerm": "Premier Inn"
}

Output

One row per lodging place:

FieldDescription
nameProperty name
lodging_typehotel / guest_house / hostel / motel / apartment / chalet
starsStar rating (from OSM stars)
roomsNumber of rooms (from OSM rooms)
brand, operatorBrand / chain and operator
branchBranch / location name of a chain outlet (OSM branch), e.g. Times Square — disambiguates outlets of the same chain; null when not a tagged branch
brand_wikidataWikidata id of the brand/chain (e.g. Q598884) — stable entity id for chain analysis, when tagged
brand_logoOfficial brand logo image URL from the brand's Wikidata entity (P154), when it has one; null otherwise — optional enrichment, never guessed
internet_accesswlan / yes / no / …
wheelchairAccessibility
latitude, longitudeCoordinates
street, housenumber, city, postcode, countryAddress
stateState / province (OSM addr:state / addr:province) — common in US/CA/AU, null where not tagged
phone, email, websiteContact
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": "The Balmoral Hotel",
"lodging_type": "hotel",
"stars": 5,
"rooms": 188,
"brand": "Rocco Forte Hotels",
"operator": "Rocco Forte Hotels",
"internet_access": "wlan",
"city": "Edinburgh",
"postcode": "EH2 2EQ",
"country": "GB",
"website": "https://example.test",
"latitude": 55.9521,
"longitude": -3.1897,
"osm_type": "way",
"source_url": "https://www.openstreetmap.org/way/..."
}

Any field is null when the property 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 Booking.com or Expedia 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. You get each property's own details (stars, rooms, brand, contact) rather than OTA listings or reviews.

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.
  • stars reflects what is tagged in OSM, which may differ from official/marketing ratings.

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):