Redfin Property Data — Try the interactive demo
A guided live test. Prefer the raw endpoints? See the API reference & playground →
Enter an API key from your Dashboard to enable the examples below. Requests send it to this platform for authentication.
Log in / Sign up · Dashboard →
Please paste your API key first.
Endpoints
Your API key is attached automatically to each call.
/api/project/redfin/property-auto-complete Autocomplete US Locations
Details
Type-ahead resolver for US real-estate geography. Pass any free-text fragment (city, ZIP code, neighborhood, school district, building or address) and receive data.exactMatch plus data.rows, where each row carries id (the region identifier, e.g. 6_30749 for New York), type, name, subName (canonical 'New York, NY, USA' form), url (e.g. /city/30749/NY/New-York), searchType (Places, Schools, Agents or Buildings) and countryCode. Chain rows[].id into the region-search endpoints and rows[].subName into the location-search endpoints. A location that matches nothing still returns HTTP 200 with hasFakeResults=true and a sentinel row id 23_null (searchType 'Search On Map'), so check hasFakeResults before treating results as real places.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/region-search-for-sale Search Homes for Sale by Region
Details
Live for-sale listings inside a Redfin region. Pass a regionId from property-auto-complete (6_30749 = New York, verified live) plus any combination of price, beds, baths, square-foot, lot-size, year-built, stories, garage, school-rating, walk/transit/bike-score, HOA-fee and property-tax filters, coded filters (status, listingType, timeOnRedfin, priceReduced, openHouse, pool, acceptedFinancing, booleanFilters) and page/limit paging (up to 350 rows per page). Successful responses return status_code 200, resultsPerPage and a data array. Each row in data wraps a homeData object with propertyId, listingId, url, propertyType, beds, baths, priceInfo.amount, sqftInfo.amount, lotSize, yearBuilt, daysOnMarket.listingAddedDate, photo ranges and addressInfo; the pair propertyId/listingId feeds every property-detail endpoint.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/region-search-for-rent Search Rentals by Region
Details
Current rental listings inside a Redfin region. Pass a regionId from property-auto-complete and optional rent, bed/bath, size, building-type, school-rating, walk/transit/bike-score, move-in-date and amenity filters (booleanFilters such as dogs_allowed, is_furnished or utilities_included), plus page/limit paging. Rows return homeData with propertyId, url, propertyType, addressInfo, photo ranges, promotional badges (e.g. rent concessions) and, for apartment buildings, rentalExtension with bedRange and bathRange unit ranges.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/region-search-for-sold Search Recently Sold Homes by Region
Details
Closed-sale comps inside a Redfin region. Pass a regionId from property-auto-complete, a soldWithin window (7, 30, 90, 180, 365, 730, 1095 or 1825 days) and optional price, size, lot, year-built, pool, financing, HOA-fee, property-tax, school-rating and score filters. Rows follow the same homeData shape as the for-sale search (propertyId, url, beds, baths, sqftInfo, lotSize, addressInfo), so sold results join cleanly onto live listing data for comp analysis.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/location-search-for-sale Search Homes for Sale by Location
Details
Live for-sale listings around a free-form location: a canonical city string ('New York, NY, USA'), ZIP code, school district name, street address, a regionId or a Redfin URL. Use property-auto-complete to normalize the input first. Supports the full for-sale filter set (price, beds, baths, size, lot, year, HOA, taxes, scores, status, listingType, timeOnRedfin, priceReduced, openHouse, pool, acceptedFinancing, booleanFilters, keyword) with page/limit paging. Responses carry status_code, resultsPerPage and a data array of homeData listing objects with propertyId and listingId for detail lookups.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/location-search-for-rent Search Rentals by Location
Details
Current rental listings around a free-form location (city, ZIP, school district, address, regionId or Redfin URL). Verified live with 'New York, NY, USA': the response returns status_code 200, resultsPerPage and a data array whose homeData rows include propertyId, url, propertyType, addressInfo, photo ranges, promotional badges and, for apartment buildings, rentalExtension bedRange/bathRange. Filter by rent range, beds, baths, size, move-in date, school rating, walk/transit/bike score and amenity flags such as dogs_allowed, utilities_included and has_short_term_lease.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/location-search-for-sold Search Recently Sold Homes by Location
Details
Closed-sale comps around a free-form location (city, ZIP code, school district, address, regionId or Redfin URL). Combine a soldWithin window (7 days to 5 years) with price, size, lot, year-built, pool, financing, HOA, tax, school-rating and score filters to assemble a clean comp set. Results follow the shared homeData listing shape with propertyId, url, beds, baths, sqftInfo, lotSize and addressInfo, so sold rows join directly onto for-sale and detail data.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/property-search-by-url Replay a Redfin Search URL as JSON
Details
Convert a hand-built Redfin search URL into structured JSON. Paste the full link a user crafted on the website (for example a city apartments-for-rent page with on-site filters and pagination baked into the path) and receive the matching result rows instead of scraping the rendered page. Ideal for mirroring saved searches: whatever the URL encodes (area, listing type, page number) is replayed server-side and returned as listing data.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/v2-details Full Property Details (Address, URL or ID)
Details
One call for the complete property payload. The location parameter accepts a propertyId (verified: 40775351), a short path (/NY/Brooklyn/8707-Avenue-B-11236/home/40775351), a full Redfin URL, a street address or an address slug. Verified responses return message 'Successful' and a large data object: initialInfo (propertyId, listingId, marketId, latLong, hasAvm, preloadImageUrls), aboveTheFold.addressSectionInfo.priceInfo (current price amount) and the remaining detail sections in a single ~267 KB document. This is the fastest way to resolve a pasted link into propertyId/listingId keys for the focused detail endpoints. A nonexistent propertyId currently surfaces as a bare HTTP 500, so treat 5xx as the not-found signal for this route.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/details Listing Summary by Address
Details
Lightweight listing lookup by address slug or URL (e.g. 5065-Eloy-St-78521, or the full listing link). When several properties share an address, pass the optional propertyId to pin the exact one. Use this as a cheap existence and identity check before spending a full v2-details call: confirm the address maps to a listed property and capture its propertyId for the heavier detail, estimate and history endpoints.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/detail-by-url Listing Detail from a Shared URL
Details
Turn a shared Redfin listing link into structured property data. Pass the full URL exactly as copied from a browser, email or message and receive the listing's detail record. Useful whenever a user supplies the property as a link rather than an address or ID: bots, bookmark importers and watchlist tools can unfurl links into price, beds, baths and photo previews without parsing the URL themselves.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/estimate Redfin Estimate (Automated Valuation)
Details
The Redfin Estimate automated valuation for a property, keyed by the propertyId/listingId pair from any search response (homeData) or a v2-details lookup. Use it as a model-based reference value alongside live asking prices from search and closed comps from the sold endpoints: the estimate answers 'what does the model think it is worth', which neither an asking price nor a stale sale price can.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/history-info-sale-and-tax-history Sale and Tax History
Details
The ownership timeline for a property: recorded sale events and tax/assessment history, keyed by propertyId/listingId. Where the sold search answers 'what did neighbors pay', this endpoint answers 'what happened to this exact home' — every recorded sale, price and assessment cycle. Plot appreciation curves, detect quick resales and ground a valuation in the subject property's own record.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/main-info-about-this-home About This Home (Description & Facts)
Details
The listing's own narrative and fact panel: the agent-written description plus the structured 'about this home' highlights, keyed by propertyId/listingId. Description text surfaces features that structured filters miss (renovations, ADUs, views, layout notes), making it the right input for keyword mining, content generation and listing-quality audits.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/amenities-property-details Property Amenities & Features
Details
The amenity-level detail for a listing: HOA fees and inclusions, parking, laundry, cooling, heating, appliances and similar home features, keyed by propertyId/listingId. These are the fields behind the website's feature checklist — feed them into fine-grained search filters, recommendation vectors or data-quality audits that structured search results do not carry.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/schools Assigned Schools & Districts
Details
The schools serving a property with their ratings, keyed by propertyId/listingId: assigned elementary, middle and high schools and district context. School quality is one of the strongest price drivers in US housing; this endpoint turns a listing into its attendance-zone profile so you can rank, filter and alert on school ratings without a separate dataset.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/walk-score Walk, Transit & Bike Scores
Details
Walk Score, Transit Score and Bike Score for a property, keyed by propertyId/listingId. These 0-100 walkability measures answer car-free-livability questions at a glance and are a proven rent and price differentiator in urban markets. Add them to listing cards, filter thresholds or neighborhood research without a separate scoring subscription.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/climate-risks-flood-data-fire-data-heat-data-wind-data Climate Risk Scores (Flood, Fire, Heat, Wind)
Details
Parcel-level climate hazard data: flood, fire, heat and wind risk scores for a property. All five inputs come from the parcel-info endpoint — lat/lng (from its latLong), fipsCode, apn and parcelLid — so call parcel-info first, then pass the returned identifiers here. Designed for insurance quoting, buyer risk reports and portfolio-level hazard screening.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/parcel-info Parcel Identifiers (APN, FIPS, Coordinates)
Details
The county parcel record keys for a property: APN (assessor's parcel number), FIPS code, parcelLid and precise latLong coordinates, resolved from a propertyId. Beyond GIS and assessor joins, this is the required first step before calling the climate-risk endpoint — every climate input (lat, lng, fipsCode, apn, parcelLid) comes from this response.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/popularity-info Listing Popularity (Views & Favorites)
Details
Buyer-attention metrics for a listing, keyed by listingId: view and favorite counts that quantify how much demand a property is attracting right now. Track these counters daily to score competition before an offer, detect momentum shifts ahead of price changes and build market-temperature indexes per neighborhood.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/price-drop-info Price Change History
Details
The price trajectory of a listing, keyed by listingId: reductions (and other price events) with dates and amounts. Combine cadence with days-on-market to gauge seller motivation, power instant price-cut alert bots and study how reduction size distributes across a market before negotiating.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/similars-listings Similar Homes (Comparable Listings)
Details
Homes similar to a given listing, keyed by propertyId/listingId: the recommendation set a visitor would see on the property page. Use it to power 'you may also like' rails, expand a buyer's watchlist with near-duplicates in adjacent neighborhoods, or assemble live comparables when preparing an offer on the subject home.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/tour-insights-tour-insights Tour Insights (Showing Demand)
Details
Touring activity for a listing, keyed by propertyId/listingId: how showing interest is trending on the property. Tour demand is an early-warning signal — rising tour activity typically precedes bidding pressure and quick sales, so it is a strong input for market-temperature indexes and agent prioritization.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/date-picker-data Tour Availability (Showing Slots)
Details
The tour-scheduling calendar for a listing, keyed by listingId: the available showing dates and slots a buyer would be offered. Automate tour booking, watch hot listings for newly opened windows and treat slot availability itself as a demand signal — scarce slots mean crowded showings.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/customer-conversion-info Listing Contact & Tour Options
Details
The engagement-funnel metadata for a listing, keyed by propertyId/listingId: which contact and tour actions the listing supports (agent contact paths, tour eligibility and related conversion options). Check it before building scheduling or inquiry integrations so your flow only offers actions the listing actually supports.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/more-resources-info Related Property Resources
Details
Auxiliary resource links attached to a property, keyed by propertyId: the contextual resources the site surfaces alongside a listing (guides, reports and related pages). Use it for deep-linking users to official context, auditing listing completeness, or collecting supplementary metadata for archival datasets.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/public-records-info-public-facts-and-zoning Public Facts & Zoning
Details
County public-record facts and zoning classification for a property, keyed by propertyId/listingId: the assessor's own record (lot, structure and zoning designations) as distinct from the agent-written listing. Cross-validate listing claims, run zoning due diligence for redevelopment screening and catch data errors before they reach an appraisal.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/public-records-info-mortgage-calculator-info Mortgage Calculator Inputs (Taxes & Rates)
Details
The financing-cost context for a listing, keyed by propertyId/listingId: property-tax and related inputs behind the site's monthly-payment estimate. Embed real per-property tax figures into affordability calculators, rent-versus-buy comparisons and investor payment models instead of working from county averages.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/agent Listing Agent for a Property
Details
The agent representing a specific listing, keyed by propertyId/listingId: who to contact about this home. Map listing-to-agent networks to see which agents dominate a farm area, route buyer inquiries to the correct listing side, or seed outreach lists with agents who currently hold inventory in your target market.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/agent-search Find Agents by Market
Details
Directory of real-estate agents serving a market. Pass a market name (e.g. 'New York Agents', as surfaced by property-auto-complete rows with searchType Agents) and receive the agents covering it. Accurate market names improve results, so resolve the location through property-auto-complete first when unsure.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-auto-complete Agent Name Autocomplete
Details
Type-ahead over agent names and markets. Pass free text (a partial name, a market phrase like 'New York Agents') and receive matching suggestions to resolve into canonical agent or market identifiers. Use it behind directory search boxes and to clean up misspelled or partial agent names from CRM imports before calling agent-detail.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-detail Agent Profile
Details
The full profile for one agent, keyed by agent name (the canonical name or slug from agent-auto-complete, e.g. a hyphenated slug). Returns the agent's professional record: production stats, active listings and market coverage. Built for leaderboard pages, referral due diligence and recruiting research.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-detail-reviews Agent Reviews & Ratings
Details
Client reviews for one agent, keyed by agent name (canonical name or slug from agent-auto-complete) with an optional latestReviews limit (default 5). Aggregate review volume and sentiment into reputation scores, power 'top rated agents' widgets and mine review text for satisfaction themes across a market's agents.
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/get-location-infomation-by-zipcode Location Info by ZIP Code
Details
Resolve a US ZIP code to its place information. Pass a five-digit ZIP (e.g. 10001) and receive the corresponding city/state context. Use it to autofill city and state in signup and search forms, validate ZIPs before running location-based listing searches, and build ZIP-to-region mapping tables for batch coverage jobs.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/get-zip-code-by-city ZIP Codes for a City
Details
Enumerate the ZIP codes belonging to a US city. Pass a city name and receive its ZIP list, so coverage jobs can fan a city target out into per-ZIP queries with no gaps. Useful for territory planning, direct-mail targeting and city-level analytics that need ZIP granularity.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/get-zipcode-by-county ZIP Codes for a County
Details
Enumerate the ZIP codes inside a US county. Pass a county name and receive its ZIP list — the right granularity for county-level market scans, rural and suburban acquisition research, direct-mail targeting and statewide pipelines that must prove no ZIP was skipped.
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/ping Service Health Check
Details
Lightweight liveness probe. No parameters; a healthy service answers HTTP 200 with {"status": true, "message": "server is running"}. Gate expensive batch jobs behind this call and wire it into status pages so pipelines fail fast when the data surface degrades.