Airbnb Listing avatar

Airbnb Listing

Try for free

3 days trial then $10.00/month - No credit card required now

Go to Store
Airbnb Listing

Airbnb Listing

rigelbytes/airbnb-listing
Try for free

3 days trial then $10.00/month - No credit card required now

Extract detailed Unlimited Airbnb listing data with ease! Just input a listing URL to retrieve essential information, including property details, images, host information, ratings, and amenities. Ideal for market analysis, travel planning, and real estate insights.

Airbnb Listing Scraper

Effortlessly retrieve Unlimited Airbnb listing with this API! Just provide a listing URL, and the scraper will return comprehensive information on the property, including features, images, host details, and more. Perfect for real estate analysis, travel planning, and market insights.

πŸ“ Copy for Use:

1{
2  "airbnb_url": "https://www.airbnb.com/rooms/12345678",
3  "proxy": "Proxy URL"
4}

Input

The actor accepts the following input:

  • airbnb_url (string, required): The URL of the Airbnb listing from which to download images.

  • proxy (string, optional): The proxy URL to use for scraping. This ensures you can scrape images from multiple listings without being rate-limited.

  • Shifter

    • Reliable residential proxies all over the world.
    • Cheap rates
    • Order Shifter Now
    • Get 10% Off any product, use coupan rigelbytes-YoBB.
  • OxyLabs

    • 100M+ Proxies
    • Fastest proxies in the market
    • Real profile, human-like Residential IPs
    • Quality assurance framework for most reliable IPs
    • Get Proxies
  • Exclusive Deals: Some providers may offer special discounts or bonuses when you use our link.
  • Support Our Work: Each purchase helps us maintain and improve the tools and services we provide.
  • No Extra Cost: You pay the same price, but part of it goes to supporting our efforts.

Learn More About Proxies

Running via Apify Console

You can run this actor from the Apify Console by providing the necessary input parameters.

Running via API

You can trigger this actor using the Apify API, passing the required input in the request body.

API Request Example (Python)

1from apify_client import ApifyClient
2
3# Initialize the ApifyClient with your API token
4client = ApifyClient("<YOUR_API_TOKEN>")
5
6# Prepare the Actor input
7run_input = {
8    "airbnb_url": "https://www.airbnb.com/rooms/12345678",
9    "proxy": "http://your-proxy.com",
10}
11
12# Run the Actor and wait for it to finish
13run = client.actor("rigelbytes/airbnb-listing").call(run_input=run_input)

JavaScript

1import { ApifyClient } from 'apify-client';
2
3// Initialize the ApifyClient with your API token
4const client = new ApifyClient({
5    token: '<YOUR_API_TOKEN>',
6});
7
8// Prepare Actor input
9const input = {
10    "airbnb_url": "https://www.airbnb.com/rooms/12345678",
11    "proxy": "http://your-proxy.com",
12};
13
14(async () => {
15    // Run the Actor and wait for it to finish
16    const run = await client.actor("rigelbytes/airbnb-listing").call(input);
17
18})();

Running with cURL

1# Set API token
2API_TOKEN=<YOUR_API_TOKEN>
3
4# Prepare Actor input
5cat > input.json <<'EOF'
6{
7  "airbnb_url": "https://www.airbnb.com/rooms/12345678",
8  "proxy": "http://your-proxy.com"
9}
10EOF
11
12# Run the Actor
13curl "https://api.apify.com/v2/acts/rigelbytes/airbnb-listing/runs?token=$API_TOKEN" \
14  -X POST \
15  -d @input.json \
16  -H 'Content-Type: application/json'
  • Output

    Output
1{
2  "identifier": {
3    "format": "string",
4    "label": "Listing ID"
5  },
6  "url": {
7    "format": "link",
8    "label": "Listing URL"
9  },
10  "active": {
11    "format": "boolean",
12    "label": "Active"
13  },
14  "headline": {
15    "format": "string",
16    "label": "Headline"
17  },
18  "name": {
19    "format": "string",
20    "label": "Name"
21  },
22  "description": {
23    "format": "string",
24    "label": "Description"
25  },
26  "story": {
27    "format": "string",
28    "label": "Story"
29  },
30  "unit": {
31    "format": "object",
32    "label": "Unit",
33    "properties": {
34      "identifier": {
35        "format": "string",
36        "label": "Identifier"
37      },
38      "active": {
39        "format": "boolean",
40        "label": "Status"
41      },
42      "name": {
43        "format": "string",
44        "label": "Name"
45      },
46      "category": {
47        "format": "string",
48        "label": "Category"
49      },
50      "area": {
51        "format": "object",
52        "label": "Area",
53        "properties": {
54          "size": {
55            "format": "number",
56            "label": "Size"
57          },
58          "unit": {
59            "format": "string",
60            "label": "Unit"
61          }
62        }
63      }
64    }
65  },
66  "features": {
67    "format": "array",
68    "label": "Features",
69    "properties": {
70      "name": {
71        "format": "string",
72        "label": "Name"
73      },
74      "description": {
75        "format": "string",
76        "label": "Description"
77      }
78    }
79  },
80  "safety_features": {
81    "format": "array",
82    "label": "Safety Features",
83    "properties": {
84      "name": {
85        "format": "string",
86        "label": "Name"
87      },
88      "note": {
89        "format": "string",
90        "label": "Note"
91      }
92    }
93  },
94  "bathrooms": {
95    "format": "array",
96    "label": "Bathrooms",
97    "properties": {
98      "name": {
99        "format": "string",
100        "label": "Name"
101      },
102      "category": {
103        "format": "string",
104        "label": "Category"
105      },
106      "amenities": {
107        "format": "array",
108        "label": "Amenities",
109        "properties": {
110          "name": {
111            "format": "string",
112            "label": "Name"
113          },
114          "count": {
115            "format": "integer",
116            "label": "Count"
117          }
118        }
119      }
120    }
121  },
122  "bedrooms": {
123    "format": "array",
124    "label": "Bedrooms",
125    "properties": {
126      "name": {
127        "format": "string",
128        "label": "Name"
129      },
130      "note": {
131        "format": "string",
132        "label": "Note"
133      },
134      "category": {
135        "format": "string",
136        "label": "Category"
137      },
138      "amenities": {
139        "format": "array",
140        "label": "Amenities",
141        "properties": {
142          "name": {
143            "format": "string",
144            "label": "Name"
145          },
146          "count": {
147            "format": "integer",
148            "label": "Count"
149          }
150        }
151      }
152    }
153  },
154  "images": {
155    "format": "array",
156    "label": "Images",
157    "properties": {
158      "identifier": {
159        "format": "string",
160        "label": "Identifier"
161      },
162      "url": {
163        "format": "link",
164        "label": "Image Link"
165      },
166      "caption": {
167        "format": "string",
168        "label": "Caption"
169      }
170    }
171  },
172  "location": {
173    "format": "object",
174    "label": "Location",
175    "properties": {
176      "show_exact": {
177        "format": "boolean",
178        "label": "Show Exact"
179      },
180      "address": {
181        "format": "object",
182        "label": "Address",
183        "properties": {
184          "city": {
185            "format": "string",
186            "label": "City"
187          },
188          "primary": {
189            "format": "string",
190            "label": "Primary"
191          },
192          "secondary": {
193            "format": "string",
194            "label": "Secondary"
195          },
196          "subdivision": {
197            "format": "string",
198            "label": "State"
199          },
200          "postcode": {
201            "format": "string",
202            "label": "Postcode"
203          },
204          "country": {
205            "format": "string",
206            "label": "Country"
207          }
208        }
209      },
210      "coordinates": {
211        "format": "object",
212        "label": "Coordinates",
213        "properties": {
214          "lat": {
215            "format": "text",
216            "label": "Latitude"
217          },
218          "lng": {
219            "format": "text",
220            "label": "Longitude"
221          }
222        }
223      }
224    }
225  },
226  "supplement": {
227    "format": "object",
228    "label": "Supplement",
229    "properties": {
230      "max_guests": {
231        "format": "integer",
232        "label": "Max Guests"
233      },
234      "max_sleeps": {
235        "format": "integer",
236        "label": "Max Sleeps"
237      },
238      "allows_children": {
239        "format": "boolean",
240        "label": "Allows Children"
241      },
242      "allows_pets": {
243        "format": "boolean",
244        "label": "Allows Pet"
245      },
246      "allows_events": {
247        "format": "boolean",
248        "label": "Allows Events"
249      },
250      "cancellation_policy": {
251        "format": "string",
252        "label": "Cancellation Policy"
253      }
254    }
255  },
256  "host": {
257    "format": "object",
258    "label": "Host",
259    "properties": {
260      "host": {
261        "format": "object",
262        "label": "Host",
263        "properties": {
264          "name": {
265            "format": "string",
266            "label": "Name"
267          },
268          "profilePictureUrl": {
269            "format": "link",
270            "label": "Profile Picture"
271          }
272        }
273      },
274      "title": {
275        "format": "string",
276        "label": "Title"
277      },
278      "superhost": {
279        "format": "boolean",
280        "label": "Superhost"
281      },
282      "verified": {
283        "format": "boolean",
284        "label": "Verified"
285      },
286      "host_details": {
287        "format": "array",
288        "label": "Host Details"
289      },
290      "stats": {
291        "format": "array",
292        "label": "Stats",
293        "properties": {
294          "label": {
295            "format": "string",
296            "label": "Label"
297          },
298          "value": {
299            "format": "string",
300            "label": "Value"
301          },
302          "type": {
303            "format": "string",
304            "label": "Type"
305          }
306        }
307      },
308      "host_highlights": {
309        "format": "array",
310        "label": "Host Highlights",
311        "properties": {
312          "title": {
313            "format": "string",
314            "label": "Title"
315          }
316        }
317      },
318      "co_hosts": {
319        "format": "array",
320        "label": "Co-Hosts",
321        "properties": {
322          "name": {
323            "format": "string",
324            "label": "Name"
325          },
326          "profilePictureUrl": {
327            "format": "link",
328            "label": "Profile Picture"
329          }
330        }
331      }
332    }
333  },
334  "rating": {
335    "format": "object",
336    "label": "Rating",
337    "properties": {
338      "total_reviews": {
339        "format": "integer",
340        "label": "Total Reviews"
341      },
342      "overall_rating": {
343        "format": "number",
344        "label": "Overall Rating"
345      },
346      "ratings": {
347        "format": "array",
348        "label": "Rating Breakdown",
349        "properties": {
350          "categoryType": {
351            "format": "string",
352            "label": "Category"
353          },
354          "label": {
355            "format": "string",
356            "label": "Label"
357          },
358          "percentage": {
359            "format": "number",
360            "label": "Percentage"
361          }
362        }
363      }
364    }
365  }
366}

Understanding Proxies:

When scraping data or browsing anonymously, proxies are essential. They act as intermediaries, masking your original IP address and allowing you to send requests from another location.

Why Use Proxies?

  • Avoid IP Blocks: By routing requests through proxies, you prevent the target website from recognizing your IP as a scraper or spammer.
  • Access Geo-restricted Content: Proxies let you access content or websites restricted by location.
  • Enhance Anonymity: Hide your actual IP, ensuring privacy while scraping or browsing.

Types of Proxies

  1. Residential Proxies
    • Real IP addresses provided by ISPs to home users.
    • They mimic regular users, making them harder to detect.
    • Best for: Long-term, undetectable scraping, and avoiding blocks.
  2. Data Center Proxies
    • IP addresses from servers in data centers.
    • Faster and cheaper than residential proxies but easier to detect and block.
    • Best for: High-speed scraping, but with a higher risk of detection.
  3. Mobile Proxies
    • IPs provided by mobile carriers (3G/4G/5G networks).
    • Very difficult to detect, as they appear as regular mobile users.
    • Best for: Mobile-related scraping or avoiding sophisticated blocks.

Rotating Proxies vs. Straight Proxies

  • Rotating Proxies: Every request you send goes through a different proxy, making it harder for websites to detect patterns.
  • Straight Proxies: All requests are sent through the same proxy, making it easier to track your IP.

About Rigel Bytes

Rigel Bytes specializes in web scraping, automation, and data analytics. We help businesses extract and leverage valuable data for informed decision-making.

Contact Us

Ready to unlock the power of data? Reach out to us at (contact@rigelbytes.com) or book an appointment with us to learn more about how we can help you achieve your data goals.

Developer
Maintained by Community

Actor Metrics

  • 3 monthly users

  • 0 No stars yet

  • >99% runs succeeded

  • Created in Oct 2024

  • Modified 2 months ago