StreetEasy Scraper: NYC Rentals, Sales and Price Drop Monitor
Devansh Tiwari ยท @devanshtiwari365
Know the day a StreetEasy listing drops its price, with NYC rentals and sales in one clean table.
About
StreetEasy Scraper: NYC Rentals, Sales and Price Drop Monitor
Know the day a StreetEasy listing drops its price. Pull rentals, sales, in-contract listings and past rentals and sales for any NYC or North Jersey neighborhood as one clean row per listing, or schedule the monitor and get only what changed since the last run.
Start a 7-day free trial and run the default search first: it returns 100 active Manhattan rentals so you can see the full output before you narrow anything down. No card is needed for the trial.
๐ฝ What you get
- Only what changed. Monitor mode returns new listings, price drops, price increases, listings that went into contract or were rented or sold, and listings taken off the market. Unchanged listings produce no row.
- Real rent, not ad rent. Gross rent, net-effective rent, free months and lease length sit in their own columns, with disclosed tenant fees.
- History on every unit. Price and status events, plus building, subway and school facts.
- Rented and sold comps. Past rentals and sales with closing dates.
- Filters. Neighborhood, price on gross or net-effective rent, beds, baths, size, property type, no-fee, furnished, pets and move-in date.
- Names or links. Type neighborhoods the way you say them, like UWS, LIC or Bed-Stuy, or paste StreetEasy search, listing and building links.
- Your format. Download Excel, CSV or JSON, or pull the data into your own tools through the API.
๐ฅ Who it is for
- Landlords and property managers: "I price a vacant one-bedroom against live comps and see who offers a free month."
- Investors: "I screen Brooklyn condos by price per square foot and check what sold nearby."
- Brokers: "Each morning I want the listings that dropped in price or came off the market overnight."
- Renters and alert builders: "I want new listings in my budget as soon as they appear."
- Relocation and corporate housing teams: "I need furnished one-bedrooms near Midtown that are free by the first of next month."
- Data and proptech teams: "We need a flat schema that stays the same from run to run, with honest empty values."
๐ How it works
- Pick the place. Type neighborhoods or paste StreetEasy links.
- Set your filters. Price basis, beds, baths, no-fee, furnished, pets and move-in date.
- Run it or schedule it. Download the table, or let monitor mode list only the changes.
๐ Monitor changes
Pick Monitor changes, set your filters and schedule the Actor. The first run records every matching listing as NEW. Later runs return only these:
| Change | Meaning |
|---|---|
NEW | A listing that was not there last run |
PRICE_DROP / PRICE_INCREASE | The price moved. The row shows the previous price, the change and the percent. |
STATUS_CHANGE | The listing went into contract, or was rented or sold, with the closing date |
DELISTED | The listing was taken off the market |
A setting called Changes to return keeps only the kinds you want, for example price drops only. Everything else is still remembered, so you never get repeats.
๐ฅ Input
| Field | What it does |
|---|---|
| Mode | Search, paste links, or monitor changes. |
| Listing type and status | Rentals or sales, and active, in contract, or past. |
| Locations or links | Neighborhoods or boroughs by name, or StreetEasy search, listing and building links. |
| Price, beds, baths, size | Ranges, with rent filtered on gross or net-effective. |
| Property type | Condo, co-op, condop, townhouse, house or multi-family. |
| No fee, furnished, pets, move-in date | Narrow the list. |
| Sort and maximum listings | Newest, price, size and more, with a cap per search. |
| Include details | Price history, building, transit, schools and photos. |
| Include agent contacts | Adds agent name, phone, email and license. Off by default. |
| Monitor name and Changes to return | Name the monitor and choose which changes to keep. |
๐ Output
One row per listing. Fields a listing does not publish are left out, never filled with placeholders.
| Field group | What it holds |
|---|---|
| Price | Rent or asking price, net-effective rent, free months, lease length, disclosed fees |
| Unit | Beds, baths, size, address, map position, neighborhood and borough |
| Dates | Listing date, move-in date, days on market, closing date for past listings |
| History | Price and status events for the unit |
| Building | Building, subway and school facts |
| Monitor | The change type, the previous price, the change and the percent |
๐ฐ Pricing
$19 a month after a 7-day free trial. Compute is billed from your prepaid credits during the trial and after it. A search for 25 listings used about 53 KB of proxy data in our test.
๐ก Good to know
- Only public listing data is read. The Actor never logs in anywhere.
- The Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by StreetEasy or Zillow Group.
FAQ
- Can I be told when a listing drops its price?
- Yes. Choose Monitor changes, set your filters and schedule the Actor hourly or daily. The first run records every matching listing as new. After that, each run returns only new listings, price drops, price increases, listings that went into contract or were rented or sold, and listings taken off the market. A setting lets you keep only the kinds you care about, such as price drops.
- Can I see what apartments actually rented or sold for?
- Yes. Set the status to past and you get rented rentals or sold sales with their closing dates, which is what you need for comps and pricing work.
- Which areas does it cover?
- New York City and North Jersey. Type neighborhoods the way you say them, like UWS, LIC or Bed-Stuy, or paste StreetEasy search, listing or building links. A building link returns its units. Leave the location empty to search everything.
- Does it include agent contact details?
- Only when you turn on the agent contacts option. It then adds the agent's name, phone, email and license. It is off by default, and the Actor never logs in anywhere.
- What do I get on each listing?
- Rent or asking price, net-effective rent and free months, disclosed tenant fees, beds, baths and size, address and map position, neighborhood and borough, listing and move-in dates, days on market, and the unit's price and status history. Fields a listing does not publish are left out, never filled with placeholders.
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Pick a mode, rentals or sales, and which listings: on the market now, in contract, or already rented or sold.
modeSearch listings with the filters below, paste StreetEasy page links, or monitor a search for changes. Monitor mode is built for schedules: each run returns only new listings, price drops, price increases and status changes since the previous run, and unchanged listings are never charged.
listingTypeApartments for rent or homes for sale. Used by search and monitor modes.
statusActive = on the market now. In contract = a deal is pending. Past = already rented or sold, useful for rent and sale comps (each past row carries its full price history).
propertyTypeKeep only homes of these types: condo, co-op, condop, townhouse, house, or multi-family. Pick one or more, or leave empty for all types. Used by search and monitor modes. Listings whose type is not stated are left out when this is set.
startUrlsUsed in 'Paste StreetEasy URLs' mode. Paste any search page (its filters are kept), a listing page (one full row), or a building page (its units with the status chosen above). Each search or building link returns up to 'Max listings'. Links that cannot be read are listed in the run summary, never saved as empty rows.
Search by neighborhood or borough name. No codes needed.
locationsType places the way people say them: 'Upper West Side', 'UWS', 'Williamsburg', 'LIC', 'Bed-Stuy', 'Brooklyn'. Each one is matched to StreetEasy's own neighborhood list, and anything that does not match is reported in the log with suggestions. Leave empty to search all of NYC and North Jersey.
Price, bedroom, bathroom and size filters. Rentals can be filtered on the advertised (gross) rent or on the net-effective rent after free months.
minPriceLowest monthly rent or asking price to include.
maxPriceHighest monthly rent or asking price to include.
priceBasisRentals only. Gross = the advertised monthly rent. Net effective = the rent averaged over the lease after free months, which is what a concession listing really costs. Every row carries both values in separate columns, so you never mix them up.
minBeds0 means studios are included.
maxBedsSet Min and Max to 0 for studios only.
minBathsMinimum number of full bathrooms.
minSqftMany NYC listings do not state their size; those are left out when this is set.
Rental-only filters for movers, relocation and corporate housing.
noFeeOnlyOnly rentals marked as no broker fee. Every row also lists the fees each landlord disclosed (application, move-in, amenity, pet and more), which tells you more than the yes/no flag.
furnishedOnlyOnly furnished units. Useful for relocation, corporate housing and short stays; rows show the furnished rent when the landlord quotes one.
petsAllowedOnly listings that allow pets.
availableByOnly rentals you can move into on or before this date. Listings with no stated move-in date are treated as available now.
sortOrder of results in search mode. Monitor mode always scans newest first.
How many listings, what each row includes, and how a monitor remembers what it has already seen.
maxItemsMost listings to save per search (per link in URL mode). In monitor mode, this is how many of the newest matching listings are checked each run; set it above the search's total size to also catch listings that leave the market.
includeDetailsPrice and status history, amenities, pet policy, open houses, building facts, nearby subway stations and schools, photos, floor plans and the description. Fetched together with the listing, so it does not slow the run down.
maxPhotosHow many photo links to include per listing. 0 skips photos.
includeAgentContactsAdds each listing agent's name, phone, email and license number. Off by default because this is personal data; turn it on only if you have a legitimate reason to process it. The listing's brokerage name is always included.
stateNameMonitor mode only. Runs that share a name share one memory of what was already seen, so a schedule, a saved task and an API call can all continue the same monitor. Leave empty and the monitor is identified by its filters instead.
changeTypesMonitor mode only. Pick the kinds of change you want back, for example only price drops. Leave empty to get every kind. The other changes are still remembered, so nothing is repeated later, and only the rows you receive are charged.
Connection settings. The default works for nearly everyone.
proxyConfigurationUS residential proxies are the default and the most reliable choice. Change this only if you know you need a different connection.
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console โ Settings โ API access). The Actor ID is devanshtiwari365/streeteasy-scraper (or devanshtiwari365~streeteasy-scraper in URLs).
JavaScript ยท apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"mode": "search",
"listingType": "rentals",
"status": "active",
"startUrls": [
{
"url": "https://streeteasy.com/for-rent/upper-west-side/price:2500-4500%7Cbeds:1"
}
],
"locations": [
"Manhattan"
],
"priceBasis": "gross",
"noFeeOnly": false,
"furnishedOnly": false,
"petsAllowed": false,
"sort": "newest",
"maxItems": 100,
"includeDetails": true,
"maxPhotos": 5,
"includeAgentContacts": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
}
};
const run = await client.actor('devanshtiwari365/streeteasy-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python ยท apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"mode": "search",
"listingType": "rentals",
"status": "active",
"startUrls": [
{
"url": "https://streeteasy.com/for-rent/upper-west-side/price:2500-4500%7Cbeds:1"
}
],
"locations": [
"Manhattan"
],
"priceBasis": "gross",
"noFeeOnly": False,
"furnishedOnly": False,
"petsAllowed": False,
"sort": "newest",
"maxItems": 100,
"includeDetails": True,
"maxPhotos": 5,
"includeAgentContacts": False,
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": [
"RESIDENTIAL"
],
"apifyProxyCountry": "US"
}
}
run = client.actor("devanshtiwari365/streeteasy-scraper").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP ยท curl
curl -X POST "https://bytewells.com/api/v2/acts/devanshtiwari365~streeteasy-scraper/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","listingType":"rentals","status":"active","startUrls":[{"url":"https://streeteasy.com/for-rent/upper-west-side/price:2500-4500%7Cbeds:1"}],"locations":["Manhattan"],"priceBasis":"gross","noFeeOnly":false,"furnishedOnly":false,"petsAllowed":false,"sort":"newest","maxItems":100,"includeDetails":true,"maxPhotos":5,"includeAgentContacts":false,"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.

Amazon KDP Book Niche Analyzer: Self Publishing Niche Research
Devansh Tiwari ยท @devanshtiwari365
Amazon KDP niche research: real Best Sellers Rank, prices, ratings and competition for each Kindle book per keyword, plus an evidence-based opportunity score.
E-commerceMarketingSEO tools$19/mo7-day free trial
Mercari US Scraper: Active & Sold Listings, Price & Seller Data
Devansh Tiwari ยท @devanshtiwari365
Scrape Mercari US active and sold listings by keyword or link: USD price, condition, brand, category, likes and seller sales, plus a sold-price summary.
E-commerceMarketingLead generation$19/mo7-day free trial
Bulk Image Downloader: Crawl Sites, Dedupe Photos, Export ZIP
Devansh Tiwari ยท @devanshtiwari365
Download every image from a public page or a list of image links: bounded crawl, SHA-256 dedupe, EXIF strip, format conversion and a status row per image.
Developer toolsAutomation$19/mo7-day free trial
Exhibitor List Scraper: Trade Show & Messe Aussteller Leads
Devansh Tiwari ยท @devanshtiwari365
Scrape trade show and Messe exhibitor lists: company, website, email, phone, booth and contacts. 148 shows, 30 platforms, one format. Excel, CSV, JSON.
Lead generationMarketingAutomation$19/mo7-day free trial
Google Lens OCR: Image and PDF to Text with Word Boxes
Devansh Tiwari ยท @devanshtiwari365
Turn images and PDF pages into text with line and word boxes, language detection and optional translation. One result row per image, failures kept visible.
AIDeveloper toolsAutomation$19/mo7-day free trial