Airbnb Shared Wishlist Scraper avatar

Airbnb Shared Wishlist Scraper

Pricing

Pay per event

Go to Apify Store
Airbnb Shared Wishlist Scraper

Airbnb Shared Wishlist Scraper

Export public Airbnb shared wishlists into structured stay records with collection context, availability, ratings, coordinates, badges, prices, and photos.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 days ago

Last modified

Categories

Share

Export a public Airbnb shared wishlist into clean, structured stay records.

Paste a read-only airbnb.com/wishlists/v/... link and receive one dataset row per saved stay, complete with wishlist context, availability, ratings, coordinates, badges, price details when supplied by Airbnb, and contextual photos.

No Airbnb login, private API key, browser, or manual copying is required.

  • πŸ”— Accept one or many public wishlist links
  • 🏠 Preserve every saved stay as a separate record
  • πŸ‘₯ Keep collection owner, guest, and date context
  • πŸ“Έ Export contextual photo IDs, URLs, and captions
  • πŸ”„ Schedule repeat runs to refresh a shortlist

What does Airbnb Shared Wishlist Scraper do?

Airbnb Shared Wishlist Scraper turns a travel shortlist that people can view in a browser into data that can be compared, filtered, archived, or sent to another system.

Unlike a general Airbnb search scraper, it does not generate a new location search.

It exports the exact curated collection behind a public shared link and preserves that collection's context on every listing row.

The Actor discovers Airbnb's current public data request automatically and uses a lightweight HTTP workflow.

That keeps runs fast and avoids browser overhead.

Who is it for? Airbnb wishlist export users

Group travel planners

  • Compare the same candidate stays in Google Sheets.
  • Share a stable export with travelers who do not use Airbnb wishlists.
  • Keep owner, guest count, and saved date context beside each option.

Travel agencies and concierge teams

  • Export client shortlists into an internal CRM or trip brief.
  • Refresh multiple public lists on a schedule.
  • Trigger alerts when a previously saved stay becomes unavailable.

Vacation-rental investors and operators

  • Monitor curated competitor sets instead of broad location searches.
  • Track listing IDs, ratings, badges, coordinates, and visible price text.
  • Archive snapshots for later market comparisons.

Researchers and developers

  • Build reproducible collection-level datasets.
  • Feed selected listings into enrichment or analytics pipelines.
  • Access results through API, webhooks, CSV, JSON, Excel, or XML.

Why use this Airbnb wishlist extractor?

  • βœ… Exact collection export β€” records come from the shared wishlist, not an approximate search.
  • βœ… No login required β€” public read-only links work anonymously.
  • βœ… Collection context retained β€” each stay includes wishlist ID, name, owner, dates, and guests.
  • βœ… Useful listing cards β€” IDs, URLs, titles, subtitles, availability, ratings, coordinates, beds, and badges.
  • βœ… Photo context β€” parallel photo arrays export cleanly to JSON and tabular systems.
  • βœ… Current query discovery β€” the Actor reads Airbnb's public client bundle instead of relying only on one hard-coded operation hash.
  • βœ… Apify integrations β€” use schedules, webhooks, API clients, Make, Zapier, Google Sheets, and cloud storage.

What Airbnb wishlist data can you extract?

CategoryFields
WishlistwishlistId, wishlistUrl, wishlistName, wishlistItemCount
OwnerwishlistOwner, wishlistOwnerPhotoUrl
Trip contextformattedDateRange, checkIn, checkOut, formattedGuestDetails
Guest countsadults, children, infants, pets
Listing identitylistingId, listingUrl, title, subtitle
Statusavailable, badges, noteCount, voteCount
Quality and locationrating, ratingText, latitude, longitude, bedSummary
Priceprice, priceQualifier, priceDetails when Airbnb supplies a date-aware quote
PhotosphotoIds, photoUrls, photoCaptions
AuditscrapedAt

Fields that Airbnb does not expose for a particular list or stay are omitted rather than invented.

How much does it cost to scrape an Airbnb wishlist?

This Actor uses pay-per-event pricing.

A run has a $0.005 start charge plus a charge for each saved stay exported.

Apify planPrice per saved stay
Free$0.000042338
Starter / Bronze$0.000036816
Scale / Silver$0.000028716
Business / Gold$0.000022089
Platinum$0.000014726
Diamond$0.000010308

A 37-stay wishlist costs about $0.00657 on the Free tier, including the start charge.

A 100-stay export costs about $0.00923 on the Free tier.

Your Apify Free plan includes monthly platform credits, so you can test small public lists before building a recurring workflow.

How to export a public Airbnb shared wishlist

  1. Open a public read-only Airbnb wishlist link.
  2. Copy the URL containing /wishlists/v/ or /wishlists/ and a numeric ID.
  3. Open Airbnb Shared Wishlist Scraper on Apify.
  4. Paste the link into Wishlist URLs.
  5. Keep the prefilled limit small for your first run.
  6. Click Start.
  7. Preview the saved stays in the Dataset tab.
  8. Download JSON, CSV, Excel, XML, or RSS, or consume the dataset through the API.

Minimal input:

{
"wishlistUrls": [
{
"url": "https://www.airbnb.com/wishlists/v/1276806850?s=67&unique_share_id=ed9772cd-7a8f-4b0e-b93a-a3acbe443fb6"
}
],
"maxListingsPerWishlist": 5
}

Export the complete list:

{
"wishlistUrls": [
{
"url": "https://www.airbnb.com/wishlists/v/1276806850?s=67&unique_share_id=ed9772cd-7a8f-4b0e-b93a-a3acbe443fb6"
}
],
"maxListingsPerWishlist": 0,
"includePhotos": true,
"locale": "en-US",
"currency": "USD"
}

Input parameters

ParameterTypeDefaultDescription
wishlistUrlsarrayrequiredPublic Airbnb read-only wishlist links; up to 20 per run
maxListingsPerWishlistinteger50Maximum stays per list; use 0 for all
includePhotosbooleantrueInclude contextual photo arrays
localestringen-USAirbnb response language
currencystringUSDThree-letter currency for visible quotes
debugbooleanfalseSave the first raw response to the key-value store

The Actor processes wishlist URLs sequentially to be considerate of Airbnb's public service.

One bad link is logged and skipped so another valid input can still finish.

If every input fails, the run fails explicitly instead of returning a misleading empty success.

Airbnb wishlist output example

{
"wishlistId": "1276806850",
"wishlistName": "Arrived Vacation Rentals",
"wishlistOwner": "Bret",
"wishlistItemCount": 37,
"formattedGuestDetails": "1 guest",
"adults": 1,
"listingId": "1648629443313957775",
"listingUrl": "https://www.airbnb.com/rooms/1648629443313957775",
"available": true,
"title": "Home in Broken Bow",
"subtitle": "Luxury Lodge|Mini Pickleball, Playground, Hot Tub",
"rating": 5,
"latitude": 34.13893,
"longitude": -94.75978,
"bedSummary": "9 beds",
"badges": ["Guest favorite"],
"photoIds": ["2563260400", "2563260422"],
"photoUrls": [
"https://a0.muscache.com/im/pictures/...jpeg?im_w=720"
],
"photoCaptions": ["", "9 beds Β· 6 bedrooms"],
"scrapedAt": "2026-07-15T00:00:00.000Z"
}

Photo arrays use matching positions: photoIds[0], photoUrls[0], and photoCaptions[0] describe the same image.

This shape stays practical in JSON while remaining exportable to CSV and Excel.

Tips for reliable wishlist exports

  • πŸ§ͺ Start with maxListingsPerWishlist: 5 to validate your workflow cheaply.
  • πŸ”“ Confirm the list opens in a private browser window without an Airbnb login.
  • πŸ”— Keep the complete shared URL, including its query parameters.
  • πŸ“‰ Disable includePhotos when you only need IDs, ratings, or availability comparisons.
  • 🌐 Set locale and currency consistently across scheduled snapshots.
  • πŸ—“οΈ Remember that prices may be absent when the wishlist has no saved trip dates.
  • πŸ”„ Use Apify schedules for daily or weekly monitoring instead of repeatedly starting runs by hand.
  • 🧾 Keep dataset IDs or export snapshots if you need historical comparisons.

Integrations and monitoring workflows

Airbnb wishlist β†’ Google Sheets

Export a client or group shortlist to a shared comparison sheet, then add internal scores and comments without changing the source list.

Airbnb wishlist β†’ Slack or Discord

Schedule a refresh and use a webhook automation to notify the group when saved options become unavailable.

Airbnb wishlist β†’ Make or Zapier

Create one CRM, Notion, or Airtable record per saved stay and update it by listingId on later runs.

Airbnb wishlist β†’ data warehouse

Send dataset items to BigQuery, Snowflake, S3, or another store for longitudinal price and availability analysis.

Airbnb wishlist β†’ another Actor

Feed listingUrl values into a listing-detail, reviews, or calendar Actor when your workflow needs deeper per-property data.

API usage for Airbnb Shared Wishlist Scraper

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/airbnb-shared-wishlist-scraper').call({
wishlistUrls: [{ url: 'https://www.airbnb.com/wishlists/v/1276806850' }],
maxListingsPerWishlist: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/airbnb-shared-wishlist-scraper').call(run_input={
'wishlistUrls': [{'url': 'https://www.airbnb.com/wishlists/v/1276806850'}],
'maxListingsPerWishlist': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~airbnb-shared-wishlist-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"wishlistUrls":[{"url":"https://www.airbnb.com/wishlists/v/1276806850"}],"maxListingsPerWishlist":10}'

Use waitForFinish on the API request or poll the returned run ID before reading the default dataset.

Use Airbnb wishlist data with AI agents via MCP

The Actor can be called by AI assistants through Apify's hosted Model Context Protocol integration.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/airbnb-shared-wishlist-scraper"

Claude Desktop, Cursor, or VS Code

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/airbnb-shared-wishlist-scraper"
}
}
}

Authenticate with your Apify account when prompted.

Example prompts:

  • "Use automation-lab/airbnb-shared-wishlist-scraper to export the first 20 options from this public wishlist and rank available stays by rating."
  • "Refresh these three public Airbnb wishlists and give me a CSV-ready table of listing IDs, titles, coordinates, badges, and availability."
  • "Compare today's wishlist export with yesterday's dataset and list stays whose availability changed."

This Actor accesses data that an Airbnb user has deliberately shared through a public read-only link.

Scraping public data is generally lawful, but the context and your use of the data matter.

You are responsible for complying with Airbnb's terms, applicable privacy and database laws, intellectual-property rights, and any contractual obligations.

Do not use this Actor to access private lists, bypass authentication, profile individuals, or collect personal data without a lawful purpose.

Use reasonable run frequency and retain only the data needed for your legitimate workflow.

This information is not legal advice.

Limitations

  • Only public read-only Airbnb wishlists are supported.
  • Private, deleted, expired, or login-only lists cannot be exported.
  • V1 outputs saved stays; experience or service item types may be skipped.
  • Airbnb decides which fields are visible and may omit prices without saved dates.
  • Availability and prices are snapshots that can change after extraction.
  • Airbnb can change its public client bundle or rate-limit repeated requests.
  • The Actor does not book stays, modify lists, vote, comment, or invite collaborators.
  • maxListingsPerWishlist limits the records already returned by the public list endpoint; it does not discover hidden private items.

Troubleshooting

Why did the run say the wishlist is not public?

Open the URL in a private browser window. If Airbnb asks for login or permission, create or request a public read-only share link.

Why are price fields missing?

Airbnb often returns no quote when the wishlist has no saved check-in/check-out dates. The Actor leaves absent values unset rather than fabricating a price.

Why are fewer records exported than the wishlist count?

Check maxListingsPerWishlist. A positive value caps each list, while 0 exports all stay records returned by Airbnb. Non-stay item types may also be skipped in V1.

What should I send when requesting support?

Include the run URL and public wishlist URL. You can rerun once with debug: true to save DEBUG-WISHLIST-RESPONSE in the run's key-value store.

FAQ: frequently asked questions

How fast is the Airbnb wishlist scraper?

A small list usually finishes in seconds because the Actor uses direct HTTP requests rather than a browser. Runtime depends on list size, network conditions, and Airbnb rate limits.

Do I need an Airbnb API key or account?

No. The Actor supports the anonymous public surface used by read-only shared wishlist pages.

Does this replace a general Airbnb search scraper?

No. Use this Actor when you already have a curated public wishlist. Use an Airbnb search Actor when you need to discover listings by destination, map, dates, or filters.

Can I process more than one wishlist?

Yes. Add up to 20 public links in one input. Each output row includes its source wishlist ID and URL.

Can I schedule availability monitoring?

Yes. Create an Apify schedule, store or compare prior datasets by wishlistId plus listingId, and send changes through webhooks or an automation platform.

Are all photos downloaded?

No. The Actor exports the public contextual photo URLs and captions. It does not download binary image files into storage.

Other Airbnb and travel scrapers

Expand the wishlist workflow with related Automation Lab tools:

Use wishlist export for the curated candidate set, then call deeper tools only for the shortlisted properties that matter.

Support and responsible use

For a reproducible support request, share the Apify run URL, the public wishlist link, expected item count, and one example listing that is missing or malformed.

Never include account passwords, session cookies, private invite links, or personal access tokens.

The Actor logs operation discovery, wishlist-level counts, skipped item types, and explicit failures so problems can be diagnosed without guessing.

Start with a small cap, verify the dataset, and increase the limit only after the output matches your workflow.