
Streeteasy.com Scraper
Pricing
$15.00/month + usage

Streeteasy.com Scraper
Unlock the NYC real estate market with instant access to detailed property data, pricing trends, and neighborhood insights. Our StreetEasy scraper delivers comprehensive listing information across all boroughs, helping you make data-driven decisions faster than your competition.
0.0 (0)
Pricing
$15.00/month + usage
0
Monthly users
4
Runs succeeded
>99%
Last modified
12 hours ago
Overview
The StreetEasy.com Scraper is a sophisticated tool designed to extract real estate listings data from StreetEasy.com, New York City's leading real estate marketplace. Perfect for real estate professionals, researchers, and analysts, this scraper automates the collection of detailed property information, including prices, amenities, building details, and agent information across all NYC boroughs.
Features
- Comprehensive Property Data Collection:
- Sales and rental listings with complete property details
- Historical price changes and time on market
- Building information and amenities
- Unit-specific details and floor plans
- Advanced Search Capabilities:
- Filter by borough, neighborhood, or specific areas
- Price range and property type filtering
- Custom search criteria support (bedrooms, bathrooms, amenities)
- Market Intelligence:
- Price per square foot calculations
- Building history and property records
- Agent and brokerage information
- Market trends and pricing history
- Data Management:
- Customizable data export formats (JSON, CSV, Excel)
- Deduplication of listings
- Incremental updates tracking
- Historical data preservation
How to Use
- Set Up: Ensure you have an Apify account and access to the Apify platform.
- Provide Start URLs: Copy and paste the desired search link, specify the location you want to scrape from streeteasy.com (e.g., "https://streeteasy.com/for-rent/brooklyn"), or use a direct listing URL (e.g., "https://streeteasy.com/building/one-fifty/rental/4642882").
- Adjust Scraper Settings: Modify settings like
maxItems
,maxConcurrency
, andminConcurrency
to suit your requirements. - Configure Proxy Settings: (Optional) Configure proxy settings for better reliability and to avoid IP blocks.
- Run the Scraper: Execute the scraper on the Apify platform. The output will be available in various formats like JSON, CSV, or Excel, depending on your preference.
Input Configuration
Example configuration object:
1{ 2 "startUrls": [ 3 { 4 "url": "https://streeteasy.com/for-rent/brooklyn" 5 }, 6 { 7 "url": "https://streeteasy.com/condo-buildings/nyc/new_development:new%20development%7Chas_sales:1" 8 }, 9 { 10 "url": "https://streeteasy.com/building/one-fifty/rental/4642882?utm_campaign=rental_listing&utm_medium=share&utm_source=web&lstt=VCs9nIkXlFsjgOWoLx4k3G1MZv745x2t0o2gJVn1JspnqnVn206EA8iUFXjNTzfJdZTBOQykFmPAw623" 11 }, 12 { 13 "url": "https://streeteasy.com/for-rent/brooklyn" 14 }, 15 { 16 "url": "https://streeteasy.com/for-sale/kips-bay/status:closed?sort_by=interesting_desc" 17 } 18 ], 19 "maxItems": 100, 20 "maxConcurrency": 10, 21 "minConcurrency": 1, 22 "maxRequestRetries": 100, 23 "proxy": { 24 "useApifyProxy": true, 25 "apifyProxyGroups": [ 26 "RESIDENTIAL" 27 ] 28 } 29}
Input Fields Explanation
-
Start URLs (
startUrls
):- Array of URLs to start scraping from
- Uses the
requestListSources
editor - Example default URL: "https://streeteasy.com/for-rent/brooklyn"
-
Max Items (
maxItems
):- Maximum number of listings to scrape per crawl
- Type: Integer
- Default: 100
- Optional: If not defined, all items will be scraped
-
Max Concurrency (
maxConcurrency
):- Maximum number of pages processed simultaneously
- Type: Integer
- Default: 10
-
Min Concurrency (
minConcurrency
):- Minimum number of pages processed simultaneously
- Type: Integer
- Default: 1
-
Max Request Retries (
maxRequestRetries
):- Number of retry attempts for failed requests
- Type: Integer
- Default: 100
-
Proxy Configuration (
proxy
):- Configuration for proxy servers to hide scraper origin
- Type: Object
- Default configuration:
useApifyProxy
: trueapifyProxyGroups
: ["RESIDENTIAL"]
- Uses the Apify Proxy editor for configuration
StreetEasy Scraper Output Structure
Core Fields for Sale
1{ 2 "__typename": "OrganicSaleEdge", 3 "node": { 4 "__typename": "SearchSaleListing", 5 "id": "1749037", 6 "advertisedOnSe": false, 7 "areaName": "Kips Bay", 8 "availableAt": null, 9 "bedroomCount": 3, 10 "buildingType": "CONDO", 11 "fullBathroomCount": 2, 12 "furnished": false, 13 "geoPoint": { 14 "__typename": "Geo", 15 "latitude": 40.74124, 16 "longitude": -73.98183 17 }, 18 "halfBathroomCount": 1, 19 "hasTour3d": false, 20 "hasVideos": false, 21 "isNewDevelopment": false, 22 "leadMedia": { 23 "__typename": "LeadMedia", 24 "photo": { 25 "__typename": "Photo", 26 "key": "ff882c3cdb2ca0bd3c00d9665ebe18c6" 27 }, 28 "floorPlan": null 29 }, 30 "livingAreaSize": 1629, 31 "mediaAssetCount": 20, 32 "offMarketAt": "2025-02-13", 33 "photos": [ 34 { 35 "__typename": "Photo", 36 "key": "ff882c3cdb2ca0bd3c00d9665ebe18c6" 37 }, 38 { 39 "__typename": "Photo", 40 "key": "50dcd49f179204bf00a9f8b2370d1044" 41 }, 42 ... 43 ], 44 "price": 2795000, 45 "priceChangedAt": "2025-01-09T22:01:53.000Z", 46 "priceDelta": 0, 47 "slug": null, 48 "saleType": "SPONSOR_UNIT", 49 "soldPrice": 0, 50 "sourceGroupLabel": "Brown Harris Stevens Development Marketing", 51 "sourceType": "FEED", 52 "status": "NO_LONGER_AVAILABLE", 53 "street": "368 Third Avenue", 54 "unit": "9A", 55 "upcomingOpenHouse": null, 56 "urlPath": "/building/vu-new-york/9a", 57 "verifiedAt": null, 58 "verifiedUpToDate": false 59 }, 60 "amenitiesMatch": null, 61 "matchedAmenities": null, 62 "missingAmenities": null 63 }
Core Fields Explanation
- id: Unique identifier for the listing.
- advertisedOnSe: Boolean indicating if the property is advertised on StreetEasy.
- areaName: Name of the area where the property is located.
- availableAt: Date when the property is available.
- bedroomCount: Number of bedrooms in the property.
- buildingType: Type of building (e.g., CONDO, COOP).
- fullBathroomCount: Number of full bathrooms.
- furnished: Boolean indicating if the property is furnished.
- geoPoint: Geographical coordinates of the property.
- latitude: Latitude of the property.
- longitude: Longitude of the property.
- halfBathroomCount: Number of half bathrooms.
- hasTour3d: Boolean indicating if the property has a 3D tour.
- hasVideos: Boolean indicating if the property has videos.
- isNewDevelopment: Boolean indicating if the property is a new development.
- leadMedia: Main media associated with the property.
- photo: Main photo of the property.
- key: Unique key for the photo.
- floorPlan: Floor plan of the property.
- photo: Main photo of the property.
- livingAreaSize: Size of the living area in square feet.
- mediaAssetCount: Number of media assets (photos, videos, etc.).
- offMarketAt: Date when the property went off the market.
- photos: Array of photos of the property.
- key: Unique key for each photo.
- price: Listing price of the property.
- priceChangedAt: Date when the price was last changed.
- priceDelta: Change in price since the last update.
- slug: URL slug for the property.
- saleType: Type of sale (e.g., SPONSOR_UNIT).
- soldPrice: Sold price of the property.
- sourceGroupLabel: Label of the source group.
- sourceType: Type of source (e.g., FEED).
- status: Current status of the listing (e.g., NO_LONGER_AVAILABLE).
- street: Street address of the property.
- unit: Unit number of the property.
- upcomingOpenHouse: Information about upcoming open houses.
- urlPath: URL path to the property listing.
- verifiedAt: Date when the listing was verified.
- verifiedUpToDate: Boolean indicating if the listing is up-to-date.
- amenitiesMatch: Matching amenities for the property.
- matchedAmenities: List of matched amenities.
- missingAmenities: List of missing amenities.
Core Fields for Rental
1{ 2 "id": "string", 3 "areaName": "string", 4 "availableAt": "ISO 8601 date string", 5 "bedroomCount": "integer", 6 "buildingType": "string", 7 "fullBathroomCount": "integer", 8 "halfBathroomCount": "integer", 9 "furnished": "boolean", 10 "geoPoint": { 11 "latitude": "float", 12 "longitude": "float" 13 }, 14 "hasTour3d": "boolean", 15 "hasVideos": "boolean", 16 "isNewDevelopment": "boolean", 17 "leaseTerm": "integer", 18 "livingAreaSize": "integer", 19 "monthsFree": "integer", 20 "noFee": "boolean", 21 "netEffectivePrice": "integer", 22 "offMarketAt": "ISO 8601 date string | null", 23 "price": "integer", 24 "priceChangedAt": "ISO 8601 date string", 25 "priceDelta": "integer", 26 "slug": "string | null", 27 "sourceGroupLabel": "string", 28 "sourceType": "string", 29 "state": "string", 30 "status": "string", 31 "street": "string", 32 "upcomingOpenHouse": "object | null", 33 "unit": "string", 34 "urlPath": "string", 35 "zipCode": "string" 36}
Core Fields Explanation
- id: Unique identifier for the rental listing.
- areaName: Name of the area where the property is located.
- availableAt: Date when the property is available for rent.
- bedroomCount: Number of bedrooms in the property.
- buildingType: Type of building (e.g., CONDO, COOP).
- fullBathroomCount: Number of full bathrooms.
- halfBathroomCount: Number of half bathrooms.
- furnished: Boolean indicating if the property is furnished.
- geoPoint: Geographical coordinates of the property.
- latitude: Latitude of the property.
- longitude: Longitude of the property.
- hasTour3d: Boolean indicating if the property has a 3D tour.
- hasVideos: Boolean indicating if the property has videos.
- isNewDevelopment: Boolean indicating if the property is a new development.
- leaseTerm: Lease term duration in months.
- livingAreaSize: Size of the living area in square feet.
- monthsFree: Number of months free in the lease term.
- noFee: Boolean indicating if there is no broker fee.
- netEffectivePrice: Net effective price after accounting for any concessions.
- offMarketAt: Date when the property went off the market.
- price: Listing price of the rental property.
- priceChangedAt: Date when the price was last changed.
- priceDelta: Change in price since the last update.
- slug: URL slug for the property.
- sourceGroupLabel: Label of the source group.
- sourceType: Type of source (e.g., FEED).
- state: State where the property is located.
- status: Current status of the listing (e.g., ACTIVE, NO_LONGER_AVAILABLE).
- street: Street address of the property.
- upcomingOpenHouse: Information about upcoming open houses.
- unit: Unit number of the property.
- urlPath: URL path to the property listing.
- zipCode: Zip code of the property.
Rental Object Structure
1{ 2 "rental": { 3 "__typename": "Rental", 4 "id": "string", 5 "address": { 6 "latitude": "string", 7 "longitude": "string" 8 }, 9 "anyrooms": "integer", 10 "area": { 11 "id": "string", 12 "name": "string", 13 "borough": { 14 "name": "string" 15 } 16 }, 17 "closed_at": "date | null", 18 "days_on_market": "integer", 19 "is_furnished": "boolean", 20 "is_featured": "boolean", 21 "is_sponsored": "boolean", 22 "is_viewed": "boolean", 23 "listed_at": "ISO 8601 date string", 24 "opaque": "string", 25 "status_date": "date | null", 26 "status_title": "string", 27 "source_group_id": "string", 28 "sourceuri": "string | null", 29 "quick_url": "string", 30 "smallImageURL": "string", 31 "mediumImageURL": "string", 32 "is_show_bsc_looker_report": "boolean", 33 "twilio_number": "string | null" 34 } 35}
Rental Object Fields Explanation
- id: Unique identifier for the rental listing.
- address: Geographical coordinates of the property.
- latitude: Latitude of the property.
- longitude: Longitude of the property.
- anyrooms: Number of rooms in the property.
- area: Information about the area where the property is located.
- id: Unique identifier for the area.
- name: Name of the area.
- borough: Borough where the property is located.
- name: Name of the borough.
- closed_at: Date when the rental listing was closed.
- days_on_market: Number of days the property has been on the market.
- is_furnished: Boolean indicating if the property is furnished.
- is_featured: Boolean indicating if the property is featured.
- is_sponsored: Boolean indicating if the property is sponsored.
- is_viewed: Boolean indicating if the property has been viewed.
- listed_at: Date when the property was listed.
- opaque: Opaque identifier for the property.
- status_date: Date when the status was last updated.
- status_title: Title of the status.
- source_group_id: Identifier for the source group.
- sourceuri: URI of the source.
- quick_url: Quick URL for the property listing.
- smallImageURL: URL for the small image of the property.
- mediumImageURL: URL for the medium image of the property.
- is_show_bsc_looker_report: Boolean indicating if the BSC Looker report is shown.
- twilio_number: Twilio number for contact.
Building Information
1{ 2 "building": { 3 "id": "string", 4 "title": "string", 5 "subtitle": "string", 6 "is_new_development": "boolean", 7 "building_type": "string", 8 "year_built": "integer", 9 "open_rentals_count": "integer", 10 "open_sales_count": "integer", 11 "show_building_premium_page": "boolean", 12 "medium_image_uri": "string", 13 "residential_unit_count": "integer", 14 "landmark_name": "string", 15 "type": "string", 16 "status": "string", 17 "additionalDetails": { 18 "leasingStartDate": "ISO 8601 date string", 19 "salesStartDate": "ISO 8601 date string | null" 20 } 21 } 22}
Building Information Fields Explanation
- id: Unique identifier for the building.
- title: Title of the building.
- subtitle: Subtitle of the building.
- is_new_development: Boolean indicating if the building is a new development.
- building_type: Type of building (e.g., CONDO, COOP).
- year_built: Year the building was built.
- open_rentals_count: Number of open rental listings in the building.
- open_sales_count: Number of open sales listings in the building.
- show_building_premium_page: Boolean indicating if the building has a premium page.
- medium_image_uri: URI for the medium image of the building.
- residential_unit_count: Number of residential units in the building.
- landmark_name: Name of the landmark.
- type: Type of the building.
- status: Current status of the building.
- additionalDetails: Additional details about the building.
- leasingStartDate: Date when leasing starts.
- salesStartDate: Date when sales start.
Property Features and Amenities
1{ 2 "propertyDetails": { 3 "address": { 4 "street": "string", 5 "houseNumber": "string", 6 "streetName": "string", 7 "city": "string", 8 "state": "string", 9 "zipCode": "string", 10 "unit": "string" 11 }, 12 "roomCount": "integer", 13 "amenities": { 14 "list": ["string"], 15 "doormanTypes": ["string"], 16 "parkingTypes": ["string"], 17 "sharedOutdoorSpaceTypes": ["string"], 18 "storageSpaceTypes": ["string"] 19 }, 20 "features": { 21 "list": ["string"], 22 "fireplaceTypes": ["string"], 23 "privateOutdoorSpaceTypes": ["string"], 24 "views": ["string"] 25 } 26 } 27}
Property Features and Amenities Fields Explanation
- address: Address details of the property.
- street: Street name.
- houseNumber: House number.
- streetName: Street name.
- city: City where the property is located.
- state: State where the property is located.
- zipCode: Zip code of the property.
- unit: Unit number of the property.
- roomCount: Number of rooms in the property.
- amenities: List of amenities available in the property.
- list: List of amenities.
- doormanTypes: Types of doorman services.
- parkingTypes: Types of parking available.
- sharedOutdoorSpaceTypes: Types of shared outdoor spaces.
- storageSpaceTypes: Types of storage spaces.
- features: List of features available in the property.
- list: List of features.
- fireplaceTypes: Types of fireplaces.
- privateOutdoorSpaceTypes: Types of private outdoor spaces.
- views: Types of views available from the property.
Contact Information
1{ 2 "contacts": [ 3 { 4 "secondary_phone": "string", 5 "license": { 6 "display_type": "string" 7 }, 8 "email": "string", 9 "id": "string", 10 "name": "string", 11 "primary_phone": "string", 12 "is_pro": "boolean", 13 "source_group": { 14 "label": "string", 15 "logo_url": "string" 16 }, 17 "photo_uri": "string", 18 "profile": { 19 "url": "string" 20 }, 21 "user_id": "string" 22 } 23 ] 24}
Contact Information Fields Explanation
- secondary_phone: Secondary phone number of the contact.
- license: License information of the contact.
- display_type: Display type of the license.
- email: Email address of the contact.
- id: Unique identifier for the contact.
- name: Name of the contact.
- primary_phone: Primary phone number of the contact.
- is_pro: Boolean indicating if the contact is a professional.
- source_group: Source group information.
- label: Label of the source group.
- logo_url: URL of the source group logo.
- photo_uri: URI for the photo of the contact.
- profile: Profile information of the contact.
- url: URL of the profile.
- user_id: User ID of the contact.
License Information
1{ 2 "license": { 3 "business_name": "string", 4 "business_address_1": "string", 5 "business_address_2": "string | null", 6 "business_city": "string", 7 "business_state": "string", 8 "business_zip": "string", 9 "full_business_address": "string", 10 "license_type": { 11 "label": "string" 12 } 13 } 14}
License Information Fields Explanation
- business_name: Name of the business.
- business_address_1: First line of the business address.
- business_address_2: Second line of the business address.
- business_city: City where the business is located.
- business_state: State where the business is located.
- business_zip: Zip code of the business.
- full_business_address: Full address of the business.
- license_type: Type of license.
- label: Label of the license type.
Price History
1{ 2 "price_histories": [ 3 { 4 "date": "YYYY-MM-DD", 5 "price": "integer", 6 "description": "string", 7 "event": "string", 8 "closing_id": "string | null" 9 } 10 ] 11}
Price History Fields Explanation
- date: Date of the price event.
- price: Price at the time of the event.
- description: Description of the price event.
- event: Type of price event (e.g., PRICE_DECREASE, LISTED).
- closing_id: Closing ID associated with the event.
Media Content
1{ 2 "media": { 3 "photos": [ 4 { 5 "key": "string", 6 "description": "string", 7 "url": "string" 8 } 9 ], 10 "floorPlans": ["array"], 11 "videos": ["array"], 12 "tour3dUrl": "string | null", 13 "assetCount": "integer" 14 } 15}
Media Content Fields Explanation
- photos: Array of photos of the property.
- key: Unique key for each photo.
- description: Description of the photo.
- url: URL of the photo.
- floorPlans: Array of floor plans of the property.
- videos: Array of videos of the property.
- tour3dUrl: URL for the 3D tour of the property.
- assetCount: Number of media assets (photos, videos, etc.).
Building Policies
1{ 2 "policies": { 3 "list": ["string"], 4 "petPolicy": { 5 "catsAllowed": "boolean | null", 6 "dogsAllowed": "boolean | null", 7 "maxDogWeight": "integer | null", 8 "restrictedDogBreeds": ["string"] 9 } 10 } 11}
Building Policies Fields Explanation
- list: List of building policies.
- petPolicy: Pet policy information.
- catsAllowed: Boolean indicating if cats are allowed.
- dogsAllowed: Boolean indicating if dogs are allowed.
- maxDogWeight: Maximum weight of allowed dogs.
- restrictedDogBreeds: List of restricted dog breeds.
Nearby Information
1{ 2 "nearby": { 3 "transitStations": [ 4 { 5 "name": "string", 6 "distance": "float", 7 "routes": ["string"], 8 "geo": { 9 "latitude": "float", 10 "longitude": "float" 11 } 12 } 13 ] 14 } 15}
Nearby Information Fields Explanation
- transitStations: Array of nearby transit stations.
- name: Name of the transit station.
- distance: Distance to the transit station.
- routes: List of routes available at the transit station.
- geo: Geographical coordinates of the transit station.
- latitude: Latitude of the transit station.
- longitude: Longitude of the transit station.
Schools Information
1{ 2 "nearbySchools": [ 3 { 4 "name": "string", 5 "district": "string", 6 "grades": ["string"], 7 "id": "string", 8 "idstr": "string", 9 "geoCenter": { 10 "latitude": "float", 11 "longitude": "float" 12 } 13 } 14 ] 15}
Schools Information Fields Explanation
- nearbySchools: Array of nearby schools.
- name: Name of the school.
- district: School district.
- grades: List of grades offered by the school.
- id: Unique identifier for the school.
- idstr: String identifier for the school.
- geoCenter: Geographical center of the school.
- latitude: Latitude of the school.
- longitude: Longitude of the school.
Property History
1{ 2 "propertyHistory": [ 3 { 4 "listingId": "string", 5 "sourceGroupLabel": "string", 6 "offMarketAt": "ISO 8601 date string | null", 7 "rentalEventsOfInterest": [ 8 { 9 "date": "YYYY-MM-DD", 10 "price": "integer", 11 "pricePercentChange": "float", 12 "status": "string" 13 } 14 ] 15 } 16 ] 17}
Property History Fields Explanation
- listingId: Unique identifier for the listing.
- sourceGroupLabel: Label of the source group.
- offMarketAt: Date when the property went off the market.
- rentalEventsOfInterest: Array of rental events of interest.
- date: Date of the rental event.
- price: Price at the time of the event.
- pricePercentChange: Percentage change in price.
- status: Status of the rental event.
Benefits
- Access comprehensive NYC real estate data programmatically
- Track market trends and price changes in real-time
- Generate detailed market analysis reports
- Monitor specific buildings or neighborhoods
- Export data in various formats for analysis
- Save countless hours of manual data collection
Why Choose This Scraper?
This StreetEasy.com scraper is specifically designed for the unique characteristics of the NYC real estate market. It handles the complexities of StreetEasy's data structure, including co-op and condo-specific information, building amenities, and NYC-specific property types. With built-in rate limiting and proxy support, it ensures reliable data collection while respecting the platform's usage guidelines.
Support
- GitHub Issues: Report issues here
- Documentation: Full documentation
- Contact:
- Email: support@example.com
- Twitter: @StreetEasyScraper
Additional Services
- Custom development and integration support
- Bulk data extraction services
- Market analysis report generation
- API access for real-time data
- Training and consulting services
Note: This scraper is not affiliated with, authorized, maintained, sponsored, or endorsed by StreetEasy.com or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own discretion.
Pricing
Pricing model
RentalTo use this Actor, you have to pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage.
Free trial
2 hours
Price
$15.00