For the complete documentation index, see llms.txt. This page is also available as Markdown.

Apartments

Apartments.com: properties, photos, and reviews. All endpoints are read-only GET requests and return public Apartments.com data — no listing of your own is required.

Base URL: https://api.pullbay.com/

Endpoints

Endpoint
Description
Pagination

GET /apartments/properties

Search properties by location

Page / maxItems

GET /apartments/properties/{propertyId}

Get a property by ID

—

GET /apartments/properties/{propertyId}/images

Get images for a property

—

GET /apartments/properties/{propertyId}/reviews

Get reviews for a property

Page / maxItems


Search Properties

Search Apartments.com properties by location with optional rent/bed/bath filters.

Request

GET /apartments/properties
Authorization: Bearer YOUR_API_KEY

Parameters

Parameter
Type
Required
Description

location

string

Yes

Location to search, 2–40 characters (e.g. Seattle, WA)

sort

string

No

One of default, lastUpdated, rentHighToLow, rentLowToHigh

minRent

number

No

Minimum monthly rent, 0–999999999

maxRent

number

No

Maximum monthly rent, 0–999999999

minBed

number

No

Minimum bedroom count, 0–4

maxBed

number

No

Maximum bedroom count, 0–4

minBath

number

No

Minimum bathroom count, 0–3

maxBath

number

No

Maximum bathroom count, 0–3

page

integer

No

Page number, 1–100. Mutually exclusive with maxItems

maxItems

integer

No

One-shot bulk pull, 1–200 results. Mutually exclusive with page

Example

bash

Response

json

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of properties returned, not the number of requests.


Get Property

Returns full details for an Apartments.com property. Use the includeScore, includeModelDetails, and includeImages flags to opt into extra fields.

Request

Parameters

Parameter
Type
Required
Description

propertyId

string

Yes

Apartments.com property ID, 1–20 characters (path parameter)

includeScore

string

No

true or false — include the property's rating in the response

includeModelDetails

string

No

true or false — include detailed floor plan/model data

includeImages

string

No

true or false — include photo/floor plan/tour data inline

Example

bash

Response

json

Credit cost: dynamic, returned in pricing.creditsCharged.


Get Property Images

Returns photos, floor plans, virtual tours, and extended virtual tours for a property.

Request

Parameters

Parameter
Type
Required
Description

propertyId

string

Yes

Apartments.com property ID, 1–20 characters (path parameter)

Example

bash

Response

json

Credit cost: dynamic, returned in pricing.creditsCharged.


Get Property Reviews

Returns reviews for an Apartments.com property.

Request

Parameters

Parameter
Type
Required
Description

propertyId

string

Yes

Apartments.com property ID, 1–20 characters (path parameter)

page

integer

No

Page number, 1–100. Mutually exclusive with maxItems

maxItems

integer

No

One-shot bulk pull, 1–200 results. Mutually exclusive with page

Example

bash

Response

json

Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of reviews returned, not the number of requests.


Object schemas

ApartmentsProperty object

Field
Type
Description

id

string

Apartments.com property ID

name

string

Property name

bedRange

string

Bedroom range across all units (e.g. Studio - 2 Beds)

rentRange

string

Rent range across all units (e.g. $1,500 - $3,500)

address

object

Property address fields

ApartmentsPropertyDetail object

Field
Type
Description

id

string

Apartments.com property ID

propertyName

string

Property name

url

string

Apartments.com listing URL

propertyWebsite

string

Property's own website

lastUpdated

string (date-time)

When the listing was last updated

description

string

Property description

rating

number

Average rating (present when includeScore=true)

beds

string

Bedroom range

baths

string

Bathroom range

sqft

string

Square footage range

baseRent

object

Base rent range

totalRent

object

Total rent range (including estimated fees)

location

object

Address fields

coordinates

object

latitude / longitude

contact

object

Contact info (phone, office hours, etc.)

specials

object, nullable

Current leasing specials, if any

schools

object

Nearby school info

amenities

array

Amenity categories and items

fees

array

Fee names and amounts

models

array

Floor plan models (present when includeModelDetails=true)

rentals

array

Individual available units

transportation

array

Nearby transit options

transitAndPOI

array

Nearby transit and points of interest

ApartmentsPropertyImages object

Field
Type
Description

photos

array

Property photos

floorPlans

array

Floor plan images

virtualTours

array

Virtual tour links

virtualTourExtended

array

Extended/full virtual tour links

ApartmentsPropertyReview object

Field
Type
Description

key

string

Review ID

title

string

Review title

text

string

Review body

rating

number

Rating, e.g. out of 5

submissionDate

string

Date the review was submitted (e.g. Apr 30, 2026)

isOwner

boolean

Whether the reviewer is the property owner/manager

positiveFeedbackCount

integer

Number of "helpful" votes

comments

array

Replies to the review (e.g. property manager responses)


Errors

All non-2xx responses share the same envelope:

json

Status
Meaning

400

Bad request — missing/invalid parameters

402

Insufficient credits

404

Property or review set not found

Finding Property IDs

  • The property ID is the short alphanumeric slug at the end of an Apartments.com listing URL, e.g. https://www.apartments.com/110-roy-apartments-seattle-wa/swv1xf7/ → swv1xf7.

  • Run a properties search by location first to discover IDs, then use the ID with the detail, images, and reviews endpoints.

Pagination Notes

  • properties and reviews both use page (1-indexed) for page-based pagination, or maxItems for a one-shot bulk pull — the two are mutually exclusive on a single request.

  • pagination.hasNextPage tells you whether to request the next page; cursor and offset are always null for this service since it is page-based, not cursor- or offset-based.

Last updated