Apartments.com Scraper 🏡 avatar
Apartments.com Scraper 🏡
Try for free

7 days trial then $30.00/month - No credit card required now

View all Actors
Apartments.com Scraper 🏡

Apartments.com Scraper 🏡

epctex/apartments-scraper
Try for free

7 days trial then $30.00/month - No credit card required now

Scrape Apartments.com to crawl millions of real estate properties nationwide. Specify any US location and extract data on all available properties in that area. Our real estate scraper lets you filter and limit the results by page or total number. You can also target a specific property or area.

Actor - Apartments Scraper

Apartments scraper

Since Apartments doesn't provide a proper free API, this actor should help you to retrieve data from it.

The Apartments data scraper supports the following features:

  • Scrape any address you would like to get - You can search for a specific location and scrape the results accordingly.

  • Apply any of the filters - You can apply any filter provided by the website.

  • Scrape property details - You can target any of the property detail links.

  • Limit the results by page or amount of property. - If you don't want to get all the results but a specific amount you can limit it.

Bugs, fixes, updates, and changelog

This scraper is under active development. If you have any feature requests you can create an issue from here.

Incoming Changes

  • Integrate startPage field.

Input Parameters

The input of this scraper should be JSON containing the list of pages on Apartments that should be visited. Possible fields are:

FieldTypeDescription
startUrlsArray(optional) List of Apartments URLs. You should only provide list or property detail URLs
includeAllImagesBooleanThis option enables all images from the detail pages. This option will increase the total requests and the total execution time slightly.
includeVirtualToursBooleanThis option enables virtual tours from the detail pages. This option will increase the total requests and the total execution time slightly.
maxItemsInteger(optional) You can limit scraped properties. This should be useful when you search through the big lists.
endPageInteger(optional) Final number of pages that you want to scrape. The default is Infinite.
searchString(optional) Location keyword that you would like to search the properties in.
proxyObjectProxy configuration
extendOutputFunctionString(optional) Function that takes a JQuery handle ($) as argument and returns object with data

This solution requires the use of Proxy servers, either your own proxy servers or you can use Apify Proxy.

Tip

When you want to scrape over a specific listing URL, just copy and paste the link as one of the startUrl.

If you would like to scrape only the first page of a list then put the link for the page and have the endPage as 1.

With the last approach explained above you can also apply any of the filters to the search results. Go to Apartments.com, search for a location, apply filters, and copy/paste the link as startUrl.

Compute Unit Consumption

The actor is optimized to run blazing fast and scrape many as listings as possible. Therefore, it forefronts all listing detail requests. If the actor doesn't block very often it'll scrape 100 listings in 1 minute with ~0.03-0.04 compute units.

Apartments Scraper Input example

1{
2    "startUrls": [
3        "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/",
4        "https://www.apartments.com/apartments/miami-fl/student-housing/",
5        "https://www.apartments.com/?sk=544b92fe1f766950d57299dc624e9ff9&bb=0nijpwq7qH0t1s0oB"
6    ],
7    "search": "new york",
8    "proxy": {
9        "useApifyProxy": true
10    },
11    "endPage": 1,
12    "maxItems": 100
13}

During the Run

During the run, the actor will output messages letting you know what is going on. Each message always contains a short label specifying which page from the provided list is currently specified. When items are loaded from the page, you should see a message about this event with a loaded item count and total item count for each page.

If you provide incorrect input to the actor, it will immediately stop with a failure state and output an explanation of what is wrong.

Apartments Export

During the run, the actor stores results into a dataset. Each item is a separate item in the dataset.

You can manage the results in any language (Python, PHP, Node JS/NPM). See the FAQ or our API reference to learn more about getting results from this Apartments actor.

Scraped Apartments Properties

The structure of each item in Apartments listings looks like this:

###Property Output

1{
2  "id": "26xc7jb",
3  "propertyName": "SoBe Apartment Rentals",
4  "url": "https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb",
5  "breadcrumbs": [
6    "Home",
7    "Florida",
8    "Miami Beach",
9    "SoBe Apartment Rentals"
10  ],
11  "location": {
12    "fullAddress": "907-911 Euclid Ave Miami Beach FL 33139",
13    "state": "Florida",
14    "city": "Miami Beach",
15    "neighborhood": "Flamingo",
16    "postalCode": "33139",
17    "streedAddress": "907-911 Euclid Ave"
18  },
19  "coordinates": {
20    "latitude": 25.77973,
21    "longitude": -80.13479
22  },
23  "rating": null,
24  "isVerified": true,
25  "rent": {
26    "min": 1100,
27    "max": 1750
28  },
29  "beds": "Studio - 2 bd",
30  "baths": "1 - 2 ba",
31  "sqft": "550 - 1,250 sq ft",
32  "transitAndPOI": [
33    {
34      "name": "Strip Center at 915-943 Washington Ave",
35      "drive": "3 min",
36      "distance": "0.1 mi"
37    },
38    {
39      "name": "Strip Center at 124 11th St",
40      "drive": "8 min",
41      "distance": "0.4 mi"
42    },
43    {
44      "name": "Strip Center at 901-917 Alton Rd",
45      "drive": "8 min",
46      "distance": "0.4 mi"
47    },
48    {
49      "name": "Jungle Island",
50      "drive": "8 min",
51      "distance": "3.4 mi"
52    },
53    {
54      "name": "Miami Children's Museum",
55      "drive": "9 min",
56      "distance": "3.9 mi"
57    },
58    {
59      "name": "Miami Seaquarium",
60      "drive": "22 min",
61      "distance": "11.2 mi"
62    },
63    {
64      "name": "Virginia Key Beach and Park",
65      "drive": "23 min",
66      "distance": "11.4 mi"
67    }
68  ],
69  "scores": {
70    "walkScore": 95,
71    "transitScore": 53
72  },
73  "neighborhoodDescription": "Flamingo, also known as Flamingo/Lummus, is a vibrant neighborhood situated right in the heart of South Beach. Residents enjoy easy beach access along with plenty of exceptional restaurants, bars, museums, art galleries, shops, and the famous Art Deco Historic District. Flamingo is also adjacent to fantastic shopping on Lincoln Road.\n                        Aside from its many exciting metropolitan amenities, Flamingo offers two lush parks for residents and visitors alike to enjoy—Flamingo Park and Lummus Park. Flamingo’s prime location sits within countless additional attractions in the rest of Miami Beach as well as Downtown Miami, Brickell, and Wynwood. Getting around from Flamingo is simple with convenience to the MacArthur Causeway and I-195.\n                \n                \n                    Learn More About Flamingo",
74  "schools": {
75    "public": [
76      {
77        "type": "Public Elementary & Middle School",
78        "name": "Fienberg/Fisher K-8 Center",
79        "grades": "PK-8",
80        "numberOfStudents": "869"
81      },
82      {
83        "type": "Public Middle School",
84        "name": "Nautilus Middle School",
85        "grades": "6-8",
86        "numberOfStudents": "1,032"
87      },
88      {
89        "type": "Public High School",
90        "name": "Miami Beach Senior High School",
91        "grades": "9-12",
92        "numberOfStudents": "2,340"
93      }
94    ],
95    "private": [
96      {
97        "type": "Private Elementary, Middle & High School",
98        "name": "Landow Yeshiva Center",
99        "grades": "PK-12",
100        "numberOfStudents": ""
101      },
102      {
103        "type": "Private Middle & High School",
104        "name": "Congregation Beth Medrash Levi",
105        "grades": "7-12",
106        "numberOfStudents": "90"
107      }
108    ],
109    "colleges": [
110      {
111        "name": "AI Miami International University of Art and Design",
112        "drive": "AI Miami International University of Art and Design",
113        "distance": "4.6 mi"
114      },
115      {
116        "name": "Miami Dade College",
117        "drive": "Miami Dade College",
118        "distance": "5.4 mi"
119      },
120      {
121        "name": "University of Miami",
122        "drive": "University of Miami",
123        "distance": "11.5 mi"
124      }
125    ]
126  },
127  "fees": [
128    {
129      "title": "Pet Policies (Pets Negotiable)",
130      "policies": [
131        {
132          "header": "Dogs Allowed",
133          "values": [
134            {
135              "key": "Weight limit",
136              "value": "40 lb"
137            },
138            {
139              "key": "Pet interview",
140              "value": "Not required"
141            },
142            {
143              "key": "Spayed/Neutered",
144              "value": "Not required"
145            },
146            {
147              "key": "Declawed",
148              "value": "Not required"
149            },
150            {
151              "key": "One time Fee",
152              "value": "$250"
153            }
154          ]
155        },
156        {
157          "header": "Cats Allowed",
158          "values": [
159            {
160              "key": "Pet interview",
161              "value": "Not required"
162            },
163            {
164              "key": "Spayed/Neutered",
165              "value": "Not required"
166            },
167            {
168              "key": "Declawed",
169              "value": "Required"
170            },
171            {
172              "key": "One time Fee",
173              "value": "$250"
174            }
175          ]
176        }
177      ]
178    },
179    {
180      "title": "Fees",
181      "policies": [
182        {
183          "header": "Parking",
184          "values": [
185            {
186              "key": "Street",
187              "value": ""
188            }
189          ]
190        },
191        {
192          "header": "Other Fees",
193          "values": [
194            {
195              "key": "Application Fee",
196              "value": "$100"
197            }
198          ]
199        }
200      ]
201    },
202    {
203      "title": "Details",
204      "policies": [
205        {
206          "header": "Utilities Included",
207          "values": [
208            {
209              "key": "Gas",
210              "value": ""
211            },
212            {
213              "key": "Water",
214              "value": ""
215            },
216            {
217              "key": "Trash Removal",
218              "value": ""
219            },
220            {
221              "key": "Sewer",
222              "value": ""
223            }
224          ]
225        },
226        {
227          "header": "Property Information",
228          "values": [
229            {
230              "key": "Built in 1936",
231              "value": ""
232            },
233            {
234              "key": "16 units/2 stories",
235              "value": ""
236            },
237            {
238              "key": "Furnished",
239              "value": ""
240            }
241          ]
242        }
243      ]
244    }
245  ],
246  "description": "About SoBe Apartment Rentals\n                        Welcome to South Beach Rental Apartments, where you can find an affordable luxury apartment. Our leasing specialists will show you a variety of apartments in your price range. We have full service buildings with full service amenities. We accept pets. We will work with all credit situations. Let South Beach Rental Apartments find your new home and make your move a more pleasurable experience. *Prices Subject to Change Based on Availability*\n\n                SoBe Apartment Rentals is an apartment located in Miami/Dade County, the 33139 ZIP Code, and the Miami-Dade attendance zone.",
247  "amenities": [
248    {
249      "title": "Community Amenities",
250      "value": [
251        "Pool",
252        "Fitness Center",
253        "Laundry Facilities",
254        "Furnished Units Available",
255        "Laundry Facilities",
256        "Maintenance on site",
257        "Furnished Units Available",
258        "Elevator",
259        "Fitness Center",
260        "Pool",
261        "Gated",
262        "Sundeck",
263        "Grill",
264        "Picnic Area"
265      ]
266    },
267    {
268      "title": "Apartment Features",
269      "value": [
270        "Air Conditioning",
271        "Dishwasher",
272        "High Speed Internet Access",
273        "Hardwood Floors",
274        "High Speed Internet Access",
275        "Air Conditioning",
276        "Heating",
277        "Ceiling Fans",
278        "Tub/Shower",
279        "Dishwasher",
280        "Kitchen",
281        "Range",
282        "Refrigerator",
283        "Hardwood Floors",
284        "Tile Floors",
285        "Den",
286        "Walk-In Closets",
287        "Balcony",
288        "Yard",
289        "Garden"
290      ]
291    }
292  ],
293  "contact": {
294    "phone": "+1-786-623-5446",
295    "logo": "https://images1.apartments.com/i2/MzLghRW57B06n9LwsCwa86cNW9bM-0BifS3NxF7_nxs/115/renters-paradise-realty-inc-logo.jpg",
296    "name": ""
297  },
298  "models": [
299    {
300      "modelName": "Studio",
301      "rentLabel": "$1,100 – $1,200",
302      "details": [
303        "Studio",
304        "1 bath",
305        "550 sq ft",
306        "$1,200 deposit"
307      ],
308      "leaseOptions": "$1,200 deposit",
309      "availability": "1 Available unit",
310      "units": [
311        {
312          "type": "Unit 10",
313          "price": "$1,100",
314          "sqft": "550",
315          "availability": "Soon"
316        }
317      ]
318    },
319    {
320      "modelName": "1 Bed/1 Bath",
321      "rentLabel": "$1,200 – $1,300",
322      "details": [
323        "1 bed",
324        "1 bath",
325        "685 – 875 sq ft",
326        "12 Month Lease",
327        "Available Soon"
328      ],
329      "leaseOptions": "12 Month Lease,\n\t\t\t\t\t\t\t\tAvailable Soon",
330      "availability": "",
331      "units": []
332    },
333    {
334      "modelName": "1 Bed/1 Bath",
335      "rentLabel": "$1,300",
336      "details": [
337        "1 bed",
338        "1 bath",
339        "700 sq ft",
340        "$1,300 deposit"
341      ],
342      "leaseOptions": "$1,300 deposit",
343      "availability": "1 Available unit",
344      "units": [
345        {
346          "type": "Unit 9",
347          "price": "$1,300",
348          "sqft": "700",
349          "availability": "Soon"
350        }
351      ]
352    },
353    {
354      "modelName": "2 Bed/2 Bath",
355      "rentLabel": "$1,600 – $1,750",
356      "details": [
357        "2 beds",
358        "2 baths",
359        "1,100 – 1,250 sq ft",
360        "12 Month Lease",
361        "Available Soon"
362      ],
363      "leaseOptions": "12 Month Lease,\n\t\t\t\t\t\t\t\tAvailable Soon",
364      "availability": "",
365      "units": []
366    }
367  ],
368  "scrapedAt": "2021-11-27T12:04:06.752Z",
369  "photos": [
370    "https://images1.apartments.com/i2/cS0Cu8ytY9zn8aI0V3DcsPiSca-7KgPPd-tOowXs5Uw/111/sobe-apartment-rentals-miami-beach-fl-primary-photo.jpg?p=1",
371    "https://images1.apartments.com/m2/ogrZ5C9tUeyJJw1Rg_NLfNm3O6sorfEMC1OyLLDgLko/H330W495/sobe-apartment-rentals-miami-beach-fl-map-image-of-the-property.jpg?p=1",
372    "https://images1.apartments.com/i2/xhlEsuSaTc0Oc7ZA8jNyLrpMwmkgkgE3jW9WzfJJ0bM/117/sobe-apartment-rentals-miami-beach-fl-building.jpg?p=1",
373    "https://images1.apartments.com/i2/PGbG-MlQgqD0TytUnv7fuU0nlSDJJqx8_-MoePj0CcA/117/sobe-apartment-rentals-miami-beach-fl-bedroom.jpg?p=1",
374    "https://images1.apartments.com/i2/DG2gCa0vZy9JTfjuvPmv23hFqCIVh-iEYiQyd5vxpx8/117/sobe-apartment-rentals-miami-beach-fl-bedroom.jpg?p=1"
375  ]
376}

Contact

Please visit us through epctex.com to see all the products that are available for you. If you are looking for any custom integration or so, please reach out to us through the chat box in epctex.com. In need of support? devops@epctex.com is at your service.

Developer
Maintained by Community
Actor metrics
  • 37 monthly users
  • 100.0% runs succeeded
  • 0.1 days response time
  • Created in Mar 2021
  • Modified about 7 hours ago