Hotel & Airbnb Photo Intel Scraper
Pricing
from $2.24 / 1,000 photos
Hotel & Airbnb Photo Intel Scraper
Read public Airbnb and Booking.com listing photos. Each row is one photo with the room type, view, bed count, finish, and visible wear. Built for hotel content teams and short-stay comps. No login. Export JSON or CSV.
Read what a stay photo actually shows. Hotel content teams and short-stay comps use it when the amenity checkbox says "view" and they need the photo to say ocean, courtyard, or parking lot.
Paste a public Airbnb room URL or a Booking.com hotel URL. Each photo becomes one dataset row with room type, view, bed count, finish, and visible wear. No guest login is required.
What can this stay photo scraper do?
- Open a public Airbnb room page or a Booking.com hotel page.
- Collect listing photos from that page.
- Classify each photo: room type, view, beds, finish, and wear.
- List amenities that are actually in the frame.
- Cap photos per listing with
maxItems. - Run several listings in one Actor run.
- Export JSON, CSV, or Excel and schedule a repeat through Apify.
maxItems counts photos per listing URL. Finish is budget, standard, premium, or unknown. Wear is none, light, moderate, heavy, or unknown.
What data can you extract?
| Field | Meaning |
|---|---|
| imageUrl | Photo that was read |
| roomType | Space in the frame, such as bedroom |
| view | What a window or balcony looks onto, when one is visible |
| bedCount | Beds visible in the frame |
| finishGrade | Finish quality visible in the photo |
| visibleWear | Wear or damage visible in the photo |
| amenitiesVisible | Amenities you can see, such as a desk |
| listingTitle | Title on the listing page |
| site | airbnb or booking |
| listingUrl | Listing page you provided |
How to classify stay photos
- Copy an Airbnb room URL (
/rooms/123) or a Booking.com hotel URL (/hotel/nl/hotel-name). - Paste it into Start URLs.
- Set Maximum images. The default is 3 so a test stays small.
- Start the run and download the dataset.
If a hotel page comes back without a photo gallery, that URL is retried and then skipped. A proxy can be turned on in the input when a listing page blocks the run.
Use cases
- Check whether a "sea view" photo shows water.
- Count beds in the photos rather than the headline.
- Flag heavy wear before a short-stay comp.
- Compare finish across a set of listings.
- See which amenities are actually photographed.
- Sample three photos before reading a whole gallery.
- Review a hotel's first images for a content audit.
- Watch one listing on a schedule.
- Hand rows to a revenue workbook.
- Separate bedroom photos from bathroom photos.
Pricing
Platform usage is included.
| Charge | Free plan |
|---|---|
| Actor start | $0.00005 |
| Listing with a reading | $1.99 per 1,000 listings |
| Photo classified | $2.99 per 1,000 photos |
Paid plans are cheaper. Keep maxItems small while you test.
FAQ
Does this need an Airbnb or Booking login? No. Public listing pages are enough.
Why did a Booking URL fail? The page did not include a photo gallery. Try the same hotel URL with a proxy enabled.
Why is view null? That photo does not show a window or an outdoor view.
Image Credit
No site screenshot is used.