Redfin Property Data APIs
Resolve a U.S. place into a region ID, search live for-sale, rental and sold inventory with deep filters, then drill into per-property detail: estimates, sale and tax history, schools, walk scores, climate risk and agents. An unofficial Redfin data service.
Open the standalone property demoYour first location autocomplete
Replace <API_KEY> with an authorized platform API key from your dashboard. The query URL contains your key; keep it out of shared links, screenshots and logs.
The example autocompletes the text New York and returns place rows whose id values (such as 6_30749) feed the region-search endpoints and whose subName values feed the location-search endpoints. Suggestions evolve with the underlying geography data; check hasFakeResults before treating a row as a real place.
Base URL https://api.opendata-api.com
curl -X GET 'https://api.opendata-api.com/api/project/redfin/property-auto-complete?key=<API_KEY>&location=New+York'import requests
response = requests.request(
"GET",
"https://api.opendata-api.com/api/project/redfin/property-auto-complete",
params={
"key": "<API_KEY>",
"location": "New York",
},
timeout=30,
)
response.raise_for_status()
print(response.json())const url = new URL("https://api.opendata-api.com/api/project/redfin/property-auto-complete");
url.search = new URLSearchParams({
"key": "<API_KEY>",
"location": "New York",
}).toString();
const response = await fetch(url, {
method: "GET",
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());Property request basics
- Location-search endpoints accept a canonical city string such as 'New York, NY, USA', a ZIP code, a school district, a street address, a regionId or a Redfin URL in one location parameter. Normalize messy input through property-auto-complete first and prefer rows[].subName over raw user text.
- Region-search endpoints require a regionId in the type_regionId form, for example 6_30749 for New York. Take IDs from autocomplete rows or exactMatch rather than inventing them; hasFakeResults=true with a 23_null sentinel row means the text matched no real place.
- Most detail endpoints need the propertyId/listingId pair from the same search row's homeData or a v2-details lookup. popularity, price-drop and date-picker key by listingId alone; parcel-info and more-resources by propertyId alone; climate-risk needs the lat, lng, fipsCode, apn and parcelLid returned by parcel-info.
- Search filters are coded values applied server-side: status (9, 1, 8, 131, 130), soldWithin (7 to 1825 days), pool, openHouse, acceptedFinancing and comma-joined booleanFilters such as dogs_allowed or wf. moveInDate uses YYYY-MM-DD. Region and location variants share the same filter set.
- Search endpoints page with page and limit, up to 350 rows per page. Count the actual rows, deduplicate propertyId/listingId pairs across pages and stop on an empty data array rather than trusting totals.
- Autocomplete reports no match as HTTP 200 with hasFakeResults=true and a 23_null row, not an error. An unknown propertyId on the v2 detail route currently surfaces as a bare HTTP 500; treat 5xx as the not-found signal there instead of retrying it as a transient failure.
Read status before listing fields
Check HTTP status separately from the gateway's code/message/data business status: code 200 indicates gateway business success, while HTTP 200 alone does not. Search payloads add their own status_code and resultsPerPage next to the data array, autocomplete reports no match as hasFakeResults=true with a 23_null sentinel row instead of an error, and an unknown propertyId on the v2 detail route currently surfaces as a bare HTTP 500 β treat 5xx as the not-found signal there.
Choose a property workflow
- Resolve places and ZIP coverage
-
property-auto-complete turns free text into region IDs (rows[].id) and canonical names (rows[].subName) for the search endpoints; check hasFakeResults before trusting a suggestion. The ZIP helpers resolve a ZIP to its place or fan a city or county out into its ZIP list for coverage jobs.
- Browse homes for sale
-
region-search-for-sale needs a regionId from autocomplete; location-search-for-sale takes a free-form city, ZIP, district, address or URL. Price, beds, status and score filters are optional; every returned row's homeData carries the propertyId/listingId pair that the detail endpoints need.
- Browse rental listings
-
The two rental searches mirror the for-sale pair, keyed by regionId or a free-form location. Renter filters such as moveInDate (YYYY-MM-DD) and booleanFilters flags like dogs_allowed or is_furnished are optional; apartment rows add rentalExtension bedRange and bathRange.
- Research recently sold comps
-
Both sold searches need a regionId or location plus an optional soldWithin window from 7 days to 5 years. Rows share the homeData shape of live listings, so one parser covers comp and inventory pipelines.
- Replay a saved search URL
-
property-search-by-url takes one complete Redfin search URL with its filters and page path baked in. No filter mapping is needed; results mirror what the link would show in a browser.
- Inspect a property in depth
-
v2-details resolves a propertyId, address, slug or full URL into the complete payload and the canonical propertyId/listingId pair. details and detail-by-url are lighter identity checks; main-info, amenities and more-resources need IDs captured from a search row or v2-details first.
- Value a property
-
estimate, sale-and-tax history, public-records and similars all key off the propertyId/listingId pair from the same search row or a v2-details lookup. The mortgage-calculator route adds per-property tax inputs for affordability models.
- Assess schools, walkability and climate
-
schools and walk-score need the propertyId/listingId pair. parcel-info needs only a propertyId and returns the lat, lng, fipsCode, apn and parcelLid that the climate-risk endpoint requires β call parcel-info first.
- Track listing demand signals
-
popularity-info, price-drop-info and date-picker-data key by listingId alone; tour-insights and customer-conversion-info need the propertyId/listingId pair. Poll the same IDs over time instead of re-searching.
- Explore agents and reviews
-
The agent route resolves the listing agent from a propertyId/listingId pair. agent-search and agent-auto-complete take a market or name fragment; agent-detail and agent-detail-reviews need the canonical agentName slug from autocomplete.
- Monitor service health
-
ping takes no parameters and answers with a status boolean. Gate nightly import or comp jobs behind it so pipelines fail fast when the data surface degrades.
Property Search
/api/project/redfin/property-auto-complete Autocomplete US Locations
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/region-search-for-sale Search Homes for Sale by Region
Full docs β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.
Test this property-data endpoint 1 required Β· 34 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (26)
| 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 |
/api/project/redfin/region-search-for-rent Search Rentals by Region
Full docs β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.
Test this property-data endpoint 1 required Β· 24 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (17)
| Parameter | In | Value |
|---|---|---|
| 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
Full docs β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.
Test this property-data endpoint 1 required Β· 31 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (24)
| 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 |
/api/project/redfin/location-search-for-sale Search Homes for Sale by Location
Full docs β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.
Test this property-data endpoint 1 required Β· 34 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (27)
| 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-rent Search Rentals by Location
Full docs β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.
Test this property-data endpoint 1 required Β· 26 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (19)
| Parameter | In | Value |
|---|---|---|
| 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
Full docs β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.
Test this property-data endpoint 1 required Β· 31 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query | ||
| query |
Optional filters and page controls (24)
| 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 |
/api/project/redfin/property-search-by-url Replay a Redfin Search URL as JSON
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
Property Details
/api/project/redfin/v2-details Full Property Details (Address, URL or ID)
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/details Listing Summary by Address
Full docs β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.
Test this property-data endpoint 1 required Β· 1 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/detail-by-url Listing Detail from a Shared URL
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/estimate Redfin Estimate (Automated Valuation)
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/history-info-sale-and-tax-history Sale and Tax History
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/main-info-about-this-home About This Home (Description & Facts)
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/amenities-property-details Property Amenities & Features
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/schools Assigned Schools & Districts
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/walk-score Walk, Transit & Bike Scores
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| 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)
Full docs β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.
Test this property-data endpoint 5 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query | ||
| query | ||
| query | ||
| query |
/api/project/redfin/parcel-info Parcel Identifiers (APN, FIPS, Coordinates)
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/popularity-info Listing Popularity (Views & Favorites)
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/price-drop-info Price Change History
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/similars-listings Similar Homes (Comparable Listings)
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/tour-insights-tour-insights Tour Insights (Showing Demand)
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/date-picker-data Tour Availability (Showing Slots)
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/customer-conversion-info Listing Contact & Tour Options
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/more-resources-info Related Property Resources
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/public-records-info-public-facts-and-zoning Public Facts & Zoning
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/public-records-info-mortgage-calculator-info Mortgage Calculator Inputs (Taxes & Rates)
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Real-Estate Agents
/api/project/redfin/agent Listing Agent for a Property
Full docs β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.
Test this property-data endpoint 2 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
/api/project/redfin/agent-search Find Agents by Market
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-auto-complete Agent Name Autocomplete
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-detail Agent Profile
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/agent-detail-reviews Agent Reviews & Ratings
Full docs β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.
Test this property-data endpoint 1 required Β· 1 optional
| Parameter | In | Value |
|---|---|---|
| query | ||
| query |
Geography Helpers
/api/project/redfin/get-location-infomation-by-zipcode Location Info by ZIP Code
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/get-zip-code-by-city ZIP Codes for a City
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
/api/project/redfin/get-zipcode-by-county ZIP Codes for a County
Full docs β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.
Test this property-data endpoint 1 required Β· 0 optional
| Parameter | In | Value |
|---|---|---|
| query |
System
/api/project/redfin/ping Service Health Check
Full docs β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.
Test this property-data endpoint 0 required Β· 0 optional
Capabilities and validation scope
Live U.S. real-estate data from Redfin as clean, documented JSON. Resolve places, search current inventory, pull sold comps and drill into per-property detail β one authenticated call per question, no scraper or proxy maintenance.
- Location autocomplete: cities, ZIPs, neighborhoods, school districts and buildings with region IDs and canonical names ready for every search endpoint
- For-sale, for-rent and sold search: by region ID or free-form location with deep filters (price, beds, lot, HOA, taxes, school ratings, walk/transit/bike scores, price-reduced, open house, FHA/VA financing) and paging up to 350 rows
- Search-by-URL: replay a hand-tuned Redfin search link and get the same results as JSON
- Full property payloads: one v2 detail call by ID, address or URL, plus focused endpoints for estimate (AVM), sale & tax history, amenities, schools, walk scores, parcel keys, climate risk (flood/fire/heat/wind), price drops, popularity, tours, public records and similar homes
- Agent surface: market directories, name autocomplete, profiles and reviews
- Geography helpers: ZIP-to-place, city-to-ZIPs and county-to-ZIPs lookups for coverage jobs
Verified live: New York autocomplete resolves to region 6_30749, region and location searches return current listings, and the v2 detail payload returns the full property document. Focused detail endpoints are keyed by the propertyId/listingId pair that every search row provides; a few supporting routes are documented from the provider contract and should be validated against your target properties before production reliance. An unknown propertyId on the v2 detail route currently surfaces as a bare HTTP 500 rather than a structured 404 β treat 5xx as the not-found signal there.
Built for PropTech search products, investors running comps, analysts modeling U.S. housing and data teams who need production-grade listing data without MLS licensing. Data is collected from publicly available content for research and informational purposes.