apartments.com APIapartments.com ↗
Search apartment listings, get unit-level pricing and amenities, and look up properties by management company via the Apartments.com API.
curl -X GET 'https://api.parse.bot/scraper/623cb755-df0e-49e0-ae8b-63558585a1c2/search_properties?query=New+York%2C+NY' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for apartment listings by city, region, or coordinates with advanced filters. Returns up to 40 properties per page. Either query or lat+lng must be provided.
| Param | Type | Description |
|---|---|---|
| lat | number | Latitude for coordinate-based search. Must be provided together with lng. |
| lng | number | Longitude for coordinate-based search. Must be provided together with lat. |
| page | integer | Page number for pagination. |
| query | string | Location search query (e.g., 'New York, NY', 'Sunnyvale, CA'). Either query or lat+lng required. |
| radius | number | Search radius in miles when using lat/lng search. |
| max_beds | integer | Maximum number of bedrooms. |
| max_rent | integer | Maximum monthly rent filter. |
| min_beds | integer | Minimum number of bedrooms. |
| min_rent | integer | Minimum monthly rent filter. |
| min_sqft | integer | Minimum square footage. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"properties": "array of property objects with listing_id, property_id, url, name, address, price_range, beds, phone",
"total_count": "integer total number of matching listings",
"next_page_url": "string URL of the next page or null if no more pages"
},
"sample": {
"data": {
"page": 1,
"properties": [
{
"url": "https://www.apartments.com/10-halletts-point-astoria-ny/1j2c5h6/",
"name": "10 Halletts Point, Astoria, NY",
"phone": "+1 (555) 012-3456",
"address": "10, 20, 30 Halletts Pt, Astoria, NY 11102",
"listing_id": "1j2c5h6",
"property_id": null
}
],
"total_count": 700,
"next_page_url": "https://www.apartments.com/new-york-ny/2/"
},
"status": "success"
}
}About the apartments.com API
The Apartments.com API exposes 3 endpoints covering listing search, property details, and management company lookup across thousands of rental properties. Use search_properties to query by city name or lat/lng coordinates with bedroom and rent filters, get_property_details to retrieve unit-level floorplans, amenities, photos, and resident reviews for a specific listing, and get_management_companies to find all properties operated by a named company in a given market.
Search and Filter Listings
The search_properties endpoint accepts either a text query (e.g., "Austin, TX") or a lat/lng pair with an optional radius in miles. Results return up to 40 properties per page, each object carrying listing_id, property_id, name, address, price_range, beds, phone, and a direct url. Pagination is handled via the page parameter; the response also includes total_count and a next_page_url field so you can walk through large result sets programmatically. Narrow results further with min_beds, max_beds, and max_rent filters.
Property Detail Data
get_property_details takes a full property URL and returns a structured object with an array of units, each containing floorplan, unit_number, price, max_rent, sqft, availability, beds, and baths. Beyond unit data, the response includes amenities (array of strings), pet_policy, a photos array of image URLs, neighborhood, and a reviews array where each entry has title, rating, text, and date. This makes it possible to surface resident sentiment alongside pricing in a single call.
Management Company Lookup
get_management_companies accepts a company_name (e.g., "Greystar" or "Bozzuto") and an optional market string. When market is omitted, the search covers the entire US. The response mirrors the structure of the search endpoint — a properties array with the same listing fields — plus total_count and the echoed company_name and market values. This is useful for portfolio analysis, competitive research, or tracking which markets a specific operator is active in.
- Aggregate current rent ranges by neighborhood using
search_propertieswith coordinate-based queries across a metro area. - Build a unit availability tracker that polls
get_property_detailsand alerts when a specific floorplan opens or changes price. - Map management company footprints by calling
get_management_companiesfor major operators across multiple markets. - Compare
reviewsratings across competing properties in the same ZIP code to surface resident satisfaction signals. - Populate a relocation tool with
amenities,pet_policy, andphotospulled fromget_property_details. - Estimate market-rate rents for a given bedroom count by filtering
search_propertiesresults withmin_bedsandmax_beds. - Monitor portfolio concentration by tracking how many listings a company holds per
marketviaget_management_companies.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Apartments.com have an official developer API?+
How does pagination work in `search_properties`?+
total_count integer and a next_page_url string. Pass the page parameter to retrieve subsequent pages. When next_page_url is null, you have reached the last page of results.What unit-level fields does `get_property_details` return?+
units array includes floorplan, unit_number, price, max_rent, sqft, availability, beds, and baths. The endpoint also returns amenities, pet_policy, photos, neighborhood, and a reviews array with per-review rating, title, text, and date.Can I filter search results by amenities or property type (e.g., only condos or pet-friendly buildings)?+
search_properties endpoint supports filters for min_beds, max_beds, max_rent, and location. Amenity-level or property-type filters are not available as parameters. You can fork this API on Parse and revise it to add those filter parameters.