StreetEasy Scraper 🗽
Pricing
from $1.00 / 1,000 results
StreetEasy Scraper 🗽
Extract comprehensive real estate data from StreetEasy, the premier marketplace for NYC rentals and sales. Gather detailed property listings, pricing history, and building amenities. For consistent uptime and to avoid blocking, the use of residential proxies is strongly advised.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(3)
Developer
Shahid Irfan
Maintained by CommunityActor stats
3
Bookmarked
77
Total users
12
Monthly active users
12 days ago
Last modified
Categories
Share
What does StreetEasy NYC Scraper do?
StreetEasy NYC Scraper collects structured real estate listings from StreetEasy for New York City sales and rentals. Provide a StreetEasy search URL, or use the default NYC search, to collect listing prices, addresses, bedroom and bathroom counts, neighborhood data, broker details, coordinates, media links, listing status, and direct property URLs.
The dataset is useful for NYC market research, rental analysis, investment screening, broker research, listing monitoring, and property data workflows. You can run the Actor from Apify Console, schedule recurring runs, or consume the resulting dataset through Apify integrations and the API.
Why use StreetEasy NYC Scraper?
- One dataset for sales and rentals - Set
listing_typetofor-saleorfor-rent, or let the StreetEasy URL determine the mode. - Search-based collection - Start with NYC, a borough, a neighborhood, or a StreetEasy URL containing price, bedroom, or bathroom filters.
- Property and market fields - Compare prices, size, property types, listing status, price changes, and neighborhood coverage.
- Media-aware records - Keep primary images, gallery images, floor plan links, and media counts when StreetEasy provides them.
- Location context - Use addresses, units, neighborhoods, latitude, and longitude for mapping and geographic analysis.
- Repeatable monitoring - Schedule runs and compare datasets using the stable listing
idand directurlfields. - Automation-ready exports - Download JSON, CSV, Excel, or XML, or send results to spreadsheets, databases, webhooks, and other connected tools.
What data can you extract from StreetEasy?
Each dataset item represents a StreetEasy listing that includes usable listing media. Optional values depend on what the source publishes for that property.
| Field | Type | Description |
|---|---|---|
id | String | Stable StreetEasy listing identifier. |
listing_type | String | Listing mode used for the run: for-sale or for-rent. |
price | Number | Current sale price or rental price. |
address | String | Street address with unit information when available. |
street | String | Street address without the unit. |
unit | String | Apartment or unit number. |
neighborhood | String | StreetEasy area or neighborhood name. |
beds | Number | Bedroom count. |
baths | Number | Combined bathroom count, including half bathrooms. |
full_baths | Number | Full bathroom count. |
half_baths | Number | Half bathroom count. |
sqft | Number | Interior living area in square feet when available. |
property_type | String | Building or property type. |
broker | String | Listing broker or source group. |
source_type | String | Source category reported for the listing. |
status | String | Current listing status. |
latitude | Number | Listing latitude. |
longitude | Number | Listing longitude. |
image_url | String | Primary listing image URL. |
image_urls | Array | Gallery image URLs. |
floor_plan_url | String | Primary floor plan image URL when available. |
floor_plan_urls | Array | Floor plan image URLs. |
media_asset_count | Number | Number of media assets reported for the listing. |
has_3d_tour | Boolean | Whether a 3D tour is available. |
has_videos | Boolean | Whether listing videos are available. |
is_new_development | Boolean | Whether the listing is marked as a new development. |
price_changed_at | String | Timestamp for the latest price change. |
price_delta | Number | Amount of the latest price change when available. |
url | String | Direct StreetEasy listing URL. |
url_path | String | StreetEasy listing path. |
Rental records can also include no_fee, furnished, months_free, net_effective_price, lease_term_months, available_at, and off_market_at. Records may also include upcoming open house fields and amenity matching fields when StreetEasy provides them.
How to scrape StreetEasy data
- Open StreetEasy NYC Scraper on Apify.
- Choose
for-saleorfor-rent, or paste a matching StreetEasy search URL intostart_url. - Set
results_wantedandmax_pagesfor the size of the collection. - Start the run and review the dataset preview.
- Export the results or connect the dataset to your next workflow.
For filtered collection, apply the filters on StreetEasy first and copy the resulting search URL. The Actor reads supported location, price, bedroom, and bathroom filters from that URL.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
listing_type | String | No | for-sale | Listing mode. Accepted values are for-sale and for-rent. A matching start_url takes precedence. |
start_url | String | No | NYC search | StreetEasy search URL for a borough, neighborhood, or filtered search. |
results_wanted | Integer | No | 20 | Minimum 1. Maximum number of listings to save. |
max_pages | Integer | No | 50 | Minimum 1. Maximum number of StreetEasy result pages to process. |
proxyConfiguration | Object | No | Not set | Optional Apify Proxy configuration for runs that need proxy access. |
Supported search URL filters
The start_url value can identify a location such as brooklyn, manhattan, or chelsea. It can also contain supported filters such as price:500000-1000000, beds:2-3, or baths:1-2.
Output Data
The Actor writes one JSON object per listing to the default Apify dataset. Empty source values are retained as empty or null fields where applicable, and listings without usable image media are not saved.
| Field | Type | Description |
|---|---|---|
photo_keys | Array | Source media keys for listing photos. |
floor_plan_keys | Array | Source media keys for floor plans. |
upcoming_open_house_start | String | Start time of an upcoming open house. |
upcoming_open_house_end | String | End time of an upcoming open house. |
upcoming_open_house_appointment_only | Boolean | Whether an appointment is required. |
amenities_match | Boolean | Whether the listing matches the requested amenities context. |
matched_amenities | Array | Amenities matched by the source search. |
missing_amenities | Array | Amenities not matched by the source search. |
sponsored_similarity_label | String | Sponsored listing similarity label when supplied. |
no_fee | Boolean | Whether a rental is marked no-fee. |
furnished | Boolean | Whether a rental is furnished. |
months_free | Number | Free months advertised for a rental. |
net_effective_price | Number | Net effective rental price when available. |
lease_term_months | Number | Rental lease term in months. |
available_at | String | Rental availability timestamp. |
off_market_at | String | Timestamp for when a rental went off market. |
Usage Examples
Basic NYC sales search
Collect 20 active NYC sale listings using the default city search.
{"listing_type": "for-sale","results_wanted": 20}
Manhattan rental collection
Collect rental listings from a Manhattan search and allow up to five result pages.
{"listing_type": "for-rent","start_url": "https://streeteasy.com/for-rent/manhattan","results_wanted": 50,"max_pages": 5}
Filtered Brooklyn search
Collect two- to three-bedroom Brooklyn sale listings priced between $500,000 and $1,000,000.
{"start_url": "https://streeteasy.com/for-sale/brooklyn/price:500000-1000000/beds:2-3","results_wanted": 100,"max_pages": 10}
Sample Output
The following example shows the main fields returned for a sale listing. Rental-only fields appear when the selected listing mode and source record provide them.
{"id": "1359279","listing_type": "for-sale","price": 850000,"address": "111 East 56th Street, 1401","street": "111 East 56th Street","unit": "1401","neighborhood": "Midtown","beds": 1,"baths": 1,"full_baths": 1,"half_baths": 0,"sqft": 750,"property_type": "CO_OP","broker": "Brown Harris Stevens","source_type": "RESIDENTIAL","status": "ACTIVE","latitude": 40.7608,"longitude": -73.9703,"image_url": "https://photos.zillowstatic.com/fp/example-se_large_800_400.webp","image_urls": ["https://photos.zillowstatic.com/fp/example-se_large_800_400.webp"],"floor_plan_url": "https://photos.zillowstatic.com/fp/floorplan-se_large_800_400.webp","floor_plan_urls": ["https://photos.zillowstatic.com/fp/floorplan-se_large_800_400.webp"],"media_asset_count": 5,"has_3d_tour": false,"has_videos": false,"is_new_development": false,"url": "https://streeteasy.com/building/the-lombardy/1401","url_path": "/building/the-lombardy/1401"}
Tips for best results
- Validate with a small run - Start with
results_wanted: 20and increase the limit after checking the dataset. - Copy filtered StreetEasy URLs - Build the search on StreetEasy first, then paste the complete URL into
start_url. - Match the listing mode - Use
for-salewith sale URLs andfor-rentwith rental URLs. The URL mode takes precedence when both are supplied. - Use page limits carefully - Increase
max_pageswhen you need broader coverage, while keeping it aligned with your result limit. - Use stable identifiers - Join or compare historical runs with
idorurl. - Expect optional fields - Some listings do not publish square footage, broker details, photos, floor plans, or rental terms.
- Review media before downloading - Use
media_asset_count,image_urls, andfloor_plan_urlsto prioritize listings with richer presentation material. - Schedule repeat runs - Recurring runs help identify new listings, price changes, and inventory shifts over time.
Integrations
- Google Sheets - Review listing prices, neighborhoods, and inventory in a shared spreadsheet.
- Airtable - Build a searchable property database with listing and media fields.
- Webhooks - Send completed-run notifications or new dataset items to another service.
- Make and Zapier - Trigger lead, reporting, and monitoring workflows.
- Apify API - Retrieve datasets programmatically for internal applications and analysis.
Export formats
| Format | Best for |
|---|---|
| JSON | APIs, data pipelines, and custom applications |
| CSV | Spreadsheet analysis and bulk imports |
| Excel | Reports and stakeholder review |
| XML | Structured system integrations |
Frequently Asked Questions
Can I collect both sales and rentals?
Yes. Set listing_type to for-sale or for-rent, and use a matching StreetEasy search URL when providing start_url.
Can I filter by borough, neighborhood, price, beds, or baths?
Yes. Paste a StreetEasy search URL containing the location or supported filters. The Actor reads location, price, bedroom, and bathroom ranges from the URL.
Why are some fields missing?
Some listings do not publish every attribute. Optional values such as square footage, floor plans, broker data, rental concessions, and open house details depend on the source listing.
Why was a listing not saved?
Listings without a usable StreetEasy listing URL or usable image media are skipped. This keeps the output focused on records that can be reviewed and used.
How many listings can I collect?
The results_wanted value controls the maximum number of saved listings, while max_pages limits how many result pages can be processed. The final count can be lower when the search has fewer matching listings or records are skipped.
Can I schedule StreetEasy data collection?
Yes. Create a schedule in Apify Console to run the Actor hourly, daily, weekly, or on a custom interval.
Can I export the dataset to CSV or Excel?
Yes. Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats.
Is collecting StreetEasy data legal?
You are responsible for complying with StreetEasy's terms, applicable privacy and data-protection rules, and other laws that apply to your use case. Collect and use public listing data responsibly, respect access limits, and review current website policies before running large or recurring jobs.
Related Actors
- Realtor.com Scraper - Collect US property listings, prices, photos, and agent details from Realtor.com.
- Trulia Property Scraper - Gather sale and rental property data from Trulia for broader US market comparisons.
- Housesigma.com Scraper - Collect Canadian property listings, sold history, and estimated values for comparative housing research.
Support
For issues, feature requests, or source changes, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is intended for legitimate collection and analysis of publicly available real estate information. Users are responsible for complying with StreetEasy's terms of service, applicable laws, privacy requirements, and any restrictions on storing, sharing, or commercializing collected data.