Apartments

Apartments API endpoints

Apartments logo

Available Apartments Endpoints

Explore 29 endpoints for accessing Apartments real estate data. Each endpoint is designed for a specific use case and returns structured JSON.

GET/details/byid

/details/byid

INPUT: `listingKey` (e.g. `B22w35`) Get the **full property record** by apartments.com listing key — the fastest details endpoint. ##### Where to find a listingKey: - Returned as `listingKey` in every `/search/*` response. - Trailing segment of a listing URL: `https://www.apartments.com/the-victor-by-windsor-boston-ma/B22w35/` → `B22w35`. If you only have an address or URL, use [/details/byaddress](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=detailsbyaddress) or [/details/byurl](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=detailsbyurl) instead — both resolve to a listing key internally.

listingKey
View endpoint
GET/details/byurl

/details/byurl

Get the **full property record** by an apartments.com **listing URL**. The trailing path segment of an apartments.com listing URL is the listing key — we extract it and forward to [/details/byid](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=detailsbyid). **URL forms accepted**: - `https://www.apartments.com/<property-slug>/<listingKey>/` - `https://www.apartments.com/<property-slug-city-state>/<listingKey>/`

url
View endpoint
GET/details/byaddress

/details/byaddress

Get the **full property record** by **street address**. Internally this hits apartments.com's typeahead with the address, picks the property-type match, and uses its geo id to fetch the matching placard — same path the mobile app takes when a user taps an address suggestion. **Note**: apartments.com only knows about properties they have an active listing for. If the address is a single-family home the property owner hasn't listed, this endpoint returns an empty result.

address
View endpoint
GET/autocomplete

/autocomplete

Apartments.com **search-box autocomplete** — the same typeahead the mobile app uses. Returns ranked suggestions across cities, ZIPs, neighborhoods, counties, submarkets, buildings, streets, and addresses — each with a region `id`, `typeCode`, `displayText`, centroid `(lat, lon)`, and bounding `box`. Feed the `id` + `typeCode` into [/search/byregionid](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=searchbyregionid) to reproduce the exact search the app fires after a user picks an autocomplete suggestion.

term
View endpoint
GET/search/bylocation

/search/bylocation

Search apartments.com rentals by **free-text location** — city, ZIP, neighborhood, county, submarket, or address. The location string is resolved through apartments.com's autocomplete and the matched region's bounding box is used for the search area — so a query of `Brooklyn, NY` searches the entire borough rather than treating it as a keyword. Returns paginated listings with `listingKey`, address, photos, rent (or rent range for multi-unit buildings), beds/baths/sqft, available units, listing dates, amenities, ratings, and the management/contact block. Supports the **full filter set** below (rent / beds / baths / sqft ranges, property types, sort, amenities, specialties, deal filters, rating threshold, move-in date window, pet policy, keywords).

location
View endpoint
GET/search/byzip

/search/byzip

Search apartments.com rentals by **5-digit US ZIP code**. Same response shape and filter set as [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=searchbylocation) — only the location-block param changes.

zipCode
View endpoint
GET/search/bycoordinates

/search/bycoordinates

Search apartments.com rentals by **latitude + longitude + radius (miles)**. Use this when you have map coordinates rather than a city/ZIP — the request is sent to apartments.com as a circle around the centroid. Same response shape and filter set as [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=searchbylocation).

latitudelongitude
View endpoint
GET/search/bypolygon

/search/bypolygon

Search apartments.com rentals inside a **polygon**. The polygon's bounding box is sent to apartments.com's BFF, then results are post-filtered with a precise point-in-polygon test on each listing's centroid — so the returned list matches the polygon you passed (not just its bounding box). Same response shape and filter set as [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=searchbylocation).

polygon
View endpoint
GET/search/byurl

/search/byurl

Paste an apartments.com **search results URL** and we replicate the search. The URL's path segments (city-state slug, property-type, bedroom count, price cap) are parsed and translated to the equivalent search params, then forwarded to [/search/bylocation](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=searchbylocation). Any of the optional filters below override what the URL implies. Same response shape as the other search endpoints.

url
View endpoint
GET/search/byregionid

/search/byregionid

Search by apartments.com **region id** — the same `id` + `typeCode` returned by [/autocomplete](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=autocomplete). This reproduces the **exact** search the app fires after a user picks a typeahead suggestion — apartments.com matches the region by its internal id rather than re-resolving a string, so this is the most precise location-search variant when you've already gone through autocomplete. If you only have the `id`, pass `displayText` (the autocomplete row's `displayText`) and we'll re-resolve the missing fields. If you have all four (`id`, `typeCode`, `box`, centroid) from autocomplete, pass them through verbatim for the fastest path.

geographyId
View endpoint
GET/details/info

/details/info

INPUT: `listingKey` (e.g. `B22w35`) Returns the **core property record** — name, address, coordinates, property type, year built, total units, building photo URLs, headline rent range, and the building-level description.

listingKey
View endpoint
GET/details/amenities

/details/amenities

INPUT: `listingKey` (e.g. `B22w35`) Returns the **amenities** list for a property — both unit-level features (in-unit washer/dryer, dishwasher, hardwood, etc.) and building-level features (gym, pool, doorman, controlled access, etc.).

listingKey
View endpoint
GET/details/availabilities

/details/availabilities

INPUT: `listingKey` (e.g. `B22w35`) Returns the **available units** at the property — each unit's beds, baths, square footage, asking rent, available-from date, and floor plan label. This is the most-fetched sub-block for users tracking listings — it changes daily.

listingKey
View endpoint
GET/details/schools

/details/schools

INPUT: `listingKey` (e.g. `B22w35`) Returns the **assigned schools** for the property — elementary, middle, and high — with name, distance, ratings, grade range, and student counts.

listingKey
View endpoint
GET/details/transits

/details/transits

INPUT: `listingKey` (e.g. `B22w35`) Returns nearby **transit stops** — subway, light rail, commuter rail, and bus — with line, stop name, distance from the property, and walking time.

listingKey
View endpoint
GET/details/officehours

/details/officehours

INPUT: `listingKey` (e.g. `B22w35`) Returns the leasing office's **hours of operation** for each day of the week, plus contact phone.

listingKey
View endpoint
GET/details/petpolicy

/details/petpolicy

INPUT: `listingKey` (e.g. `B22w35`) Returns the property's **pet policy** — whether dogs / cats / other pets are allowed, weight limits, breed restrictions, monthly pet rent, and one-time pet deposits.

listingKey
View endpoint
GET/details/parkingpolicy

/details/parkingpolicy

INPUT: `listingKey` (e.g. `B22w35`) Returns the property's **parking policy** — covered / uncovered / garage availability, monthly parking fees, and EV charging availability.

listingKey
View endpoint
GET/details/leaseterms

/details/leaseterms

INPUT: `listingKey` (e.g. `B22w35`) Returns the property's **lease term options** — minimum / maximum lease length, short-term availability, and corporate housing eligibility.

listingKey
View endpoint
GET/details/management

/details/management

INPUT: `listingKey` (e.g. `B22w35`) Returns the **property management** block — management company name, contact phone / email, leasing office address, and the listing-advertiser metadata.

listingKey
View endpoint
GET/details/expenses

/details/expenses

INPUT: `listingKey` (e.g. `B22w35`) Returns the property's **monthly expense estimate** — utilities (water, gas, electric, trash) breakdown and average total monthly cost beyond rent.

listingKey
View endpoint
GET/details/photos

/details/photos

INPUT: `listingKey` (e.g. `B22w35`) Returns the **photo gallery** — full-resolution URLs for every property photo (exterior, interior, common areas, floor plans), in display order.

listingKey
View endpoint
GET/details/attachments

/details/attachments

INPUT: `listingKey` (e.g. `B22w35`) Returns **attached documents** — floor plan PDFs, brochures, application packets, lease previews, and any other PDFs the property has uploaded.

listingKey
View endpoint
GET/details/walkscore

/details/walkscore

INPUT: `listingKey` (e.g. `B22w35`) Returns the **Walk / Transit / Bike scores** for the property's location — sourced from Walk Score's API and surfaced on the apartments.com listing page.

listingKey
View endpoint
GET/details/fees

/details/fees

INPUT: `listingKey` (e.g. `B22w35`) Returns one-time and recurring **fees** charged at the property — application fee, security deposit, admin fee, broker fee, amenity fee, and any other line items.

listingKey
View endpoint
GET/details/rentalcosts

/details/rentalcosts

INPUT: `listingKey` (e.g. `B22w35`) Returns the **all-in monthly cost estimate** — base rent + estimated utilities + recurring fees + parking + pet rent — broken out by line item.

listingKey
View endpoint
GET/details/similar

/details/similar

INPUT: `listingKey` (e.g. `B22w35`) Returns **similar listings** — apartments.com's recommended alternatives based on neighborhood, price band, and bedroom count. Each entry is a full placard ready to feed back into [/details/byid](https://realtyapi.io/dashboard?tab=playground&api=apartments&endpoint=detailsbyid).

listingKey
View endpoint
GET/details/reviews

/details/reviews

INPUT: `listingKey` (e.g. `B22w35`) Returns **resident reviews** — overall star rating, sub-ratings (location, value, noise, amenities, etc.), and individual review text with author + date.

listingKey
View endpoint
GET/rental/trends

/rental/trends

**Rental market trends** — scrapes apartments.com's `rent-market-trends/<scope>/` page for monthly rent indices and historical change. Returns nationwide / state / city averages with **studio**, **1BR**, **2BR**, **3BR** rent breakdowns, plus the underlying market table (which states the requested scope ranks against). ##### Scope options Pass **one** of: - `scope` — the URL slug verbatim (e.g. `us`, `ny`, `new-york-ny`). Use this for non-state, non-city pages. - `state` — 2-letter state code (e.g. `ny`, `ca`, `tx`). Maps to `/rent-market-trends/<state>/`. - `city` — full city slug (e.g. `new-york-ny`, `austin-tx`). Maps to `/rent-market-trends/<city>/`. **Default**: `scope=us` (nationwide trends). ##### Notes - This is the only apartments.com endpoint that hits the **public web** (not the mobile-app API). It uses a residential proxy and warmed bot-cookies — first call may take 5–10s. - Page layout changes occasionally; if a field is missing in the response, apartments.com may have rolled out a new layout.

View endpoint

Why Choose RealtyAPI for Apartments Data

We built RealtyAPI so developers can focus on their products, not on data collection infrastructure.

Real-Time Data Access

Get the most current Apartments data without dealing with rate limits, IP blocks, or anti-bot protections. Our infrastructure handles the heavy lifting.

Simple Integration

Clear documentation and a straightforward REST API make it easy to start pulling Apartments data into your application within minutes.

High Reliability

Our infrastructure is built for uptime and performance. Rely on consistent, uninterrupted access to Apartments data for your production applications.

Comprehensive Data

Access a wide range of Apartments data points through carefully designed endpoints that cover properties, listings, agents, and market metrics.

Lightning Fast Responses

Optimized data pipelines deliver Apartments results in milliseconds. Low latency means a better experience for your end users.

Structured JSON Output

Every Apartments endpoint returns clean, well-structured JSON that is ready to parse and use directly in your application logic.

Apartments API Use Cases

From property valuation to market analysis, the Apartments powers a wide range of real estate applications.

Property Valuation

Analyze Apartments property data to determine accurate market values, estimate appreciation, and identify undervalued investment opportunities.

Market Research

Track Apartments listing trends, pricing shifts, and inventory changes to make informed, data-driven investment and development decisions.

Portfolio Management

Monitor your real estate portfolio with live Apartments data. Track current values, rental comps, and market conditions in one place.

Lead Generation

Identify high-potential properties and neighborhoods using Apartments data to power targeted outreach and marketing campaigns.

Competitive Analysis

Compare listings, pricing, and agent activity across Apartments to understand market positioning and stay ahead of competition.

Custom Dashboards

Build real-time dashboards that aggregate Apartments data for internal teams, clients, or investors with always-current information.

Frequently Asked Questions

Common questions about using the Apartments through RealtyAPI.

Is the Apartments API official?
No, RealtyAPI provides an unofficial Apartments data API that lets you access real estate data through our platform. We handle the complexities of data collection so you can focus on building your application.
How current is the data?
We provide real-time Apartments data. When you make a request, we fetch the latest information available so your application always works with up-to-date figures.
Can I use this API in production?
Absolutely. Many businesses rely on RealtyAPI for their production applications. Our infrastructure is designed for reliability, low latency, and high throughput.
What response format does the API use?
All endpoints return structured JSON responses. The data is clean, well-documented, and ready to use directly in your application without additional parsing.
Do I need a credit card to get started?
No. You can start with 250 free API calls to test any endpoint. No credit card is required. Upgrade to a paid plan when you are ready to scale.
What programming languages are supported?
RealtyAPI is a standard REST API, so it works with any language that can make HTTP requests: Python, JavaScript, Go, PHP, Ruby, Java, C#, and more.

Ready to Access Apartments Data?

Get started with 250 free API calls. No credit card required.

Common Terms for Apartments API Access

Apartments API integrationApartments data APIAccess Apartments data programmaticallyApartments API for developersApartments API endpointApartments API documentationHow to use Apartments APIApartments real estate APIApartments property data APIApartments listing API