StreetEasy Scraper avatar

StreetEasy Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
StreetEasy Scraper

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

Alkausari M

Maintained by Community

Actor 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

๐Ÿ’ฐPricingAsking price, net effective rent, months free, price per sq ft, monthly maintenance and taxes
๐ŸขPropertyBeds, baths, square footage, floor, property type, furnished, new development
๐Ÿ“LocationAddress, unit, neighborhood, ZIP, latitude and longitude
๐Ÿ“…AvailabilityStatus, available date, lease term, days on market, open houses
๐Ÿ—๏ธBuildingBuilding name, year built, floor count, unit count, amenities
๐Ÿ“ˆHistoryDated price changes, status changes, full property history
๐Ÿ“žAgentsName, direct phone, brokerage and licence type
๐Ÿ–ผ๏ธMediaFull-resolution photos, floor plans, video and 3D tour flags

How to run the Actor

  1. Click Try for free.
  2. 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.
  3. Set Maximum listings to 20 for your first run.
  4. 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

ModeFieldsPriceBest for
Results mode (default)36$2 / 1,000Market, comps and pricing work
Full details59$10 / 1,000Depth, history and agent contacts

Full details adds the description, amenities, building facts, dated price history, schools, transit and agent contacts to every listing.

Input

SettingWhat it does
Start URLsSearch links or individual listing links
Maximum listingsStop after this many (0 = no limit)
Scrape full listing detailsAdd descriptions, amenities, history and agents
Only new listings since last runSkip 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:

ListingsResults modeFull 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.