Airbnb — Listing Detail

SkillWeb & browsing

This skill lets your AI look up the full details of any Airbnb listing when you give it a listing ID. Once added, your AI can pull everything from amenities and photos to house rules and ratings for a specific property, so you get a complete picture without opening the listing yourself.

Available today. Use it from your connected AI after setup.

After adding this skill, copy the numeric ID from an Airbnb listing and ask your AI to look it up. It will return the full listing details for you to review.

Then ask your AI: use the Airbnb — Listing Detail skill

What your AI can do with it

  • Fetch complete details for any Airbnb listing using its numeric listing ID
  • Show the listing title, room type, and description
  • List amenities and retrieve property photos
  • Report ratings, review counts, and highlights
  • Look up house rules and bedroom configuration
  • Find the listing's city and map coordinates

What this skill tells your AI

The instructions your AI receives, as published by browser-act/skills in solutions/ecommerce/airbnb-listing-detail/SKILL.md and read by ahel’s review.

Listing ID → full property detail via internal GraphQL API (no login required)

Language

All process output to user (progress updates, process notifications) follows the user's language.

Objective

Fetch comprehensive listing data for an Airbnb property using the internal StaysPdpSections GraphQL API.

Prerequisites

  • Browser is open (any page). The API call is made via fetch() in the browser context — no specific page navigation required.
  • No login required — the API endpoint is publicly accessible

Pre-execution Checks

1. Tool Readiness

If browser-act has been confirmed available in the current session → skip this step.

Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.

Capability Components

This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. JS code is encapsulated in Python files under the scripts/ directory, invoked via eval "$(python scripts/xxx.py {params})". $(...) is bash syntax; it is recommended to use the bash tool for execution.

API: fetch listing detail

eval "$(python scripts/listing-detail.py '{listing_id}')"

Parameters:

  • listing_id: numeric Airbnb listing ID (e.g., 5476930). Extract from listing URL: airbnb.com/rooms/{listing_id}
  • --checkin: check-in date in YYYY-MM-DD format, default: none (price info unavailable without dates)
  • --checkout: check-out date in YYYY-MM-DD format, default: none
  • --adults: number of adult guests, default: 1
  • --locale: response locale, default: en
  • --currency: price currency code, default: USD

Output example:

{
  "id": "5476930",
  "url": "https://www.airbnb.com/rooms/5476930",
  "title": "Bright Studio in Notting Hill",
  "room_type": "ENTIRE_HOME",
  "description": "<p>Welcome to this charming studio...</p>",
  "photos": ["https://a0.muscache.com/im/pictures/...jpeg"],
  "lat": 51.5101,
  "lng": -0.1949,
  "city": "London, England, United Kingdom",
  "amenities": [
    {"name": "Kitchen", "available": true},
    {"name": "Wifi", "available": true}
  ],
  "house_rules": ["Check-in after 3:00 PM", "Checkout before 11:00 AM", "1 guest maximum"],
  "highlights": [
    {"title": "Self check-in", "subtitle": "Check yourself in with the keypad."}
  ],
  "rating_overall": 4.85,
  "review_count": 142,
  "ratings": [
    {"category": "CLEANLINESS", "value": "4.9"},
    {"category": "LOCATION", "value": "4.8"}
  ],
  "bedrooms": [
    {"title": "Bedroom 1", "subtitle": "1 king bed"}
  ]
}

Error handling: If error: true is returned with HTTP 4xx, verify the listing ID is valid by visiting https://www.airbnb.com/rooms/{listing_id} in the browser. If No data in response is returned, the listing may have been removed or the API schema may have changed — check the raw field for details.

Pagination

Not applicable — each call returns complete detail for one listing.

Success Criteria

title is not null AND amenities.length >= 1 AND photos.length >= 1

Known Limitations

  • rating_overall and review_count are null for new listings with no reviews
  • bedrooms array may be empty for studio or hotel-style rooms
  • Host personal details (bio, profile photo, response rate) are not available from this endpoint — they return as deferred sentinel sections
  • Price per night is not included in the response without --checkin and --checkout dates
  • Calling this endpoint too rapidly may trigger rate limiting; add 1-2 second delays between batch requests

Execution Efficiency

  • Batch orchestration: Write a bash script to loop through listing IDs serially with a 1-second delay between calls
  • Test before batch execution: After writing a batch script, test with 1-2 listing IDs to verify output before running full batch
  • Error resumption: Save results per listing ID; resume from the breakpoint on failure

Experience Notes

Path: {working-directory}/browser-act-skill-forge-memories/airbnb-scraper-airbnb-listing-detail.memory.md

Before execution: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.

After execution: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line: {YYYY-MM-DD}: {what happened} → {conclusion}

Normal execution does not write to the file. Do not record what listing IDs were fetched or how many results were returned — those are task outputs, not experience.

Signals

GitHub stars
6k
Forks
294
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
airbnb-listing-detail
Source
github.com/browser-act/skills