📄 This is the documentation repository. The scraper itself runs as a hosted Apify Actor — no install, no code to maintain. Open it on Apify Store
▶️ and press Try for free.
Scrape US home listings from Redfin without a login or API key. Paste any Redfin city, ZIP, neighborhood or county URL — or just a plain 5-digit US ZIP code — and this Redfin scraper turns it into a clean, structured real-estate dataset with list price, price-per-sqft, beds & baths, square footage, lot size, year built, HOA dues, MLS number & status, days on market and exact GPS coordinates. Choose for sale, recently sold or for rent, and the Actor pulls thousands of homes per region with full property detail. Fast, no browser, no API key, no login.
This is the unofficial Redfin API alternative for real-estate comps and CMAs, market analysis, investor deal flow and rental yield modelling — every home comes back as one record with 20+ fields, exportable to JSON, JSONL, CSV, Excel or XML.
One structured row per home — 20+ fields:
| Field | Description |
|---|---|
listingId / propertyId |
Redfin internal listing and property IDs |
mlsId / mlsStatus |
MLS number and raw MLS status string (e.g. Active, Pending) |
address / city / state / zip |
Full location breakdown |
price |
List or sold price in USD |
pricePerSqFt |
Price per square foot in USD |
beds / baths |
Bedroom and total bathroom counts |
fullBaths / partialBaths |
Full and half/partial bathrooms, broken out |
sqFt |
Interior living area in square feet |
lotSize |
Lot size in square feet |
stories |
Number of stories/levels |
yearBuilt |
Construction year |
propertyType |
House, Condo, Townhouse, Multi-family, Land, etc. |
hoaFee |
Monthly HOA fee in USD |
status |
Listing status |
daysOnMarket |
Days the listing has been on Redfin |
soldDate |
ISO date the home sold (sold listings) |
latitude / longitude |
Exact GPS coordinates |
numPhotos |
Number of listing photos |
isNewConstruction / isHot |
New-construction and Redfin "hot home" flags |
url |
Direct link to the Redfin listing page |
sourceUrl |
The Redfin search URL this record came from |
scrapedAt |
ISO timestamp when the record was collected |
- Comps & valuation — pull recently sold homes by ZIP to build CMAs and price models with real MLS data (
mlsId,mlsStatus,price,pricePerSqFt,daysOnMarket). - Market analysis — track inventory, price-per-sqft, days on market and HOA fees across cities and ZIPs.
- Investor deal flow — filter by price and beds to surface rentals and value-add opportunities that fit your buy box.
- Rental analysis — scrape
rentlistings alongsidesoldandforSaleto model gross yields per neighborhood. - Mapping & dashboards — feed
latitude/longitudeplus property attributes into a GIS map or BI dashboard. - Lead & farm lists — assemble target lists of homes by ZIP, price band and property type for agent farming.
- New-construction sourcing — filter on the
isNewConstructionflag to find newly built inventory in a metro.
You only need a free Apify account. All four methods call the same hosted Actor.
- Open the Redfin Scraper on Apify and click Try for free.
- Open redfin.com, search a location and copy the URL into Redfin search URLs (a city, ZIP or neighborhood). Plain 5-digit ZIPs also work. Or pick a Metro from the dropdown. Choose a Listing type: for sale, recently sold or for rent.
- Click Start, then export from the Output tab as JSON, CSV or Excel. Empty input returns recent listings for a default metro so you can preview the data.
npm install -g apify-cli
apify login
apify call logiover/redfin-scraper --input '{
"searchUrls": ["https://www.redfin.com/city/30818/TX/Austin"],
"listingType": "forSale",
"sortBy": "newest",
"minPrice": 300000,
"maxPrice": 900000,
"minBeds": 3,
"maxResults": 500
}'curl -X POST "https://api.apify.com/v2/acts/logiover~redfin-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchUrls": ["90210", "https://www.redfin.com/zipcode/60601"],
"listingType": "sold",
"sortBy": "recommended",
"maxResults": 500
}'import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('logiover/redfin-scraper').call({
searchUrls: ['33139'],
listingType: 'rent',
minBeds: 2,
maxResults: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} homes`);from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("logiover/redfin-scraper").call(run_input={
"metro": "denver-co",
"listingType": "forSale",
"propertyType": "house",
"sortBy": "priceLow",
"maxResults": 250,
})
for home in client.dataset(run["defaultDatasetId"]).iterate_items():
print(home["address"], home["price"], home["beds"], "bd")📎 More detailed recipes in
examples/: CLI · API / cURL · JavaScript · Python.
Give the Actor at least one Redfin search URL (or ZIP code), or pick a Metro. Everything else is optional, and empty input returns recent listings for a default metro.
| Field | Type | Description | Default |
|---|---|---|---|
metro |
string (dropdown) | Quick-pick a major US metro without hunting for a URL (20 metros). Ignored if you supply your own URLs. | Austin, TX |
searchUrls |
array | Redfin region URLs (city, ZIP, neighborhood or county), e.g. https://www.redfin.com/city/30818/TX/Austin, https://www.redfin.com/zipcode/90210. Plain 5-digit ZIPs like 78704 also work. |
– |
locations |
array | Alternative to searchUrls. Also accepts 5-digit US ZIP codes or Redfin region URLs. |
– |
listingType |
string (dropdown) | forSale, sold (recently sold) or rent. |
forSale |
propertyType |
string (dropdown) | Restrict to House, Condo, Townhouse, Multi-family, Land or Mobile — or all. |
all |
sortBy |
string (dropdown) | recommended, newest, priceLow or priceHigh. |
recommended |
minPrice / maxPrice |
integer | Keep only homes at/above and at/below these USD prices. | – |
minBeds |
integer | Keep only homes with at least this many bedrooms. | – |
maxResults |
integer | Global cap on homes saved across all locations. Each page returns up to 350 homes. 0 = unlimited. |
1000 |
proxyConfiguration |
object | Redfin requires US residential proxies — keep the default (RESIDENTIAL · US). | Residential · US |
Finding a Redfin URL: open redfin.com, type a city or ZIP into the search box, and copy the resulting URL — a city path like
.../city/30818/TX/Austin, a ZIP path like.../zipcode/90210, or a neighborhood page. Or skip the URL and paste a bare 5-digit ZIP such as78704.
One row per home — 20+ fields, exportable to JSON, CSV, Excel or XML. Here is a realistic sample record:
{
"listingId": "179284412",
"propertyId": "45120983",
"mlsId": "1234567",
"mlsStatus": "For Sale",
"address": "1234 Barton Springs Rd",
"city": "Austin",
"state": "TX",
"zip": "78704",
"price": 749000,
"pricePerSqFt": 412,
"beds": 3,
"baths": 2.5,
"fullBaths": 2,
"partialBaths": 1,
"sqFt": 1817,
"lotSize": 6534,
"stories": 2,
"yearBuilt": 1998,
"propertyType": "House",
"hoaFee": 0,
"status": "Active",
"daysOnMarket": 12,
"soldDate": null,
"latitude": 30.2549,
"longitude": -97.7681,
"numPhotos": 34,
"isNewConstruction": false,
"isHot": true,
"url": "https://www.redfin.com/TX/Austin/1234-Barton-Springs-Rd-78704/home/12345678",
"sourceUrl": "https://www.redfin.com/city/30818/TX/Austin",
"scrapedAt": "2026-07-12T12:00:00.000Z"
}The dataset's Listings table view surfaces address, city, state, zip, price, beds, baths, sqFt, yearBuilt, propertyType, status, daysOnMarket and url; the full field set is always available in the raw JSON/CSV export.
- Schedules — run the Actor daily or weekly on Apify to track a metro's inventory and price movements automatically.
- Webhooks — trigger a webhook on run completion to push fresh listings into your own systems.
- Google Sheets / Drive — sync each run's dataset straight into a spreadsheet for agents and analysts.
- Amazon S3 / storage — export datasets to S3 or any bucket for warehousing and BI.
- Zapier · Make · n8n · Pipedream — route new listings into Slack, Notion, a CRM or any HTTP endpoint via the Apify integrations.
- Apify API — pull results into any language/database with a single REST call (see
examples/api-curl.md).
Every run's dataset downloads or streams via API as JSON, JSONL, CSV, Excel (XLSX), HTML or XML — the field set stays identical across formats, so it drops cleanly into spreadsheets, databases, GIS tools and BI dashboards.
Yes. Redfin has no public listings API, so this Actor works as an unofficial Redfin API alternative: paste a region URL or ZIP and get structured home data back as JSON, CSV or Excel — no developer key required.
No. The Actor reads only public Redfin listing data through US residential proxies — no login, no cookies and no API key. You just need a free Apify account.
Open the Actor, paste a region URL or ZIP (or pick a metro), and press Start. It reads only public listing data — no API key, account or cookies.
Paste a Redfin ZIP URL such as https://www.redfin.com/zipcode/90210, or just a bare 5-digit ZIP such as 78704, into searchUrls — the scraper returns every listing in that ZIP with full property detail.
Yes. Set listingType to sold and pass a city or ZIP URL to pull sold homes with mlsId, mlsStatus, price, pricePerSqFt, sqFt and daysOnMarket — everything needed for CMAs and comps.
Yes. Set listingType to rent to pull rental homes with price, beds, baths, sqFt and location — useful for yield modelling next to sale and sold data.
Each Redfin page returns up to 350 homes and the Actor paginates automatically. Use maxResults to cap output or set it to 0 for unlimited — a busy metro can return thousands of homes per run.
After a run, download the dataset as CSV, Excel, JSON or XML from the Apify Console, or pull it via the Apify API. It's a quick Redfin data export for spreadsheets and BI tools.
Redfin blocks datacenter and non-US traffic, so the Actor defaults to Apify US residential proxy to read public listing data reliably. Keep the default proxy setting for the best success rate.
This Actor collects only publicly available listing data. You are responsible for complying with Redfin's terms and applicable laws (such as GDPR/CCPA where personal data is involved). Use it responsibly.
Building a cross-market property dataset? Pair Redfin with:
- 🇺🇸 Realtor.com Scraper — US listings with agent/broker leads.
- 🇨🇦 Realtor.ca Scraper — Canadian real estate listings.
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.
📄 Documentation only — the Actor runs on the Apify platform.
Released under the MIT License · © 2026 logiover