# StreetEasy Scraper (It Work) (`kawsar/streeteasy-scraper-it-work`) Actor

StreetEasy scraper that collects NYC rental and sale listings with filters for price, bedrooms, building type, neighborhood, and status, returning one clean row per property.

- **URL**: https://apify.com/kawsar/streeteasy-scraper-it-work.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## StreetEasy Scraper: Collect NYC Real Estate Listings at Scale

<p align="center">
  <img src="https://i.imgur.com/pXpQ2FB.png" alt="StreetEasy Scraper" />
</p>

Pulls rental and sale listings from StreetEasy into structured data you can actually use. Point it at any NYC neighborhood, configure your filters, and it returns one clean row per property. No manual searching, no copy-pasting.

Covers all five boroughs and hundreds of neighborhoods: Manhattan, Brooklyn, Queens, the Bronx, SoHo, Crown Heights, Astoria, Williamsburg, Harlem, and more. Filters include price range, bedrooms, bathrooms, building type, pet policy, zip code, listing status, and sort order. You can also paste any StreetEasy search URL and scrape those exact results directly.

### Use cases

- **Market research**: track asking prices across neighborhoods over time to spot trends before they hit the news
- **Investment analysis**: pull for-sale listings with bedroom counts and square footage to compare returns across zip codes
- **Apartment hunting**: export filtered results sorted by price or size, then work through them your own way
- **Lead generation**: agents and brokers can monitor new listings in specific areas on a schedule
- **Price monitoring**: run on a schedule to catch price drops and newly available units
- **Academic research**: build datasets of NYC housing inventory for urban planning or economics work

### What data does this actor collect?

Each row in the output is one property listing. Fields include:

- Property ID, street address, unit number, neighborhood, zip code, and state
- Listed price and net effective price (after concessions)
- Bedroom count, full bathrooms, and half bathrooms
- Building type (rental, condo, co-op, house, multifamily)
- Listing status, available date, and off-market date
- Living area square footage
- Photos with descriptions and direct image URLs
- Geographic coordinates (latitude and longitude)
- 3D tour and video availability
- Upcoming open house schedule (start time, end time, appointment-only flag)
- Whether it is a new development
- Lease term length and months-free incentives
- Source type and listing broker or management company name

### Input

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchUrl` | string | - | Paste any StreetEasy search URL to scrape it directly. When set, all filter fields below are ignored. |
| `listingType` | string | `for-rent` | Whether to scrape rentals (`for-rent`) or homes for sale (`for-sale`). |
| `location` | string | `nyc` | Location slug to search. See the Location section below for examples. |
| `minPrice` | integer | - | Minimum price in USD. Leave blank for no minimum. |
| `maxPrice` | integer | - | Maximum price in USD. Leave blank for no maximum. |
| `minBedrooms` | string | Any | Minimum bedrooms. Studio = 0. Options: Any, Studio, 1, 2, 3, 4+. |
| `maxBedrooms` | string | Any | Maximum bedrooms. Studio = 0. Options: Any, Studio, 1, 2, 3, 4+. |
| `minBathrooms` | string | Any | Minimum bathrooms. Options: Any, 1, 1.5, 2, 3. |
| `petsAllowed` | boolean | false | When true, only returns listings that allow pets. |
| `buildingTypes` | array | - | Building type codes (one per line). See the Building types section below. |
| `zipCode` | string | - | Restrict to a specific NYC zip code, e.g. `10001`. |
| `status` | string | `active` | Listing status filter. Options: active, rented, listed, closed, pending. |
| `byOwner` | boolean | false | For-rent only. When true, shows only owner-listed rentals (no broker fee). |
| `sortBy` | string | `se_score` | Sort order. See the Sort options section below. |
| `maxResults` | integer | 500 | Maximum listings to collect. Hard cap is 1,400. |
| `proxyConfiguration` | object | Datacenter (US) | Proxy settings. US datacenter proxies are pre-selected. |

#### Location slugs

Use lowercase slugs with hyphens in place of spaces:

| Location | Slug |
|----------|------|
| All of NYC | `nyc` |
| Manhattan | `manhattan` |
| Brooklyn | `brooklyn` |
| Queens | `queens` |
| Bronx | `bronx` |
| Staten Island | `staten-island` |
| SoHo | `soho` |
| Harlem | `harlem` |
| Astoria | `astoria` |
| Williamsburg | `williamsburg` |
| Park Slope | `park-slope` |
| Crown Heights | `crown-heights` |
| Upper East Side | `upper-east-side` |
| Upper West Side | `upper-west-side` |
| Central Park South | `central-park-south` |
| Long Island City | `long-island-city` |
| Bushwick | `bushwick` |
| Bed-Stuy | `bed-stuy` |

These slugs match the URL slugs on the StreetEasy website. If you are unsure of a slug, navigate to the neighborhood on StreetEasy and copy the slug from the URL.

#### Building types

Pass one or more codes in the `buildingTypes` array:

| Code | Building type |
|------|--------------|
| `R` | Rental building |
| `X` | House |
| `D1` | Condo |
| `M` | Multifamily |
| `P1` | Co-op |

Leave the field empty to include all types.

#### Sort options

| Value | Meaning |
|-------|---------|
| `se_score` | Recommended (default) |
| `listed_desc` | Newest first |
| `interesting_desc` | Recently updated |
| `price_desc` | Most expensive first |
| `price_asc` | Least expensive first |
| `sqft_desc` | Largest first |
| `sqft_asc` | Smallest first |

#### Listing status options

| Value | Meaning |
|-------|---------|
| `active` | Active listings only (default) |
| `rented` | Already rented |
| `listed` | Active or In Contract |
| `closed` | Unavailable |
| `pending` | In Contract |

### Example inputs

#### Basic rental search in Brooklyn

```json
{
    "listingType": "for-rent",
    "location": "brooklyn",
    "minPrice": 2000,
    "maxPrice": 4000,
    "minBedrooms": "1",
    "maxBedrooms": "2",
    "sortBy": "listed_desc",
    "maxResults": 100
}
````

#### Condos and co-ops for sale in Manhattan, pets allowed

```json
{
    "listingType": "for-sale",
    "location": "manhattan",
    "minPrice": 500000,
    "maxPrice": 1500000,
    "minBedrooms": "1",
    "buildingTypes": ["D1", "P1"],
    "sortBy": "price_asc",
    "maxResults": 200
}
```

#### Studio rentals in Astoria under $2,500

```json
{
    "listingType": "for-rent",
    "location": "astoria",
    "maxPrice": 2500,
    "minBedrooms": "0",
    "maxBedrooms": "0",
    "sortBy": "se_score",
    "maxResults": 50
}
```

#### Pet-friendly rentals in NYC with at least 1 bathroom, by owner only

```json
{
    "listingType": "for-rent",
    "location": "nyc",
    "minBedrooms": "1",
    "minBathrooms": "1",
    "petsAllowed": true,
    "byOwner": true,
    "sortBy": "price_asc",
    "maxResults": 300
}
```

#### Rental houses and multifamily buildings in Queens, zip code 11372

```json
{
    "listingType": "for-rent",
    "location": "queens",
    "buildingTypes": ["X", "M"],
    "zipCode": "11372",
    "sortBy": "listed_desc",
    "maxResults": 100
}
```

#### In-contract condos for sale in SoHo

```json
{
    "listingType": "for-sale",
    "location": "soho",
    "buildingTypes": ["D1"],
    "status": "pending",
    "sortBy": "price_desc",
    "maxResults": 50
}
```

#### Scrape a saved search URL directly

If you have already built a search on StreetEasy, paste the URL into `searchUrl` and the actor scrapes those exact results:

```json
{
    "searchUrl": "https://streeteasy.com/for-rent/nyc/price:2000-4000|beds:1-3|baths>=1|pets:allowed?sort_by=listed_desc",
    "maxResults": 500
}
```

```json
{
    "searchUrl": "https://streeteasy.com/for-rent/williamsburg/?sort_by=se_score",
    "maxResults": 200
}
```

All filter parameters (`listingType`, `location`, `minPrice`, etc.) are ignored when `searchUrl` is set.

### Output

The actor stores results in a dataset. Each record is one property listing.

<p align="center">
  <img src="https://i.imgur.com/B9wUhmJ.png" alt="Dataset table view in Apify" />
</p>

```json
{
    "listingId": "5008543",
    "areaName": "Crown Heights",
    "availableAt": "2026-04-07",
    "bedroomCount": 1,
    "buildingType": "RENTAL",
    "fullBathroomCount": 1,
    "furnished": false,
    "geoPoint": {
        "latitude": 40.679726,
        "longitude": -73.959435
    },
    "halfBathroomCount": 0,
    "hasTour3d": true,
    "hasVideos": true,
    "interestingPriceDelta": null,
    "isNewDevelopment": true,
    "leaseTermMonths": 13,
    "livingAreaSize": 750,
    "monthsFree": 1,
    "netEffectivePrice": 4712,
    "offMarketAt": null,
    "photos": [
        {
            "description": "1042 Atlantic Avenue image 1 of 37",
            "key": "58ad5f9d0d08dd1892788ed7580f7c22",
            "url": "https://photos.zillowstatic.com/fp/58ad5f9d0d08dd1892788ed7580f7c22-p_e.webp"
        }
    ],
    "price": 5105,
    "relloExpress": null,
    "slug": null,
    "sourceGroupLabel": "MNS",
    "sourceType": "PARTNER",
    "state": "NY",
    "status": "ACTIVE",
    "street": "1042 Atlantic Avenue",
    "upcomingOpenHouse": {
        "startTime": "2026-04-20T11:00:00.000-04:00",
        "endTime": "2026-04-20T19:00:00.000-04:00",
        "appointmentOnly": false
    },
    "displayUnit": "#901",
    "urlPath": "/building/prosper-brooklyn/901",
    "zipCode": "11238",
    "tier": null,
    "unit": "#901"
}
```

<p align="center">
  <img src="https://i.imgur.com/ZjDC3yj.png" alt="JSON record detail view in Apify" />
</p>

#### Output field reference

| Field | Type | Description |
|-------|------|-------------|
| `listingId` | string | Unique listing ID |
| `street` | string | Street address |
| `displayUnit` | string | Unit number, e.g. #4B |
| `unit` | string | Unit identifier |
| `areaName` | string | Neighborhood name |
| `zipCode` | string | 5-digit zip code |
| `state` | string | State abbreviation (NY) |
| `price` | integer | Listed price or monthly rent in USD |
| `netEffectivePrice` | number | Effective price after concessions |
| `bedroomCount` | integer | Number of bedrooms (0 = studio) |
| `fullBathroomCount` | integer | Full bathrooms |
| `halfBathroomCount` | integer | Half bathrooms |
| `buildingType` | string | RENTAL, CONDO, COOP, etc. |
| `status` | string | ACTIVE, RENTED, PENDING, etc. |
| `availableAt` | string | Move-in date (YYYY-MM-DD) |
| `offMarketAt` | string | Date went off market, or null |
| `livingAreaSize` | integer | Square footage |
| `furnished` | boolean | Whether furnished |
| `isNewDevelopment` | boolean | Whether new construction |
| `leaseTermMonths` | integer | Lease length in months, or null |
| `monthsFree` | integer | Months-free concession, or null |
| `geoPoint` | object | Latitude and longitude |
| `photos` | array | Photo objects with url, key, and description |
| `hasTour3d` | boolean | Has 3D virtual tour |
| `hasVideos` | boolean | Has video content |
| `upcomingOpenHouse` | object | Open house schedule, or null |
| `urlPath` | string | Relative path to the listing page |
| `sourceGroupLabel` | string | Listing broker or management company |
| `sourceType` | string | PARTNER or OWNER |
| `interestingPriceDelta` | number | Recent notable price change, or null |
| `relloExpress` | string | Rello Express indicator, or null |
| `slug` | string | URL slug, or null |
| `tier` | string | Listing tier, or null |

### How it works

1. The actor builds a search based on your input parameters: location, listing type, price range, bedroom count, and any other filters you configure.
2. It fetches results page by page, extracting up to 14 listings per page.
3. Pagination stops automatically when there are no more results or when you hit your `maxResults` limit.
4. Each property is pushed to the dataset as a single row the moment it is collected.
5. If a page fails to load, the actor logs the error, records an error entry, and stops gracefully.

### Limits and pagination

StreetEasy shows up to 100 pages of results per search, with roughly 14 listings per page. That puts the practical maximum at around 1,400 listings per run.

The default `maxResults` is 500. You can raise it up to 1,400. If a search has fewer results than your limit, the actor stops as soon as results run out.

Searches with broad filters (e.g. all of NYC, no price range) often have thousands of actual listings but only the first 1,400 are accessible through pagination. Use tighter filters (specific neighborhood, price range, building type) to get more relevant results within the limit.

### Proxy configuration

US datacenter proxies are pre-selected by default. These work well for most searches. If you encounter blocked requests or incomplete results, switch to Residential proxies in the proxy configuration settings.

### FAQ

**Can I scrape a specific neighborhood that is not in the location examples?**

Yes. Navigate to that neighborhood on StreetEasy, copy the slug from the URL (the part after `streeteasy.com/for-rent/`), and paste it into the `location` field. For example, `https://streeteasy.com/for-rent/fort-greene/` uses the slug `fort-greene`.

**What is the difference between `price` and `netEffectivePrice`?**

`price` is the listed monthly rent. `netEffectivePrice` accounts for landlord concessions like free months. For example, a $5,000/month apartment with one month free on a 13-month lease has a net effective price of roughly $4,615/month. Both fields are included in the output so you can choose which one to analyze.

**Can I search multiple neighborhoods at once?**

The best approach is to use the `searchUrl` field with a StreetEasy URL that already targets multiple areas. Build the search on StreetEasy, copy the URL, and paste it into `searchUrl`.

**Why does my search return fewer results than expected?**

A few reasons: the search might have genuine fewer listings than your `maxResults` limit, the location slug might not match exactly, or a combination of filters reduces the result set significantly. Try broadening filters (removing zip code, building type, or price limits) to verify.

**What happens when a page fails to load?**

The actor logs the error, pushes an error record to the dataset with the failing URL and error message, then stops. Partial results already collected are saved.

**Can I run this on a schedule?**

Yes. Use the Apify scheduler to run the actor daily or weekly. Combine with a Google Sheets or Airtable integration to append new results automatically.

### Integrations

Connect this actor with other tools using [Apify integrations](https://apify.com/integrations). Export results to Google Sheets, push to Airtable, trigger Zapier workflows, or stream into your own database. You can also use [webhooks](https://docs.apify.com/integrations/webhooks) to trigger downstream actions the moment a run finishes.

### You might also find these useful

Other real estate and property data actors that work well alongside this one:

| Actor | What it does |
|-------|-------------|
| [Affordable Zillow Search](https://apify.com/kawsar/affordable-zillow-search) | Searches Zillow for affordable listings using flexible filters, good for price-range hunting across US markets |
| [Affordable Zillow Details Scraper](https://apify.com/kawsar/affordable-zillow-details-scraper) | Pulls full property details from Zillow listing pages including price history, tax records, and home facts |
| [Zillow Price & Tax History Scraper](https://apify.com/kawsar/zillow-price-tax-history-scraper) | Extracts historical price changes and property tax records from Zillow for any address |
| [Realtor Search](https://apify.com/kawsar/realtor-search) | Scrapes Realtor.com search results with filters for price, beds, baths, and property type |
| [Realtor Auto Suggestion](https://apify.com/kawsar/realtor-auto-suggestion) | Fetches location auto-suggestions from Realtor.com, useful for building location lookup tools |
| [Redfin Details Scraper](https://apify.com/kawsar/redfin-details-scraper) | Pulls detailed listing data from Redfin including price, features, and agent info |
| [Rightmove Scraper](https://apify.com/kawsar/rightmove-scraper) | Scrapes UK property listings from Rightmove, covers rentals and sales across Great Britain |
| [Foreclosed Properties List + Emails](https://apify.com/kawsar/foreclosed-properties-list-emails) | Finds foreclosed properties and extracts associated contact emails for outreach |
| [New Construction Properties + Emails](https://apify.com/kawsar/new-construction-properties-list-emails) | Collects new construction listings and pulls contact email addresses for builders and agents |
| [Price Reduced Properties Email List](https://apify.com/kawsar/price-reduced-properties-email-list) | Identifies properties with recent price cuts and gathers contact emails for follow-up |
| [Auction Properties List + Email](https://apify.com/kawsar/auction-properties-list-with-email) | Lists properties going to auction and extracts contact information for each |
| [Pet Friendly Rental Properties List](https://apify.com/kawsar/pet-friendly-rental-properties-list) | Finds pet-friendly rental listings across platforms, filtered by location and price |
| [Remote Investor 3D Homes List](https://apify.com/kawsar/remote-investor-3d-homes-list) | Collects listings with 3D virtual tours, ideal for remote buyers and out-of-state investors |
| [Market Velocity Tracker](https://apify.com/kawsar/market-velocity-tracker) | Tracks how fast properties are moving in a given market, useful for gauging supply and demand |

<p align="center">
  <img src="https://i.imgur.com/KYbcKFm.png" alt="Try it on Apify" />
</p>

# Actor input Schema

## `searchUrl` (type: `string`):

Paste any StreetEasy search URL to scrape it directly. When provided, all filter fields below are ignored. Required if Location is left empty.

## `listingType` (type: `string`):

Scrape rentals or homes for sale.

## `location` (type: `string`):

Neighborhood or area slug to search. Required if Search URL is not provided. Examples: nyc, brooklyn, manhattan, bronx, queens, soho, harlem, astoria, williamsburg, upper-east-side, central-park-south, park-slope, crown-heights.

## `zipCode` (type: `string`):

Narrow results to a specific NYC zip code, e.g. 10001 or 11238. Leave empty to search the full location.

## `minPrice` (type: `integer`):

Minimum listing price in USD. Leave empty for no minimum.

## `maxPrice` (type: `integer`):

Maximum listing price in USD. Leave empty for no maximum.

## `minBedrooms` (type: `string`):

Minimum number of bedrooms. Studio = 0.

## `maxBedrooms` (type: `string`):

Maximum number of bedrooms. Studio = 0. Leave at Any for no upper limit.

## `minBathrooms` (type: `string`):

Minimum number of bathrooms.

## `buildingTypes` (type: `array`):

Filter by building type. Enter one code per line: R = Rental building, X = House, D1 = Condo, M = Multifamily, P1 = Co-op. Leave empty to include all types.

## `petsAllowed` (type: `boolean`):

When enabled, only returns listings that allow pets.

## `status` (type: `string`):

Filter listings by their current status.

## `byOwner` (type: `boolean`):

When enabled, only returns rentals listed directly by the owner, with no broker fee. Applies to for-rent searches only.

## `sortBy` (type: `string`):

Order to sort the results.

## `maxResults` (type: `integer`):

Maximum number of listings to collect. Default is 500. Hard cap is 1,400.

## `proxyConfiguration` (type: `object`):

Select proxies to use for requests. Helps avoid IP blocking and rate limits.

## Actor input object example

```json
{
  "searchUrl": "https://streeteasy.com/for-rent/nyc/price:2000-4000|beds:1-2?sort_by=listed_desc",
  "listingType": "for-rent",
  "location": "brooklyn",
  "zipCode": "10001",
  "minPrice": 2000,
  "maxPrice": 5000,
  "minBedrooms": "",
  "maxBedrooms": "",
  "minBathrooms": "",
  "buildingTypes": [
    "R",
    "D1"
  ],
  "petsAllowed": false,
  "status": "active",
  "byOwner": false,
  "sortBy": "se_score",
  "maxResults": 500,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "location": "nyc",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/streeteasy-scraper-it-work").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "location": "nyc",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("kawsar/streeteasy-scraper-it-work").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "location": "nyc",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call kawsar/streeteasy-scraper-it-work --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kawsar/streeteasy-scraper-it-work",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "StreetEasy Scraper (It Work)",
        "description": "StreetEasy scraper that collects NYC rental and sale listings with filters for price, bedrooms, building type, neighborhood, and status, returning one clean row per property.",
        "version": "0.0",
        "x-build-id": "ExipnibgqLQ23NdXM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kawsar~streeteasy-scraper-it-work/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kawsar-streeteasy-scraper-it-work",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/kawsar~streeteasy-scraper-it-work/runs": {
            "post": {
                "operationId": "runs-sync-kawsar-streeteasy-scraper-it-work",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/kawsar~streeteasy-scraper-it-work/run-sync": {
            "post": {
                "operationId": "run-sync-kawsar-streeteasy-scraper-it-work",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchUrl": {
                        "title": "Search URL",
                        "type": "string",
                        "description": "Paste any StreetEasy search URL to scrape it directly. When provided, all filter fields below are ignored. Required if Location is left empty."
                    },
                    "listingType": {
                        "title": "Listing type",
                        "enum": [
                            "for-rent",
                            "for-sale"
                        ],
                        "type": "string",
                        "description": "Scrape rentals or homes for sale.",
                        "default": "for-rent"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Neighborhood or area slug to search. Required if Search URL is not provided. Examples: nyc, brooklyn, manhattan, bronx, queens, soho, harlem, astoria, williamsburg, upper-east-side, central-park-south, park-slope, crown-heights.",
                        "default": "nyc"
                    },
                    "zipCode": {
                        "title": "Zip code",
                        "type": "string",
                        "description": "Narrow results to a specific NYC zip code, e.g. 10001 or 11238. Leave empty to search the full location."
                    },
                    "minPrice": {
                        "title": "Minimum price ($)",
                        "type": "integer",
                        "description": "Minimum listing price in USD. Leave empty for no minimum."
                    },
                    "maxPrice": {
                        "title": "Maximum price ($)",
                        "type": "integer",
                        "description": "Maximum listing price in USD. Leave empty for no maximum."
                    },
                    "minBedrooms": {
                        "title": "Minimum bedrooms",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Minimum number of bedrooms. Studio = 0.",
                        "default": ""
                    },
                    "maxBedrooms": {
                        "title": "Maximum bedrooms",
                        "enum": [
                            "",
                            "0",
                            "1",
                            "2",
                            "3",
                            "4"
                        ],
                        "type": "string",
                        "description": "Maximum number of bedrooms. Studio = 0. Leave at Any for no upper limit.",
                        "default": ""
                    },
                    "minBathrooms": {
                        "title": "Minimum bathrooms",
                        "enum": [
                            "",
                            "1",
                            "1.5",
                            "2",
                            "3"
                        ],
                        "type": "string",
                        "description": "Minimum number of bathrooms.",
                        "default": ""
                    },
                    "buildingTypes": {
                        "title": "Building types",
                        "type": "array",
                        "description": "Filter by building type. Enter one code per line: R = Rental building, X = House, D1 = Condo, M = Multifamily, P1 = Co-op. Leave empty to include all types.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "petsAllowed": {
                        "title": "Pets allowed only",
                        "type": "boolean",
                        "description": "When enabled, only returns listings that allow pets.",
                        "default": false
                    },
                    "status": {
                        "title": "Listing status",
                        "enum": [
                            "active",
                            "rented",
                            "listed",
                            "closed",
                            "pending"
                        ],
                        "type": "string",
                        "description": "Filter listings by their current status.",
                        "default": "active"
                    },
                    "byOwner": {
                        "title": "For rent by owner only",
                        "type": "boolean",
                        "description": "When enabled, only returns rentals listed directly by the owner, with no broker fee. Applies to for-rent searches only.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "se_score",
                            "listed_desc",
                            "interesting_desc",
                            "price_desc",
                            "price_asc",
                            "sqft_desc",
                            "sqft_asc"
                        ],
                        "type": "string",
                        "description": "Order to sort the results.",
                        "default": "se_score"
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 1400,
                        "type": "integer",
                        "description": "Maximum number of listings to collect. Default is 500. Hard cap is 1,400.",
                        "default": 500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to use for requests. Helps avoid IP blocking and rate limits."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
