Redfin Scraper with Contacts | Enterprise Grade
Pricing
from $0.70 / 1,000 property listings
Redfin Scraper with Contacts | Enterprise Grade
Extract Redfin listings at scale with deep property detail, sold comps, rental data, agents, valuation signals, parcel history, schools, climate risks, and rich media. Built for enterprise-grade real estate intelligence, market monitoring, and automated analytics pipelines.
Pricing
from $0.70 / 1,000 property listings
Rating
5.0
(1)
Developer
Fatih Tahta
Maintained by CommunityActor stats
2
Bookmarked
2
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Redfin Scraper | All-In-One
Slug: fatihtahta/redfin-scraper
Overview
Redfin Scraper | All-In-One collects structured Redfin listing intelligence, including for-sale homes, rental listings, sold comparables, prices, property facts, listing status, location details, media metadata, agents, amenities, history, valuation signals, parcel context, schools, and climate-related attributes when available. Redfin is a major residential real estate marketplace, and its public listing data is useful for market analysis, inventory monitoring, acquisition research, rental screening, and comparable-sales workflows. The actor converts public listing pages and market searches into repeatable JSON records that can be used in analytics tools, data warehouses, CRMs, and operational reporting systems. It is designed for consistent recurring data acquisition, with configurable geography, transaction type, filters, output volume, and optional detail enrichment. Use it when you need structured, automation-ready Redfin data without manually copying listing information into spreadsheets or internal systems.
Why Use This Actor
- Market research and analytics teams: collect normalized listing, pricing, location, amenity, and comparable-sale data for market intelligence, underwriting, and trend analysis.
- Product and content teams: populate internal tools, maps, directories, market pages, and editorial datasets with structured public real estate attributes.
- Developers and data engineering teams: feed repeatable collection jobs into downstream systems, ETL pipelines, warehouses, search indexes, and monitoring workflows.
- Lead generation and enrichment teams: build targeted property, owner-adjacent, broker, listing, and agent-context datasets for qualification and enrichment pipelines.
- Monitoring and competitive tracking teams: schedule recurring runs to watch inventory movement, price changes, listing freshness, sale status, and geographic coverage.
Common Use Cases
- Market intelligence: monitor active supply, sold comparables, rental availability, pricing bands, lot sizes, property types, and neighborhood signals.
- Lead generation: build targeted prospect lists from public listings using location, price, asset profile, listing status, keyword, and amenity filters.
- Competitive monitoring: track changes across markets, listing categories, price segments, new construction, foreclosure inventory, or Redfin-only listings.
- Catalog and directory building: populate internal property databases with structured public listing records and consistent identifiers.
- Data enrichment: add current public listing, valuation, school, climate, parcel, media, and agent attributes to CRM, BI, or analytics datasets.
- Recurring reporting: schedule periodic runs for dashboards, alerts, underwriting queues, market briefs, and trend analysis.
Quick Start
- Choose the listing mode with
deal_type:buy,rent, orsold. - Enter one or more supported Redfin
locationvalues, such as city plus state, ZIP code, neighborhood, county, or market name. State-wide searches are not supported. - Add only the filters needed for the first validation run, such as price range, bedrooms, property type, listing freshness, or sale status.
- Set a small
limitto confirm that the dataset shape matches your use case. - Run the actor in Apify Console and inspect the first dataset records.
- Increase coverage, enable
enrich_data, add filters, or schedule recurring runs after the output is validated.
Input Parameters
The actor accepts one required geography list and optional controls for listing mode, price, size, property type, amenities, freshness, ownership costs, output volume, and enrichment.
| Parameter | Type | Description | Default |
|---|---|---|---|
location | array of strings | Required. One or more city plus state, ZIP code, neighborhood, county, or market name values, for example Austin, TX, 90210, Brooklyn Heights, NY, or Orange County, CA. State-wide searches such as California are not supported. | – |
deal_type | string | Listing mode. Allowed values: buy, rent, sold. | buy |
sale_status | array of strings | For-sale listing statuses to include. Allowed values: coming_soon, active, under_contract. | ["coming_soon", "active"] |
sold_date_range | string | Sold-comparable lookback window. Used only when deal_type is sold; ignored for buy and rent. Allowed values: last_1_week, last_1_month, last_3_months, last_6_months, last_1_year, last_2_years, last_3_years, last_5_years. | last_3_months |
min_price | integer | Minimum listing price in USD. | – |
max_price | integer | Maximum listing price in USD. | – |
min_bedroom | string | Minimum bedroom count. Allowed values: Studio, 1, 2, 3, 4, 5+. | – |
max_bedroom | string | Maximum bedroom count. Allowed values: Studio, 1, 2, 3, 4, 5+. | – |
min_bathroom | string | Minimum bathroom count. Allowed values: 1+, 1.5+, 2+, 2.5+, 3+, 4+. | – |
min_parking | string | Minimum parking spaces. Allowed values: 1+, 2+, 3+, 4+, 5+. | – |
include_outdoor_parking | boolean | Whether outdoor parking should count toward the parking requirement. | false |
min_building_area | integer | Minimum interior area in square feet. | – |
max_building_area | integer | Maximum interior area in square feet. | – |
min_land_area | string | Minimum lot size. Allowed values: no_min, 2000_sqft, 4500_sqft, 6500_sqft, 8000_sqft, 9500_sqft, 0.25_acres, 0.5_acres, 1_acres, 2_acres, 3_acres, 4_acres, 5_acres, 10_acres, 20_acres, 40_acres, 100_acres. | no_min |
max_land_area | string | Maximum lot size. Allowed values: no_min, 2000_sqft, 4500_sqft, 6500_sqft, 8000_sqft, 9500_sqft, 0.25_acres, 0.5_acres, 1_acres, 2_acres, 3_acres, 4_acres, 5_acres, 10_acres, 20_acres, 40_acres, 100_acres. | no_min |
min_building_year | string | Earliest acceptable year built. Allowed values: 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2010, 2005, 2000, 1990, 1980, 1970, 1960, 1950, 1940, 1920, 1900. | – |
max_building_year | string | Latest acceptable year built. Allowed values: 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2010, 2005, 2000, 1990, 1980, 1970, 1960, 1950, 1940, 1920, 1900. | – |
min_stories | string | Minimum story count. Allowed values: 1, 2, 3, 4, 5, 10, 15, 20. | – |
max_stories | string | Maximum story count. Allowed values: 1, 2, 3, 4, 5, 10, 15, 20. | – |
property_type | array of strings | Property classes to include. Allowed values: house, townhouse, condo, land, multi_family, mobile, co_op, other. | – |
pool | string | Pool preference. Allowed values: private_pool, community_pool, private_or_community_pool, no_private_pool. | – |
tour_options | array of strings | Tour and open-house requirements. Allowed values: open_house_this_weekend, open_house_anytime, 3d_tour. | – |
publication_date | string | Time-on-market window. Allowed values: last_24_hours, last_3_days, last_7_days, last_14_days, last_30_days, over_7_days, over_14_days, over_30_days, over_45_days, over_60_days, over_90_days, over_180_days. | – |
keyword | string | Text to search for in listing remarks, such as ADU, waterfront, fixer, or seller credit. | – |
listing_type | array of strings | For-sale listing categories. Allowed values: by_agent, foreclosures, by_owner, exclude_short_sales, new_construction, redfin_listings_only. | ["by_agent", "foreclosures", "by_owner", "new_construction"] |
amenities | array of strings | Home-feature requirements. Allowed values: air_conditioning, basement_finished, basement_unfinished, waterfront, washer_dryer_hookup, has_view, pets_allowed, fireplace, primary_bedroom_on_main_floor, fixer_upper, rv_parking, guest_house, green_home, elevator, accessible_home. | – |
min_walk_score | integer | Minimum Walk Score from 1 to 100. | – |
min_transit_score | integer | Minimum Transit Score from 1 to 100. | – |
min_bike_score | integer | Minimum Bike Score from 1 to 100. | – |
min_greatschools_score | integer | Minimum GreatSchools rating from 1 to 10. | – |
max_hoa_fee | string | Maximum monthly HOA fee in USD. Allowed values: no_fee, 25, 50, 75, 100, 150, 200, 250, 300, 400, 500, 600, 700, 800, 900, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3500, 4000, 4500, 5000. | – |
max_property_tax | string | Maximum annual property tax in USD. Allowed values: no_tax, 250, 500, 750, 1000, 1250, 1500, 1750, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000, 8000, 10000, 12000, 14000, 16000, 20000, 24000. | – |
enrich_data | boolean | Collect richer listing details when available, including remarks, amenities, schools, neighborhood scores, climate context, parcel metadata, valuation signals, and summaries. | true |
limit | integer | Maximum number of listings to save. Minimum: 1. Leave empty when completeness is more important than a predictable output size. | – |
Choosing Inputs
Start with deal_type and location; together they define the baseline listing universe. Add multiple locations when you want the same mode and filters applied across several markets in one run. Use narrower filters such as property_type, price range, bedroom count, lot size, listing freshness, sale status, amenities, and score thresholds when you need a targeted dataset. Leave optional filters empty when the goal is discovery or market coverage. Use limit for validation and sampling first, then increase it after confirming that the output quality and field coverage match your workflow. Enable enrich_data when downstream systems need a fuller diligence record rather than a lightweight search-result export.
Example Inputs
Active for-sale inventory sample
{"deal_type": "buy","location": ["Chicago, IL"],"sale_status": ["active"],"property_type": ["house", "townhouse"],"min_price": 250000,"max_price": 750000,"limit": 25}
Rental supply monitor
{"deal_type": "rent","location": ["Austin, TX", "Dallas, TX"],"min_bedroom": "2","max_price": 3500,"tour_options": ["3d_tour"],"limit": 30}
Recently listed comp-focused run
{"deal_type": "buy","location": ["90210"],"publication_date": "last_7_days","property_type": ["condo"],"min_bathroom": "2+","enrich_data": true,"limit": 15}
Output
Output destination
The actor writes results to an Apify dataset as JSON records. The dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs with minimal post-processing.
When multiple entity types or record shapes exist, the README documents each shape separately based on the provided Example Output. The provided output contains a single Redfin listing record shape.
Record envelope and stable identifiers
Each record represents one public Redfin listing or property result. The strongest recommended idempotency key is id; use url or the composite identifiers.property_id + identifiers.listing_id as a fallback when needed. For repeated runs, deduplicate and upsert records using the idempotency key before syncing data into a warehouse, CRM, search index, or reporting table. Stable identifiers make records easier to merge, deduplicate, and sync across recurring runs.
The source_context.fingerprint field is useful as a run-context fingerprint for tracing where a record came from. The source_context.source_url and source_context.detail_url fields document the source context and public listing destination associated with the record when available.
Examples
Example: Redfin listing record
{"id": "215957479","url": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","title": "6602 W Montrose Ave Harwood Heights IL 60706","status": "Active","source_context": {"fingerprint": "f3c6c5e5f80f60b3708c","source_url": "https://www.redfin.com/stingray/api/gis?al=1&include_nearby_homes=true&mpt=99&num_homes=350&ord=redfin-recommended-asc&page_number=1®ion_id=29470®ion_type=6&sf=1%2C2%2C3%2C5%2C6%2C7&start=0&status=1&uipt=1%2C2%2C3%2C4%2C5%2C6%2C7%2C8&v=8","detail_url": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","domain": "www.redfin.com","seed_id": "37324f8303afa29e0bc0","seed_type": "search","seed_value": "Chicago, IL","resolved_location": "Chicago","resolved_location_url": "https://www.redfin.com/city/29470/IL/Chicago","page_index": 1,"search": {"sale_status": ["active"],"sort_by": "recommended","listing_type": ["by_agent", "foreclosures", "by_owner", "new_construction"],"deal_type": "buy"}},"identifiers": {"property_id": "13471557","listing_id": "215957479","mls_id": "12656480","data_source_id": "68","market_id": "6","business_market_id": "12","fips": "17031","apn": "13184040130000"},"location": {"address": "6602 W Montrose Ave, Harwood Heights, IL 60706","street": "6602 W Montrose Ave","city": "Harwood Heights","state": "IL","postal_code": "60706","country_code": "US","area": "Harwood Heights","coordinates": {"latitude": 41.960325,"longitude": -87.7919485},"show_address_on_map": true,"timezone": "US/Central"},"pricing": {"price": 395000,"sold_price": 77500,"price_per_sqft": 294,"hide_sale_price": false,"is_hoa_frequency_known": true,"price_info": {"amount": 395000,"label": "Price","display_level": 1,"data_source_id": 68},"latest_price_info": {"amount": 395000,"label": "Price","display_level": 1,"data_source_id": 68}},"property": {"beds": 3,"baths": 2.0,"full_baths": 2,"raw_full_baths": 2,"raw_half_baths": 0,"stories": 1.0,"sqft": 1343,"property_type_id": 6,"ui_property_type_id": 1,"listing_type_id": 1,"garage_spaces": 2,"parking_spaces": 2,"pool_type_id": 5,"public_facts": {"beds": 3,"baths": 1.0,"property_type_name": "Single Family Residential","num_stories": 1.5,"year_built": 1939,"sq_ft_finished": 1207,"total_sq_ft": 1207,"lot_sq_ft": 2500,"apn": "13184040130000","property_last_updated_date": 1776979072250,"display_time_zone": "US/Central"},"key_facts": ["Newer kitchen", "Recessed lighting", "Hardwood floors"],"key_facts_detailed": [{"description": "Newer kitchen","rank": 0},{"description": "Recessed lighting","rank": 1},{"description": "Hardwood floors","rank": 2}]},"transaction": {"deal_type": "buy","mls_status": "Active","search_status_id": 1,"property_status": {"display_value": "Active","definition": "This listing is for sale and the sellers are accepting offers.","longer_definition_token": "active"},"mls_status_display": {"display_value": "Active","definition": "This listing is for sale and the sellers are accepting offers.","longer_definition_token": "active"},"sold_at": "1992-07-10T07:00:00+00:00","sold_date": "Jul 10, 1992","sold_date_timezone": "US/Central","days_on_market": 1,"time_on_redfin": 21919287,"original_time_on_redfin": 21919299},"media": {"photos": "0-37:0","photo_count": 38,"photo_format": "webp","primary_photo_url": "https://ssl.cdn-redfin.com/photo/68/bigphoto/480/12656480_0.jpg","static_map_url": "https://maps.google.com/maps/api/staticmap?center=41.960325%2C-87.7919485&channel=desktop_xdp_above_fold_static_preview&client=gme-redfin&format=jpg&scale=1&sensor=false&signature=OGfS_twObntwXQ3cFn17EknRGDY%3D&size=200x200&style=feature%3Aadministrative.land_parcel%7Cvisibility%3Aoff&style=feature%3Alandscape.man_made%7Cvisibility%3Aoff&style=feature%3Atransit.station%7Chue%3A0xffa200&zoom=11","photo_captions": [{"photo_id": 3218173074,"photo_url": "https://ssl.cdn-redfin.com/photo/68/bigphoto/480/12656480_29_0.jpg","thumbnail_url": "https://ssl.cdn-redfin.com/photo/68/midphoto/480/genMid.12656480_29_0.jpg","tags": ["All"],"short_caption": "Covered patio with furniture","long_caption": "A covered patio with a table, chairs, and a grill."},{"photo_id": 3218173013,"photo_url": "https://ssl.cdn-redfin.com/photo/68/bigphoto/480/12656480_0.jpg","thumbnail_url": "https://ssl.cdn-redfin.com/photo/68/midphoto/480/genMid.12656480_0.jpg","tags": ["All", "Exterior"],"short_caption": "Charming Cape Cod home","long_caption": "A Cape Cod-style home with a brown roof and white siding, featuring a front porch with a black railing and potted plants."},{"photo_id": 3218173077,"photo_url": "https://ssl.cdn-redfin.com/photo/68/bigphoto/480/12656480_30_0.jpg","thumbnail_url": "https://ssl.cdn-redfin.com/photo/68/midphoto/480/genMid.12656480_30_0.jpg","tags": ["All"],"short_caption": "Outdoor patio with grill","long_caption": "An outdoor patio with a couch, table, and grill."}],"badges": [{"sash_type": 7,"sash_type_id": 7,"sash_type_name": "New","sash_type_color": "#2E7E36","is_redfin": false,"is_active_key_listing": false,"time_on_redfin": 21919770}],"has_virtual_tour": false,"has_video_tour": false,"has_3d_tour": false},"description": {"listing_remarks": "Desirable close-to-everything location in wonderful Harwood Heights! Charming and beautifully updated Cape Cod-style home with Tudor-inspired architectural details and outstanding curb appeal. Proudly maintained by the same owners for the past 29 years, this impressive move-in-ready home offers 3 bedrooms, 2 full bathrooms, and countless updates throughout the years of ownership. Step inside to a bright and inviting open-concept main level featuring hardwood floors, recessed lighting, and a newer kitchen designed for both everyday living and entertaining. This truly turn-key home is perfect as a starter home, downsizing opportunity, or investment property. Major improvements include roof and gutters only 7 years old, furnace approximately 10 years old, newer front yard sod installed 2 years ago, and a whole-house water filtration system that will stay with the property and newer windows. Enjoy the fully fenced private patio area-perfect for entertaining, relaxing, and family gatherings-along with a detached 2-car garage and side driveway access. Fantastic location close to parks, shopping, restaurants, public transportation, Metra, major highways, and O'Hare Airport, making commuting a breeze. A rare opportunity to own in one of the area's most desirable residential communities! Sold As-Is Condition. Truly an exceptional home - schedule your showing today before it's gone!","marketing_remarks": ["Desirable close-to-everything location in wonderful Harwood Heights! Charming and beautifully updated Cape Cod-style home with Tudor-inspired architectural details and outstanding curb appeal. Proudly maintained by the same owners for the past 29 years, this impressive move-in-ready home offers 3 bedrooms, 2 full bathrooms, and countless updates throughout the years of ownership. Step inside to a bright and inviting open-concept main level featuring hardwood floors, recessed lighting, and a newer kitchen designed for both everyday living and entertaining. This truly turn-key home is perfect as a starter home, downsizing opportunity, or investment property. Major improvements include roof and gutters only 7 years old, furnace approximately 10 years old, newer front yard sod installed 2 years ago, and a whole-house water filtration system that will stay with the property and newer windows. Enjoy the fully fenced private patio area-perfect for entertaining, relaxing, and family gatherings-along with a detached 2-car garage and side driveway access. Fantastic location close to parks, shopping, restaurants, public transportation, Metra, major highways, and O'Hare Airport, making commuting a breeze. A rare opportunity to own in one of the area's most desirable residential communities! Sold As-Is Condition. Truly an exceptional home - schedule your showing today before it's gone!"],"ai_summary": "- Cape Cod-style home with Tudor-inspired details and strong curb appeal. - Open-concept main level with hardwood floors, recessed lighting, and a newer kitchen. - Fully fenced private patio for entertaining with a detached 2-car garage and side driveway. - Updates include roof and gutters 7 years old, newer windows, and whole-house water filtration. - Prime location near parks, transit, Metra, and O'Hare access.","meta_description": "For Sale: 3 beds, 2 baths ∙ 1343 sq. ft. ∙ 6602 W Montrose Ave, Harwood Heights, IL 60706 ∙ $395,000 ∙ MLS# 12656480 ∙ Desirable close-to-everything location in wonderful Harwood Heights! Charming ...","short_description": "Desirable close-to-everything location in wonderful Harwood Heights! Charming and beautifully updated Cape Cod-style home with Tudor-inspired architectural details and outstanding curb appeal. Prou...","meta_tags": {"icbm": "41.960325, -87.7919485","geo.position": "41.960325;-87.7919485","geo.placename": "Harwood Heights, IL","geo.region": "US-IL","description": "For Sale: 3 beds, 2 baths ∙ 1343 sq. ft. ∙ 6602 W Montrose Ave, Harwood Heights, IL 60706 ∙ $395,000 ∙ MLS# 12656480 ∙ Desirable close-to-everything location in wonderful Harwood Heights! Charming ...","twitter:card": "summary_large_image","twitter:title": "6602 W Montrose Ave, Harwood Heights, IL 60706 - 3 beds/2 baths","twitter:description": "(MRED as Distributed by MLS Grid) For Sale: 3 beds, 2 baths ∙ 1343 sq. ft. ∙ 6602 W Montrose Ave, Harwood Heights, IL 60706 ∙ $395,000 ∙ MLS# 12656480 ∙ Desirable close-to-everything location in wonderful Harwood Heights! Charming ...","twitter:image": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_0.jpg","twitter:image:alt": "6602 W Montrose Ave, Harwood Heights, IL 60706 - 3 beds/2 baths","twitter:site": "@redfin","twitter:text:title": "6602 W Montrose Ave, Harwood Heights, IL 60706 - 3 beds/2 baths","twitter:text:description": "(MRED as Distributed by MLS Grid) For Sale: 3 beds, 2 baths ∙ 1343 sq. ft. ∙ 6602 W Montrose Ave, Harwood Heights, IL 60706 ∙ $395,000 ∙ MLS# 12656480 ∙ Desirable close-to-everything location in wonderful Harwood Heights! Charming ...","twitter:text:description_simple": "Desirable close-to-everything location in wonderful Harwood Heights! Charming and beautifully updated Cape Cod-style home with Tudor-inspired architectural details and outstanding curb appeal. Prou...","twitter:image:src": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_0.jpg","twitter:text:street_address": "6602 W Montrose Ave","twitter:text:city": "Harwood Heights","twitter:text:state_code": "IL","twitter:text:zip": "60706","twitter:text:listing_source": "MRED as Distributed by MLS Grid","twitter:text:price": "$395,000","twitter:text:beds": "3","twitter:text:baths": "2","twitter:text:sqft": "1,343","twitter:image:sash": "http://ssl.cdn-redfin.com/vLATEST/images/search/details/twitterCards/twitter-card-corner-forsale.png","twitter:image:home": "http://ssl.cdn-redfin.com/vLATEST/images/search/details/twitterCards/twitter-card-icon-home.png","twitter:image:photo0": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_0.jpg","twitter:image:photo1": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_1_0.jpg","twitter:image:photo2": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_2_0.jpg","twitter:image:photo3": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_3_0.jpg","twitter:image:camera": "http://ssl.cdn-redfin.com/vLATEST/images/search/details/twitterCards/twitter-card-camera-160x160.png","twitter:image:camera_wide": "http://ssl.cdn-redfin.com/vLATEST/images/search/details/twitterCards/twitter-card-camera-preview-wide.png","twitter:url:landing_url": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","twitter:phone:number": "8779733346","twitter:app:name:iphone": "Redfin Real Estate","twitter:app:id:iphone": "327962480","twitter:app:url:iphone": "redfin://home/13471557","twitter:app:name:ipad": "Redfin Real Estate","twitter:app:id:ipad": "327962480","twitter:app:url:ipad": "redfin://home/13471557","twitter:app:name:googleplay": "Redfin Real Estate","twitter:app:id:googleplay": "com.redfin.android","twitter:app:url:googleplay": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","og:title": "6602 W Montrose Ave, Harwood Heights, IL 60706 - 3 beds/2 baths","og:type": "redfinrealestate:home","og:url": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","og:image": "https://ssl.cdn-redfin.com/photo/68/mbpaddedwide/480/genMid.12656480_0.jpg","og:image:width": "1621","og:image:height": "1080","og:site_name": "Redfin","og:description": "(MRED as Distributed by MLS Grid) For Sale: 3 beds, 2 baths ∙ 1343 sq. ft. ∙ 6602 W Montrose Ave, Harwood Heights, IL 60706 ∙ $395,000 ∙ MLS# 12656480 ∙ Desirable close-to-everything location in wonderful Harwood Heights! Charming ...","fb:app_id": "161006757273279","al:ios:url": "redfin://home/13471557","al:ios:app_store_id": "327962480","al:ios:app_name": "Redfin Real Estate","al:android:url": "https://www.redfin.com/IL/Harwood-Heights/6602-W-Montrose-Ave-60706/home/13471557","al:android:package": "com.redfin.android","al:android:app_name": "Redfin Real Estate"}},"agents": {"listing_agents": [{"agent_name": "Gerard Scheffler","broker_name": "Home Gallery Realty Corp."}],"listing_source": {"data_source_id": 68,"data_source_description": "Midwest Real Estate Data LLC (MRED)","data_source_name": "MRED as Distributed by MLS Grid","should_show_larger_logo": false},"contact_phone": "(224) 507-5311","contact_phone_url": "tel:+12245075311","recommended_agent": {"full_name": "BJ Tregoning","name": "BJ Tregoning","first_name": "BJ","last_name": "Tregoning","job_title": "Redfin Agent","brokerage_name": "Redfin","team_name": "Northwest Suburbs Team","team_email": "northwest-suburbs-all@redfin.com","phone_number": "773-733-0425","client_displayable_phone_number": "(773) 733-0425","twilio_contact_box_phone": "(224) 507-5311","phone_url": "tel:+17737330425","phone_type": "Office","profile_url": "/real-estate-agents/bj-tregoning","license_number": "475118019","average_rating": 9.95,"average_rating_for_customer_display": 5.0,"num_reviews": 21,"agent_average_response_minutes": 16,"total_deals_in_past_year": 24,"business_market": "Chicago"},"recommended_agent_phone": "(773) 733-0425","recommended_agent_phone_url": "tel:+17737330425"},"amenities": {"selected": {"Style": "Cape Cod","Community": "Harwood Heights","County": "Cook","MLS#": "12656480","Property Type": "Single-family","Heating & cooling": "Has A/C","Laundry": "In-unit laundry (washer and dryer)","Parking": "2 car garage"},"groups": {"parking": {"parking__information": ["# of Garage Spaces: 2","# of Parking (Total): 2","Parking Features: Garage Owned, Detached, Garage"]},"interior": {"bathroom__information": ["# of Baths (Full): 2"],"bedroom__information": ["# of Bedrooms: 3", "# of Bedrooms Possible: 3"],"room__information": ["Room Type: Walk In Closet","Level: Main","Dimensions: 6 x 10","Room Type: Foyer","Level: Main","Dimensions: 5 x 12","Flooring: Hardwood","Room Type: Bedroom 2","Level: Main","Dimensions: 9 x 11","Flooring: Hardwood","Room Type: Bedroom 3","Level: Second","Dimensions: 10 x 14","Flooring: Hardwood","Room Type: Bedroom 4","Room Type: Dining Room","Level: Main","Dimensions: 10 x 12","Room Type: Family Room","Room Type: Kitchen","Level: Main","Dimensions: 10 x 19","Flooring: Hardwood","Room Type: Laundry","Level: Main","Dimensions: 6 x 10","Room Type: Living Room","Level: Main","Dimensions: 13 x 17","Flooring: Hardwood","Room Type: Master Bedroom","Level: Second","Dimensions: 15 x 18","Flooring: Hardwood","Bath: None"],"additional__rooms__information": ["Basement: Crawl Space"],"interior__features": ["Interior Features: Open Floorplan, Granite Counters", "# of Rooms: 6", "Flooring: Hardwood"],"equipment": ["Appliances: Range, Dishwasher, Refrigerator, Washer, Dryer"]},"exterior": {"building__information": ["Living Area Source: Taped", "Age: 81-90 Years", "Built Before 1978 (Y/N): No", "Construction Materials: Vinyl Siding, Frame"],"property__information": ["Property Type: Detached Single", "Property Type: 1 Story", "Ownership: Fee Simple", "Rebuilt (Y/N): No", "Rehab (Y/N): No", "Parcel Number: 13184040130000"],"lot__information": ["Dimensions: 3125", "Lot Size: Less Than .25 Acre"]},"financial": {"tax__information": ["Tax Annual Amount: $4,910.88", "Tax Year: 2024", "Tax Exemptions: Homeowner,Senior"],"financial__information": ["Special Service Area: N"]},"utilities": {"utility__information": ["Water Source: Public", "Sewer: Public Sewer"],"heating_&__cooling": ["Heating: Natural Gas", "Cooling: Central Air"]},"location": {"homeowners__association__information": ["Master Association Fee Frequency: Not Required"],"school__information": ["Elementary School District: 86", "Middle Or Junior School District: 86", "High School District: 234"],"location__information": ["Township: Norwood Park", "Corporate Limits: Harwood Heights", "Directions: Harlem to montrose east to property"]},"public_facts": {"details": ["Beds: 3","Baths: 1.0","Finished Sq. Ft.: 1,207","Unfinished Sq. Ft.: —","Total Sq. Ft.: 1,207","Stories: 1.5","Lot Size: 2,500 square feet","Style: Single Family Residential","Year Built: 1939","Year Renovated: —","County: Cook County","APN: 13184040130000"]},"other": {"listing__information": ["Holds Earnest Money: No", "Possession: Closing", "Some Photos Virtually Staged?: No"]}},"highlight_tags": ["HARDWOOD FLOORS", "UPDATED CAPE COD-STYLE HOME", "RECESSED LIGHTING", "NEWER KITCHEN", "DETACHED 2-CAR GARAGE", "OPEN-CONCEPT MAIN LEVEL"]},"history": {"property": [{"is_event_admin_only": false,"price": 395000,"is_price_admin_only": false,"event_description": "Listed","mls_description": "Active","source": "MRED as Distributed by MLS Grid","source_id": "12656480","data_source_display": {"data_source_id": 68,"data_source_description": "Midwest Real Estate Data LLC (MRED)","data_source_name": "MRED as Distributed by MLS Grid","data_source_image": "br_small.png","should_show_larger_logo": false},"price_display_level": 1,"history_event_type": 1,"event_date": 1779519600000},{"is_event_admin_only": false,"price": 77500,"is_price_admin_only": false,"event_description": "Sold (Public Records)","source": "Public Records","data_source_display": {"should_show_larger_logo": false},"price_display_level": 1,"history_event_type": 2,"event_date": 710751600000,"event_date_string": "Jul 10, 1992"}],"tax": [{"taxable_land_value": 3250,"taxable_improvement_value": 19750,"roll_year": 2023,"taxes_due": 4275.94},{"taxable_land_value": 3250,"taxable_improvement_value": 19750,"roll_year": 2022,"taxes_due": 4102.11},{"taxable_land_value": 2875,"taxable_improvement_value": 14975,"roll_year": 2021,"taxes_due": 3989.22}],"tax_info": {"taxable_land_value": 3250,"taxable_improvement_value": 19750,"roll_year": 2023,"taxes_due": 4275.94}},"valuation": {"automated_valuation": {"property_id": 13471557,"predicted_value": 395162.12,"display_level": 1,"section_preview_text": "$395,162"},"rental_estimate": {"property_id": 13471557,"predicted_value": 2330,"predicted_value_low": 2292,"predicted_value_high": 2392,"display_level": 1,"should_show": true,"preview_text": "$2,292 - $2,392 / mo"}},"parcel": {"info": {"section_preview_text": "Map and directions","fips_code": "17031","apn": "13184040130000","parcel_lid": "0200NKHYYF34ST91J8LDX5","map_location_display_level": 1,"time_zone": "US/Central","coordinates": {"latitude": 41.960325,"longitude": -87.7919485},"bounds": [{"latitude": 41.9602210718952,"longitude": -87.7919960872439},{"latitude": 41.9604971329964,"longitude": -87.7920061789784},{"latitude": 41.9604988400084,"longitude": -87.7919142449267},{"latitude": 41.9602227789071,"longitude": -87.7919041551922},{"latitude": 41.9602210718952,"longitude": -87.7919960872439}]},"boundary": {"parcel_lid": "0200NKHYYF34ST91J8LDX5","fips_code": "17031"}},"scores": {"neighborhood_stats": {"section_preview_text": "Walk Score: 70 | Very Walkable"},"climate_risks": {"fsid": "170839223","risk_factor_property_url": "https://firststreet.org/property/170839223/170839223_fsid/0","risks": {"flood": {"score": 1,"score_description": "This property's flood risk is not significantly changing over time.","heading": "1/10 Flood Factor","summary": "Minimal risk of a flood reaching the building in the next 30 years","current_graph_value": 0.0,"thirty_year_graph_value": 0.0},"fire": {"score": 1,"score_description": "This property's fire risk is not significantly changing over time.","heading": "1/10 Fire Factor","summary": "Unlikely to be in a wildfire in next 30 years"},"heat": {"score": 3,"score_description": "This property's heat risk is increasing as weather patterns change.","heading": "3/10 Heat Factor","summary": "7 days above 99° expected this year, 14 days in 30 years","current_graph_value": 7.0,"thirty_year_graph_value": 14.0},"wind": {"score": 2,"score_description": "This property's wind risk is not significantly changing over time.","heading": "2/10 Wind Factor","summary": "0% chance of strong winds in next 30 years","current_graph_value": 0.0,"thirty_year_graph_value": 0.0},"air": {"score": 4,"score_description": "This property's air risk is increasing as weather patterns change.","heading": "4/10 Air Factor","summary": "6 unhealthy days expected this year, 7 days in 30 years","current_graph_value": 6.0,"thirty_year_graph_value": 7.0}}},"schools": {"serving_schools": [{"name": "Union Ridge Elementary School","rating": 7,"parent_rating": 4,"grades": "PreK-8","type": "Public","distance_miles": 0.5,"students": 651,"student_teacher_ratio": 13,"address": "4600 N Oak Park Ave, Harwood Heights, IL 60706","url": "https://www.greatschools.org/illinois/harwood-heights/3974-Union-Ridge-Elementary-School/"},{"name": "Ridgewood Community High School","rating": 8,"parent_rating": 3,"grades": "9-12","type": "Public","distance_miles": 1.2,"students": 965,"student_teacher_ratio": 15,"address": "7500 W Montrose Ave, Norridge, IL 60706","url": "https://www.greatschools.org/illinois/norridge/3487-Ridgewood-Community-High-School/"}],"districts": [{"name": "Ridgewood Chsd 234 School District","url": "http://www.d234.org","district_id": "13043","has_choice_schools": false},{"name": "Union Ridge School District 86","url": "http://www.urs86.org","district_id": "13786","has_choice_schools": false}],"total_schools_serviced": 0,"section_preview_text": "Average rating 7 out of 10"}},"rental": {"page_route": {"response_code": 404}},"flags": {"is_hot": false,"is_redfin": false,"is_new_construction": false,"is_shortlisted": false,"is_viewed_listing": false,"show_mls_id": false,"show_datasource_logo": false,"remarks_access_level": 1},"attributes": {"listing_tags": ["UPDATED CAPE COD-STYLE HOME", "OPEN-CONCEPT MAIN LEVEL", "HARDWOOD FLOORS", "RECESSED LIGHTING", "NEWER KITCHEN", "DETACHED 2-CAR GARAGE"]}}
Field Reference
Redfin listing record
id (string, required): Stable listing identifier; recommended primary idempotency key.
url (string, required): Public Redfin listing URL.
title (string, optional): Listing title or address-style label.
status (string, optional): Human-readable listing status.
source_context.fingerprint (string, optional): Source-context fingerprint for traceability.
source_context.source_url (string, optional): Source context associated with the collected record.
source_context.detail_url (string, optional): Public detail URL for the listing.
source_context.domain (string, optional): Source domain.
source_context.seed_id / seed_type / seed_value (string, optional): Input seed metadata for the run.
source_context.resolved_location / resolved_location_url (string, optional): Redfin-recognized geography used for the search.
source_context.page_index (integer, optional): Result page index associated with the record.
source_context.search.sale_status / sort_by / listing_type / deal_type (array/string, optional): Search criteria reflected in the record context.
identifiers.property_id (string, optional): Redfin property identifier.
identifiers.listing_id (string, optional): Redfin listing identifier.
identifiers.mls_id (string, optional): MLS identifier when provided.
identifiers.data_source_id / market_id / business_market_id / fips / apn (string, optional): Market, source, jurisdiction, and parcel identifiers.
location.address / street / city / state / postal_code / country_code / area (string, optional): Structured address and geographic labels.
location.coordinates.latitude / longitude (number, optional): Geographic coordinates.
location.show_address_on_map (boolean, optional): Whether the address is displayed on the map.
location.timezone (string, optional): Listing timezone.
pricing.price / sold_price / price_per_sqft (number, optional): Current price, historical sold price, and price per square foot in USD.
pricing.hide_sale_price / is_hoa_frequency_known (boolean, optional): Sale-price and HOA-display indicators.
pricing.price_info.amount / label / display_level / data_source_id (number/string, optional): Display price metadata.
pricing.latest_price_info.amount / label / display_level / data_source_id (number/string, optional): Latest display price metadata.
property.beds / baths / full_baths / raw_full_baths / raw_half_baths (number, optional): Bedroom and bathroom counts.
property.stories / sqft / garage_spaces / parking_spaces (number, optional): Physical property size and parking facts.
property.property_type_id / ui_property_type_id / listing_type_id / pool_type_id (number, optional): Property classification identifiers.
property.public_facts.* (object, optional): Public facts such as beds, baths, property type name, stories, year built, finished area, total area, lot area, APN, update timestamp, and timezone.
property.key_facts (array, optional): Highlight facts for the listing.
property.key_facts_detailed.description / rank (string/number, optional): Ranked highlight facts.
transaction.deal_type / mls_status / search_status_id (string/number, optional): Transaction mode and status identifiers.
transaction.property_status.* (object, optional): Public property-status label and definition.
transaction.mls_status_display.* (object, optional): MLS status label and definition.
transaction.sold_at / sold_date / sold_date_timezone (string, optional): Sold-date fields when available.
transaction.days_on_market / time_on_redfin / original_time_on_redfin (number, optional): Listing recency and exposure metrics.
media.photos / photo_count / photo_format (string/number, optional): Photo inventory metadata.
media.primary_photo_url / static_map_url (string, optional): Primary image and map image URLs.
media.photo_captions.photo_id / photo_url / thumbnail_url / tags / short_caption / long_caption (number/string/array, optional): Photo caption and media details.
media.badges.* (array, optional): Listing badges such as new-listing labels and badge display attributes.
media.has_virtual_tour / has_video_tour / has_3d_tour (boolean, optional): Media availability flags.
description.listing_remarks / marketing_remarks / ai_summary / meta_description / short_description (string/array, optional): Listing remarks and summaries.
description.meta_tags.* (object, optional): Public page metadata when available.
agents.listing_agents.agent_name / broker_name (string, optional): Listing agent and broker names.
agents.listing_source.* (object, optional): Listing-source metadata.
agents.contact_phone / contact_phone_url (string, optional): Contact phone fields.
agents.recommended_agent.* (object, optional): Recommended-agent profile, contact, rating, review, response-time, and team fields.
agents.recommended_agent_phone / recommended_agent_phone_url (string, optional): Recommended-agent phone fields.
amenities.selected.* (object, optional): Selected amenity and listing-fact labels.
amenities.groups.* (object, optional): Grouped property details such as parking, interior, exterior, financial, utilities, location, public facts, and other listing information.
amenities.highlight_tags (array, optional): Highlighted listing tags.
history.property.* (array, optional): Listing and sale history events with prices, event labels, sources, dates, and display metadata.
history.tax.* (array, optional): Tax history by roll year.
history.tax_info.* (object, optional): Current or latest tax summary.
valuation.automated_valuation.* (object, optional): Automated valuation estimate and display text.
valuation.rental_estimate.* (object, optional): Rental estimate range and display text.
parcel.info.* (object, optional): Parcel identifiers, map display fields, timezone, coordinates, and boundary points.
parcel.boundary.parcel_lid / fips_code (string, optional): Parcel boundary identifiers.
scores.neighborhood_stats.section_preview_text (string, optional): Neighborhood score summary text.
scores.climate_risks.fsid / risk_factor_property_url (string, optional): Climate-risk identifiers and reference URL.
scores.climate_risks.risks.* (object, optional): Flood, fire, heat, wind, and air risk scores, descriptions, headings, summaries, and graph values.
scores.schools.serving_schools.* (array, optional): School names, ratings, grades, type, distance, enrollment, ratios, addresses, and URLs.
scores.schools.districts.* (array, optional): School district names, URLs, identifiers, and choice-school indicators.
scores.schools.total_schools_serviced / section_preview_text (number/string, optional): School summary fields.
rental.page_route.response_code (number, optional): Rental-page availability indicator when present.
flags.is_hot / is_redfin / is_new_construction / is_shortlisted / is_viewed_listing / show_mls_id / show_datasource_logo (boolean, optional): Listing display and classification flags.
flags.remarks_access_level (number, optional): Remarks availability level.
attributes.listing_tags (array, optional): Listing tags suitable for filtering, search, or reporting.
Data Quality, Guarantees, And Handling
- Structured records: results are normalized into predictable JSON objects for downstream use.
- Best-effort extraction: fields may vary by region, session, availability, listing type, and Redfin interface changes.
- Optional fields: null-check optional fields in downstream code, especially detailed amenities, media, schools, tax, parcel, valuation, and climate data.
- Deduplication: use
idas the primary idempotency key, withurloridentifiers.property_id + identifiers.listing_idas fallbacks. - Freshness: results reflect the publicly available data at run time.
- Repeated runs: use the recommended idempotency key when syncing data into warehouses, CRMs, search indexes, or other systems.
Tips For Best Results
- Start with a small
limitto validate the output shape before scaling up. - Use one
locationitem and onedeal_typeper run when you need cleaner segmentation, or add severallocationitems when the same filters should apply across multiple markets. - Leave optional filters empty when the goal is broad discovery.
- Add price, bedroom, property type, listing freshness, and amenity filters gradually to understand how each field changes coverage.
- Enable
enrich_datafor diligence, comp analysis, enrichment, or listing-detail workflows. - Schedule recurring runs for monitoring workflows instead of relying on manual one-off jobs.
- Use
idorurlfor deduplication when storing results over time.
How to Run on Apify
- Open the Actor in Apify Console.
- Configure the available input fields for the target location, listing mode, filters, and enrichment needs.
- Set the maximum number of outputs to collect with
limit. - Click Start and wait for the run to finish.
- Open the dataset and review the first records.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Scheduling
Automated Data Collection
Schedule runs to keep Redfin market, listing, and comparable-sale datasets fresh without manually starting each collection. Use recurring schedules for dashboards, alerts, enrichment jobs, and monitoring workflows.
- Navigate to Schedules in Apify Console
- Create a new schedule, such as daily, weekly, or custom cron
- Configure input parameters
- Enable notifications for run completion
- Add webhooks for automated processing
Integration Options
- BI dashboards: monitor pricing, inventory, availability, listing freshness, property type mix, and geographic coverage over time.
- Data warehouses: store normalized Redfin records for historical trend analysis, comp modeling, and operational reporting.
- CRM enrichment: sync public listing, agent, location, property, and valuation attributes into account or lead records.
- Google Sheets or Airtable: review sampled listings, enrichment queues, or market segments in lightweight operational workflows.
- Webhooks: trigger validation, notification, ingestion, or alert workflows after each completed run.
- Data enrichment pipelines: join Redfin records with internal property, lead, CRM, or investment datasets using stable identifiers and addresses.
Export Formats And Downstream Use
Apify datasets can be exported or consumed by downstream systems for operational and analytical workflows.
- JSON: for APIs, applications, and data pipelines
- CSV or Excel: for spreadsheet workflows and manual review
- API access: for automated ingestion into internal systems
- BI and warehouses: for reporting, dashboards, and historical analysis
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~3-5 minutes
- Medium runs (1,000-5,000 outputs): ~5-15 minutes
- Large runs (5,000+ outputs): ~15-30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record. Highly filtered runs can finish faster, while broad discovery or detail-rich records may take longer.
Limitations
- Availability depends on what https://www.redfin.com publicly exposes at run time.
- Some optional fields may be missing on sparse records, rental records, sold records, or listings with limited public detail.
- Very broad searches may take longer or require higher
limitvalues. - Target-side changes can affect field availability, labels, or naming.
- Regional, account, source, or availability differences may change visible results.
- Detail-rich records depend on the public information available for each listing.
Troubleshooting
- No results returned: check filter strictness,
locationspelling,deal_type, sale status, and whether Redfin has matching public records. - Fewer results than expected: broaden filters, raise
limit, or verify that the target location contains enough matching listings. - Some fields are empty: optional fields depend on what each record publicly provides.
- Run takes longer than expected: reduce scope, lower
limitfor validation, or split broad collection into smaller locations or segments. - Output changed: compare the current output with the field reference and report a small sample if support is needed.
FAQ
What data does this actor collect?
It collects public Redfin listing data, including listing identifiers, URLs, prices, property facts, addresses, media metadata, transaction status, amenities, agents, history, valuation, parcel context, schools, and climate-related attributes when available.
Can I filter by location, date, price, or other criteria?
Yes. The schema supports location, deal_type, price range, bedrooms, bathrooms, parking, area, lot size, year built, stories, property type, pool preference, tour options, listing freshness, keywords, listing type, amenities, neighborhood score thresholds, HOA fees, property taxes, limit, and enrichment.
Why did I receive fewer results than my limit?
The limit is a maximum, not a guarantee. The final count depends on matching public listings, filters, listing mode, geography, and data availability at run time.
Can I schedule recurring runs?
Yes. Use Apify schedules to run the actor daily, weekly, or on a custom cron schedule for monitoring, reporting, and enrichment workflows.
How do I avoid duplicates across runs?
Use id as the primary idempotency key. If needed, use url or a composite key such as identifiers.property_id + identifiers.listing_id.
Can I export the data to CSV, Excel, or JSON?
Yes. Apify datasets can be downloaded in JSON, CSV, Excel, and other supported formats, or consumed programmatically through API access.
Does this actor collect private data?
No. The actor is intended for publicly available Redfin listing information. Users are responsible for ensuring their use of the data complies with applicable laws, regulations, and terms.
Should I enable enrich_data?
Enable enrich_data when you need richer listing-level context such as remarks, amenities, media captions, schools, parcel details, valuation, or climate-risk context. Leave it disabled for faster sampling or high-level market review.
What should I include when reporting an issue?
Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample if it helps illustrate the issue.
Compliance & Ethics
Responsible Data Collection
This actor collects publicly available real estate listing information from https://www.redfin.com for legitimate business purposes, including:
- Real estate research and market analysis
- Property, listing, and comparable-sales monitoring
- Data enrichment, operational reporting, and internal analytics
This section is informational and not legal advice. Users are responsible for evaluating whether their collection and use of the data complies with applicable laws, regulations, contracts, and platform terms.
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site’s terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable, including GDPR and CCPA
Support
For help, use the Issues tab or the actor page. Include the input used with sensitive values redacted, the run ID, expected versus actual behavior, and a small output sample when it is useful for diagnosis.