StreetEasy Scraper
Pricing
from $2.00 / 1,000 results
StreetEasy Scraper
Scrape every NYC and northern NJ rental and sales listing on StreetEasy, past the 100-page limit its own search stops at. Price, net effective rent, beds, baths, sq ft, photos, amenities, price history and agent direct phones. Export to Excel, CSV or Sheets; schedule for new listings only.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Alkausari M
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Scrape New York City and northern New Jersey rentals and sales from StreetEasy into a clean spreadsheet or JSON feed. Paste a search link, press Start, get every matching listing.
Export to Excel, CSV, JSON or HTML, or pipe it into Google Sheets, Zapier, Make or your own code through the Apify API. Schedule it daily to get only what is new.
Use cases
- ๐ Market analysis โ track asking prices, cuts and days on market by neighborhood
- ๐ Comparables โ pull every 2-bed in a price band and ZIP in minutes
- ๐ Concession tracking โ net effective rent is captured separately from asking rent
- ๐ Lead generation โ an inventory pull doubles as a broker contact list
- ๐ New inventory alerts โ scheduled runs return only listings you have not seen
What you get
| ๐ฐPricing | Asking price, net effective rent, months free, price per sq ft, monthly maintenance and taxes |
| ๐ขProperty | Beds, baths, square footage, floor, property type, furnished, new development |
| ๐Location | Address, unit, neighborhood, ZIP, latitude and longitude |
| ๐ Availability | Status, available date, lease term, days on market, open houses |
| ๐๏ธBuilding | Building name, year built, floor count, unit count, amenities |
| ๐History | Dated price changes, status changes, full property history |
| ๐Agents | Name, direct phone, brokerage and licence type |
| ๐ผ๏ธMedia | Full-resolution photos, floor plans, video and 3D tour flags |
How to run the Actor
- Click Try for free.
- Paste a StreetEasy link into Start URLs โ a search such as
https://streeteasy.com/for-rent/manhattan, or a single listing. Filters you already applied on StreetEasy are respected. - Set Maximum listings to
20for your first run. - Press Start, then open the Output tab and export.
Past StreetEasy's search limit
StreetEasy serves at most 100 pages of any one search. Page to the end of a borough-wide search on the site and it simply stops, however many listings actually match โ and any scraper reading that search stops with it.
This Actor gets past that on its own. A broad search is read as several narrower ones and the results de-duplicated, so a whole-borough link returns far more than StreetEasy will hand over in a single search. There is nothing to configure: paste the link.
Results mode vs full details
| Mode | Fields | Price | Best for |
|---|---|---|---|
| Results mode (default) | 36 | $2 / 1,000 | Market, comps and pricing work |
| Full details | 59 | $10 / 1,000 | Depth, history and agent contacts |
Full details adds the description, amenities, building facts, dated price history, schools, transit and agent contacts to every listing.
Input
| Setting | What it does |
|---|---|
| Start URLs | Search links or individual listing links |
| Maximum listings | Stop after this many (0 = no limit) |
| Scrape full listing details | Add descriptions, amenities, history and agents |
| Only new listings since last run | Skip anything an earlier run returned |
Example input
{"startUrls": [{ "url": "https://streeteasy.com/for-rent/manhattan" }],"maxItems": 200,"scrapeDetails": false,"monitoringMode": false}
Output
One dataset, one row per listing, agents nested on the row โ no second table to join.
{"listingId": "5089714","url": "https://streeteasy.com/building/507-west-chelsea/404","address": "507 West 28th Street","unit": "#404","neighborhood": "West Chelsea","zipCode": "10001","latitude": 40.7513,"longitude": -74.0024,"price": 5981,"netEffectivePrice": 5981,"hasConcession": false,"bedrooms": 1,"unitType": "1 Bedroom","bathrooms": 1,"sqft": null,"status": "ACTIVE","availableAt": "2026-07-20","brokerage": "Lalezarian Properties","images": ["https://photos.zillowstatic.com/fp/af3f38cb...-p_e.webp"],"agents": {"count": 1,"primary": {"name": "Steve Eisenstein","phone": "+13476332768","company": "Sovereign Realty NYC","licenseType": "Associate Broker","email": null},"contacts": [{ "name": "Steve Eisenstein", "phone": "+13476332768" }]},"scrapedAt": "2026-09-15T11:14:50+00:00"}
Every record carries the same fields in the same order, with null where StreetEasy
published nothing โ so Zapier, Make and Sheets can map them from a single sample. Switching
detail mode changes the column set, so pick a mode before building a mapping.
Pricing
You pay per result, so the bill is simply how many listings you asked for:
| Listings | Results mode | Full details |
|---|---|---|
| 100 | $0.20 | $1.00 |
| 1,000 | $2.00 | $10.00 |
| 10,000 | $20.00 | $100.00 |
The extra $8 per 1,000 covers opening each listing's own page. Pages that cannot be read are not charged โ if a listing's page fails to open you still get the listing, and pay nothing extra for it.
Start in results mode. It costs a fifth as much and already covers pricing, comps and market work.
Integrations & scheduling
Results don't have to stay on Apify. Without writing any code you can:
- Send listings to Google Sheets, Airtable or Slack โ pick the integration on the Actor's Integrations tab and every run appends its results automatically.
- Connect anything else via Zapier or Make โ thousands of apps, triggered when a run finishes.
- Fire a webhook to your own server the moment a run completes, with a link to the fresh dataset.
- Pull the data over the API in JSON, CSV, Excel or XML โ one URL, no auth juggling, ideal for a script or notebook.
Run it on a schedule. Point the Actor at a StreetEasy search, set it to run every morning and send the output to a sheet โ that is a working new-listing alert with no code at all. Turn on Only new listings since last run so each run returns only what has appeared since the last one, and set Maximum listings to keep any single run's cost predictable.
Tips
- Start with 20 listings and confirm the fields you need are populated.
- Filter on StreetEasy first, then paste the filtered link โ a neighborhood search is far cheaper than a borough- or town-wide one.
- Two-stage your detail runs: find candidates in results mode, then feed those links back in with full details on.
- Always set a maximum. It is the simplest guard against an unexpectedly large search.
- For recurring work, run results mode with Only new listings enabled.
Good to know
- Sales and rentals โ both work. Paste a for-sale or for-rent search link.
- Single listings โ paste a listing's own link instead of a search. A few fields come back empty that way, so a search link gives the fullest record.
- Coverage โ all five NYC boroughs, plus the northern New Jersey waterfront from Jersey City to Fort Lee. Not the rest of New Jersey.
- Agent emails โ not available. StreetEasy publishes names, direct phones and brokerages, not emails.
- Fewer listings than expected โ check Maximum listings, and any filter on the link you pasted. If the gap persists, open an issue with your run ID.
๐ฎ Support
Bugs, feature requests, or custom scraping work โ open an issue on Apify, email alkausarimujahid@gmail.com, or visit my website ayzalsoft.com.