streeteasy.com APIstreeteasy.com ↗
Search and retrieve NYC rental listings from StreetEasy. Filter by neighborhood, price, bedrooms, and amenities. Returns photos, broker info, and full property details.
curl -X GET 'https://api.parse.bot/scraper/38049975-1a6c-4bcd-ad05-a4b1a051e522/search_rentals?areas=chelsea&min_beds=1&per_page=3&max_price=5000' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for rental listings on StreetEasy with filters for bedrooms, price range, neighborhoods, and amenities. Returns a paginated list of matching active rental listings.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| areas | string | Comma-separated neighborhood names or area IDs. Supported names: soho, chelsea, west chelsea, tribeca, greenwich village, east village, west village, lower east side, upper east side, upper west side, midtown, midtown east, midtown west, financial district, battery park city, flatiron, gramercy park, murray hill, hell's kitchen, harlem, williamsburg, brooklyn heights, park slope, dumbo, long island city. Numeric area IDs also accepted (e.g. '107,115,163'). |
| sort_by | string | Sort attribute: RECOMMENDED, PRICE, or LISTED_DATE. |
| max_beds | integer | Maximum number of bedrooms. If omitted, defaults to the value of min_beds. |
| min_beds | integer | Minimum number of bedrooms. |
| per_page | integer | Results per page. |
| amenities | string | Comma-separated amenities filter. Accepted values: elevator, doorman, laundry, gym, pool, parking, dishwasher, pets, outdoor_space, roof_deck. |
| max_price | integer | Maximum monthly rent in dollars. |
| min_price | integer | Minimum monthly rent in dollars. |
| sort_direction | string | Sort direction: ASCENDING or DESCENDING. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"listings": "array of listing objects with id, address, street, unit, area, price, bedrooms, full_bathrooms, half_bathrooms, building_type, status, broker, latitude, longitude, photo_url, url, url_path",
"per_page": "integer, results per page",
"total_count": "integer, total matching listings"
},
"sample": {
"data": {
"page": 1,
"listings": [
{
"id": "4808197",
"url": "https://streeteasy.com/building/the-chelsea/3n",
"area": "Chelsea",
"unit": "3N",
"price": 9544,
"broker": "Greystar",
"status": "ACTIVE",
"street": "160 West 24th Street",
"address": "160 West 24th Street #3N",
"bedrooms": 2,
"latitude": 40.7444,
"url_path": "/building/the-chelsea/3n",
"longitude": -73.9949,
"photo_url": "https://photos.zillowstatic.com/fp/9e966168fa0f43b7796e3c0e938bab1d-se_large_800_400.webp",
"building_type": "RENTAL",
"full_bathrooms": 2,
"half_bathrooms": 0
}
],
"per_page": 3,
"total_count": 35
},
"status": "success"
}
}About the streeteasy.com API
The StreetEasy API provides two endpoints for accessing New York City rental listings: search_rentals for filtered, paginated queries across active listings, and get_listing_details for full property records including photos, amenities, agent name, brokerage, and pricing. Each listing object from search_rentals returns fields like address, area, bedrooms, bathrooms, building type, and a url_path you pass directly into get_listing_details.
Search Rentals
The search_rentals endpoint accepts filters for min_beds, max_beds, max_price, areas, amenities, and sort_by. Neighborhoods are passed as comma-separated names (e.g., soho, chelsea, tribeca) or area IDs via the areas parameter. The amenities filter accepts values like elevator, doorman, gym, pool, and parking. Results are paginated using page and per_page, and the response includes total_count so you can calculate page depth. Each listing in the listings array carries an id, address, street, unit, area, price, bedrooms, full_bathrooms, half_bathrooms, building_type, status, and a url_path.
Listing Details
Passing a url_path value from search_rentals into get_listing_details returns the full record for that listing. The response includes price, bedrooms, amenities array, photos array, lead_photo, broker, agent_name, address, url, and url_path. Several fields — including address, amenities, agent_name, and lead_photo — may be absent depending on how the listing was submitted, so handle null/missing values defensively.
Coverage and Scope
All listings are scoped to New York City rental inventory on StreetEasy. The search_rentals endpoint surfaces only active listings at the time of the request. Sorting can be controlled via sort_by with options RECOMMENDED, PRICE, or LISTED_DATE, giving you control over how results are ordered for display or freshness-sensitive pipelines.
- Build a neighborhood rent tracker that monitors price trends across areas like SoHo, Chelsea, and Tribeca using
search_rentalswithareasandsort_by=LISTED_DATE. - Aggregate amenity availability (doorman, gym, pool) by neighborhood to generate comparative renter guides.
- Pull
brokerandagent_namefields fromget_listing_detailsto build a directory of active NYC rental agents. - Feed
photosandlead_photoarrays into a listing aggregator or apartment comparison tool. - Filter listings by
min_beds,max_beds, andmax_priceto power a budget-aware apartment search widget. - Track
total_countacross multiple neighborhood queries to measure rental inventory levels over time. - Enrich a CRM with full listing details by resolving
url_pathvalues collected from batch search results.
| 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 StreetEasy have an official developer API?+
What does `get_listing_details` return that `search_rentals` does not?+
get_listing_details returns the full photos array, lead_photo, broker, agent_name, and amenities array — fields not included in the condensed listing objects from search_rentals. Use the url_path from a search result as the required input to retrieve these details.Does the `areas` filter in `search_rentals` cover all NYC neighborhoods?+
areas parameter supports a documented set of neighborhood names and area IDs. Not every NYC neighborhood is guaranteed to be a supported value. If a name is not recognized, results may be empty or fall back to a broader area. Test your target neighborhood names against the supported list before building automated pipelines.Does the API cover sale listings or only rentals?+
Are open house schedules or contact forms included in listing details?+
get_listing_details response. The endpoint returns broker and agent_name for contact identification, but scheduling data is not currently exposed. You can fork this API on Parse and revise it to add an endpoint that retrieves open house information.