Apartments.com Scraper API
Search US rental listings and pull unit-level inventory — not just a property’s advertised range, but every individual rentable unit with its own rent, beds, baths, square footage and availability date. Authentication and anti-bot bypass are handled automatically.Key Features
Unit-Level Pricing
Every rentable unit with its own rent, beds, baths, sqft and availability date — not just the property’s advertised range.
Floor Plans
Each floor-plan model with its price range, bed/bath count, square footage and the units belonging to it.
Location Search
40 property cards a page, filterable by bedroom count and price. Pages
1-28.Property Detail
Name, full address with city/state/ZIP, geo coordinates, phone, amenities, office hours and photo gallery.
No JS Rendering
apartments.com is fully server-rendered, so responses come back in ~2 seconds with no browser in the path.
School Data
GreatSchools ratings, grade ranges, enrollment and whether the property is in each school’s attendance zone.
Anti-Bot Bypass
apartments.com sits behind Akamai Bot Manager. ScrapeBadger clears it automatically — no proxies or CAPTCHAs to manage.
Coverage
Single market: apartments.com (US, USD, en-US).Endpoints
Search Filters
Every filter below was verified against live result counts. Measured onkansas-city-mo (700 properties unfiltered):
apartments.com also renders a pet filter, but it returns the unfiltered total, so it is deliberately not exposed — a filter that silently does nothing is worse than no filter.
Quickstart
Finding a location slug
location is the slug apartments.com uses in its own URLs — the segment right after the domain.
Notes on the data
Availability is text, not a date
Availability is text, not a date
available_text is verbatim as rendered — "Now", "Sep 3". The site prints no year, so converting it to a timestamp would mean guessing the rollover. It is left as text deliberately.Some properties list plans without units
Some properties list plans without units
A floor plan with
units_available: 0 and valid beds/baths/rent/sqft is the site’s own layout for that property, not missing data. Those properties advertise plans rather than individual units.A school rating of null means unrated, not zero
A school rating of null means unrated, not zero
rating is the GreatSchools score out of 10. apartments.com renders no badge for schools it has no rating for, so those come back as null. They are never 0 — a 0 would mean “rated zero”, which is a different and much worse claim about a school.Search cards are summaries
Search cards are summaries
A search card carries a rent/bed rollup (
"1 Bed", "$1,559+"), not per-unit inventory. Pass the card’s url to the property endpoint for units.Do not use render_js on apartments.com
Do not use render_js on apartments.com
If you scrape apartments.com through the general Web Scraping API instead of this one, do not pass
render_js: true. The whole page is server-rendered, so JS rendering only forces the slow browser path — 100+ seconds per page, which can exceed the CDN timeout and return a 524.
