Airbnb listing details and availability calendar by URL: description, amenities, house rules, six category ratings, review count, photos, coordinates and a 1–12 month day-by-day availability calendar. One flat row per listing, no personal data about hosts or guests.
History of airbnb-listing-details-scraper (folder actors/airbnb-listing-details). Versions are the Apify build numbers.
Unreleased (all-in price columns: taxesIncluded and priceTotalAllIn)
Brief docs/cloud-tasks/2026-10-23_travel-prices-all-in.md (2026-10-23): rows are travel-listing/1.6 (the detail schema on top of the search schema travel-listing/1.5), two columns after taxesAndFees. Listing pages carry no price, so both are always null here, like every price column; no code change besides the version tag.
Dataset schema: both columns documented (always null, filled by the Airbnb Listings Scraper); no view change, the Overview view has no price column. README: price table and FAQ Why are the prices empty? (which scraper fills priceTotalAllIn), the strengths worth knowing when switching (hard maxResults cap never charged beyond, calendar charged only on request), More scrapers pointing at priceTotalAllIn.
Unreleased (quality score: input documented for AI agents)
Brief docs/cloud-tasks/2026-10-20_studio-quality-score-insights.md (2026-10-21): the input form passes the shared checks of runInputQualityChecks and the Store texts those of runSearchTextChecks.
Descriptions rewritten (what the field does, an example of the format, the default and its reason): checkIn, checkOut, adults, children, infants, pets, includeCalendar, calendarMonths, maxResults, currency (sent with the requests and recorded in the currency column; it no longer claims to be written into the row's url, which carries dates and adults only), locale, domain, proxyConfiguration, maxRequests, delayMs, debugStoreHtml.
maxResults prefilled with 50 (default unchanged, 100): the prefilled input that Apify's daily test runs (the three prefilled listings, no calendar) is now the input of our daily check plus the calendar; 50 rather than 3 so that a form user who pastes their own list is not cut at three listings.
inputs/daily-check.json = the prefilled form (three Lisbon listings, maxResults 50, was 3: same three rows) plus includeCalendar: true and calendarMonths: 1 (dailyCheckExtras of the store test): the calendar is in the title, off by default, and a checkbox cannot be prefilled, so the daily check keeps watching it on top of what Apify's test runs. The keys equal to the defaults are dropped (adults, locale, domain, delayMs, proxyConfiguration) and currency goes from EUR to the default USD (listing pages carry no price). The live daily-check task follows when the pilot re-sends it.
Store texts: store.json › searchSynonyms lists "Airbnb scraper", "Airbnb availability calendar", "vacation rentals" and "house rules", all in the README head the Store search indexes. README input table: children (counted in guests), maxResults (prefill), currency.
No code change: rows, logs and charges are identical.
Unreleased (README visibility)
README first screen and links (brief docs/cloud-tasks/2026-10-20_studio-readme-visibility.md, 2026-10-20). The Store search indexes only the first ~3,000 README characters, so they now hold: an opening sentence with the phrase agents search and its synonyms, a "No login, no cookies, no personal data" line, the Free-plan price in figures in How much ($2.20 per 1,000 listings; Apify's $5 monthly credit covers about 2,272), computed from pricing/2026-10-19_pay-per-event.autopilot.json (Free tier of the primary event, one apify-actor-start event deducted), and a real output snippet (12 key columns of the README example row). Further down: Use it from your AI assistant (MCP URL https://mcp.apify.com?tools=myth84/<name> and a ready-to-copy prompt with a minimal input), Alternatives and switching (official API, home-made scraper, input-name mapping table, no competitor named), More scrapers by Flatrow Data Studio (Store links to the other Actors of the studio) with an invitation to rate the Actor (no counterpart), and the non-affiliation line at the very bottom. The cost section and the MCP cost bullet quote the same figures; the line 1 heading is unchanged. store.json now names its studio (travel), read by the link check. The credit figure counts listings without the optional calendar. Checked by runStoreChecks (readmeVisibility): keyword in the opening prose, snippet equal to the example row and within 3,000 characters, figures equal to the pricing file in force (a new grid fails the test until the README follows), MCP block with a valid input, links to existing Actors of the same studio only, no fpr=. No code change: rows, logs and charges are identical.
Unreleased
Output schema travel-listing/1.3 (additive, brief docs/cloud-tasks/2026-10-20_travel-extend-monitor.md, 2026-10-20): the search schema of the travel studio gained the price-monitoring block (changeType, previousPrice, priceDelta, priceDeltaPercent) and took the tag travel-listing/1.2; the detail schema follows as 1.3 so that one tag means one column set. The four columns sit after scrapedAt, before the detail columns, and are always null for this Actor (no monitoring mode). Dataset schema regenerated, README example and column table updated; no other change in the rows.
Store texts (brief docs/cloud-tasks/2026-10-20_studio-promote-store-texts.md, 2026-10-20): README opens with what you get / for whom / how much, shows the real input of the validation run, a pricing table that points to the Pricing tab (no figure in the text), a For AI agents (MCP) section with a minimal input, the key output fields, the cost per 1,000 results and the typical time; FAQ kept to 8–10 questions; no proxy or anti-bot detail left in the texts visible on the Store. Tests on the Store lengths (seoTitle ≤ 60, seoDescription ≤ 155, description ≤ 300), the README structure and the forbidden mentions. No code change.
0.1 — 2026-10-19
First version, written offline on the fixtures captured by the probe on 2026-10-19 (cloud task n°7, docs/cloud-tasks/2026-10-19_airbnb-listing-details-build.md): one HTML request per listing (/rooms/<id>, embedded StaysPdpSections node) giving description, highlights, amenities by category, house rules (check-in / check-out, pets, smoking, events, quiet hours), safety features, sleeping arrangements, six category ratings, review count, photos, coordinates and neighbourhood; optional availability calendar (PdpAvailabilityCalendar, 1–12 months in one request, API key read from the page) with summary columns and the day-by-day list.
Output schema travel-listing/1.2: every travel-listing/1.1 column first, then the detail and calendar columns. No personal data: host, co-hosts, "hosted by" texts and reviews are never read; every row goes through the privacy filter.
Pay-per-event: result per listing, calendar per listing-month (charged before the row is pushed; months that cannot be charged are dropped from the row). Explicit failure on empty output.
Not included (brief § 3): the price of the stay, which Airbnb loads through a booking query whose variables were not captured; price columns are null and documented as such.