Skip to main content
RapidDev - Software Development Agency
retool-integrationsREST API Resource

How to Integrate Retool with Redfin

Redfin has no official public API for general developer access. To build real estate dashboards in Retool using Redfin-adjacent data, use one of three approaches: import Redfin's downloadable CSV data files into a database for SQL querying, connect to third-party real estate data APIs (ATTOM Data, Zillow API via RapidAPI) via REST API Resource, or access Redfin's undocumented endpoints cautiously for internal use. This guide covers all three patterns for building residential property comparison dashboards in Retool.

What you'll learn

  • Why Redfin has no public API and what the available alternatives are for accessing residential real estate data
  • How to import Redfin's downloadable CSV market data into a database and query it from Retool
  • How to connect Retool to third-party real estate APIs (ATTOM, Zillow via RapidAPI) as alternatives to Redfin
  • How to build a residential property comparison dashboard in Retool using imported or API-sourced data
  • How to structure a recurring data refresh workflow that keeps Redfin CSV data current in your database
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Intermediate17 min read30 minutesOtherLast updated April 2026RapidDev Engineering Team
TL;DR

Redfin has no official public API for general developer access. To build real estate dashboards in Retool using Redfin-adjacent data, use one of three approaches: import Redfin's downloadable CSV data files into a database for SQL querying, connect to third-party real estate data APIs (ATTOM Data, Zillow API via RapidAPI) via REST API Resource, or access Redfin's undocumented endpoints cautiously for internal use. This guide covers all three patterns for building residential property comparison dashboards in Retool.

Quick facts about this guide
FactValue
ToolRedfin
CategoryOther
MethodREST API Resource
DifficultyIntermediate
Time required30 minutes
Last updatedApril 2026

Why Redfin has no public API — and what to use instead

Redfin is a real estate brokerage, not a data platform, and it has intentionally not released a public developer API. Redfin's competitive advantage is its proprietary listing data and market analytics, which it uses to attract home buyers and sellers to its brokerage services. Making this data freely accessible via API would undermine that business model. Attempts to use Redfin's undocumented internal API endpoints (visible in browser network traffic) violate Redfin's Terms of Service and risk IP blocking — this approach is not recommended for any business use.

For real estate teams that need Redfin-quality residential market data in a Retool dashboard, three legitimate approaches exist. First, Redfin publishes aggregated market statistics as free downloadable CSV files at redfin.com/news/data-center — these include median sale prices, days on market, inventory levels, and price per square foot by metro, city, zip code, and neighborhood. These files update weekly and can be imported into a PostgreSQL or MySQL database for SQL querying in Retool. Second, ATTOM Data Solutions provides comprehensive property data including sales history, valuations, tax assessments, and foreclosure data via a commercial REST API — an enterprise-grade alternative that covers most of what Redfin offers programmatically. Third, the Zillow API (available through RapidAPI) provides listing search, Zestimate values, and market statistics as a direct API alternative.

For real estate investment analysis and property market dashboards, the CSV import pattern combined with ATTOM's API creates a powerful Retool tool: historical market trend data from Redfin's publicly shared CSVs plus current listing and property detail data from ATTOM, displayed together in a unified Retool dashboard with Charts, Tables, and geographic breakdowns.

Integration method

REST API Resource

Because Redfin does not offer a public API, connecting Retool to Redfin data requires workaround patterns. The most reliable approach is using Redfin's downloadable CSV market data (imported into a PostgreSQL database and queried via Retool's native PostgreSQL connector) or connecting to third-party real estate data APIs like ATTOM Data Solutions or the Zillow API available through the RapidAPI marketplace. Both alternatives provide REST API Resources in Retool that serve residential market data similar to Redfin's coverage. All API requests are proxied server-side through Retool.

Prerequisites

  • A Redfin Data Center account or access to Redfin's free CSV downloads at redfin.com/news/data-center (no account required for public data)
  • A PostgreSQL or MySQL database to store imported Redfin CSV data (or a Retool Database instance)
  • For API alternative: an ATTOM Data Solutions account (attomdata.com) or a RapidAPI account with a Zillow API subscription
  • Retool access with Resource creation permissions and the ability to connect a database Resource
  • Basic familiarity with CSV import tools and SQL queries

Step-by-step guide

1

Download Redfin market data CSVs and import to a database

Navigate to redfin.com/news/data-center in your web browser. Redfin's Data Center provides free downloadable CSV files of residential real estate market statistics. Available datasets include national, metro, city, zip code, and neighborhood level data with metrics such as median sale price, median list price, homes sold, new listings, inventory, days on market, months of supply, median price per square foot, and average sale-to-list price ratio. Select the geographic granularity you need — for most internal tools, the Zip Code or City level files are most useful. Click the Download (.csv) link for each dataset you want. The files are updated weekly and cover multi-year historical data. To load this data into a database for querying in Retool, you have several options: Retool Database (the built-in managed PostgreSQL — navigate to Retool, find Retool Database in the left sidebar, and use the Import from CSV feature), a self-managed PostgreSQL instance (use pgAdmin or psql COPY command), or a cloud database like Supabase (use its Table Editor → Insert → Import from CSV). Create a table with column names matching the CSV headers: period_begin, period_end, region_type, region_name, city, state, state_code, property_type, median_sale_price, median_list_price, homes_sold, new_listings, inventory, days_on_market, median_sale_to_list, median_price_per_sqft. Import the CSV data into this table. Verify the import by running a SELECT COUNT(*) query to confirm row counts.

create_redfin_table.sql
1-- SQL to create the Redfin market data table
2CREATE TABLE redfin_market_data (
3 id SERIAL PRIMARY KEY,
4 period_begin DATE,
5 period_end DATE,
6 region_type VARCHAR(50),
7 region_name VARCHAR(255),
8 city VARCHAR(255),
9 state_code VARCHAR(5),
10 property_type VARCHAR(100),
11 median_sale_price NUMERIC(12,2),
12 median_list_price NUMERIC(12,2),
13 homes_sold INTEGER,
14 new_listings INTEGER,
15 inventory INTEGER,
16 days_on_market NUMERIC(5,1),
17 median_sale_to_list NUMERIC(5,3),
18 median_price_per_sqft NUMERIC(8,2),
19 imported_at TIMESTAMP DEFAULT NOW()
20);
21
22-- Index for common query patterns
23CREATE INDEX idx_redfin_region ON redfin_market_data(region_name, state_code);
24CREATE INDEX idx_redfin_period ON redfin_market_data(period_begin);
25CREATE INDEX idx_redfin_region_period ON redfin_market_data(region_name, period_begin);

Pro tip: Redfin's CSVs use the column name 'period_begin' and 'period_end' for date ranges (weekly periods). When creating charts in Retool, use period_begin as the x-axis date value. The data updates weekly, so schedule a monthly reminder to download fresh CSVs and re-import them to keep your dashboard current.

Expected result: A database table contains imported Redfin market data with thousands of rows covering multiple time periods and geographic regions. A test SELECT query returns market statistics by region name.

2

Configure a Retool database Resource and build market trend queries

With the Redfin data in a database, connect Retool to it. In the Retool Resources tab, click Add Resource. Select PostgreSQL (or MySQL, depending on your database). If you used Retool Database, it is already available as a pre-configured Resource. For an external database, enter the host, port, database name, username, and password. Enable SSL if connecting to a cloud-hosted database. Click Save and test the connection. Once connected, create your first query in a Retool app. Open the Code panel, click Create new query, and select the database Resource. Write a SQL query to fetch market trend data for a selected region: use the Retool {{ }} syntax to reference a Select component value for the region name and a DateRangePicker for the date range. The query should retrieve monthly data points for the selected region across the full date range. In the app canvas, drag a Select component named regionSelect and populate its options from a separate query that retrieves all distinct region_name values from the database. Add a DateRangePicker for the date range. Add a Button labeled Load Data to trigger the main trend query. With results returned, bind a Chart component to the query data — set X axis to period_begin and add data series for median_sale_price, median_list_price, and median_price_per_sqft to create a comprehensive market trend chart.

redfin_trend_query.sql
1-- Main market trend query with dynamic region and date range
2SELECT
3 period_begin,
4 period_end,
5 region_name,
6 state_code,
7 property_type,
8 median_sale_price,
9 median_list_price,
10 homes_sold,
11 new_listings,
12 inventory,
13 days_on_market,
14 median_sale_to_list,
15 median_price_per_sqft
16FROM redfin_market_data
17WHERE
18 region_name = {{ regionSelect.value }}
19 AND property_type = {{ propertyTypeSelect.value || 'All Residential' }}
20 AND period_begin >= {{ dateRangePicker.startDate }}
21 AND period_begin <= {{ dateRangePicker.endDate }}
22ORDER BY period_begin ASC;

Pro tip: Add a second SQL query that calculates year-over-year changes for the latest period: join the most recent month's data against the same month one year prior for each metric. Display these year-over-year deltas in Stat components with arrow indicators (up/down based on positive/negative change) to give users immediate context on market direction.

Expected result: The database Resource is connected and a market trend query returns time-series data for the selected region. A Chart component shows median price trend over the selected date range.

3

Connect to ATTOM Data or Zillow API as a live listing data source

Redfin CSV data provides market trend context but not individual property lookups. For property-level queries (searching by address, retrieving sale history, current listing status), connect to a third-party API. ATTOM Data Solutions (attomdata.com) is the most comprehensive option: sign up at attomdata.com, navigate to the API section to obtain your API key, and review their property detail, sale history, and AVM (automated valuation model) endpoints. In Retool, create a REST API Resource: Base URL https://api.gateway.attomdata.com, and add an apikey header with your ATTOM API key value stored in a configuration variable. A basic ATTOM property lookup query: Method GET, Path /propertyapi/v1.0.0/property/detail, URL Parameters: address1 (street address), address2 (city + state). An alternative is the Zillow API on RapidAPI: subscribe to the Zillow API at rapidapi.com, create a REST API Resource with base URL https://zillow-com1.p.rapidapi.com, and add the X-RapidAPI-Key and X-RapidAPI-Host headers. Both APIs provide property details, sale history, and automated valuations that complement the Redfin market trend data already in your database. Wire a text input for address entry and a Search button to trigger the property lookup query, then display results in a detail Container alongside the market context from the database query.

attom_property_transformer.js
1// JavaScript transformer for ATTOM property detail response
2const prop = data?.property?.[0] || {};
3const building = prop.building || {};
4const lot = prop.lot || {};
5const assessment = prop.assessment || {};
6const sale = prop.sale || {};
7
8return {
9 address: prop.address?.oneLine || 'N/A',
10 city: prop.address?.city || '',
11 state: prop.address?.state || '',
12 zip: prop.address?.postal1 || '',
13 county: prop.area?.countySecondaryName || '',
14 property_type: building?.summary?.propType || '',
15 year_built: building?.summary?.yearBuilt || 'N/A',
16 beds: building?.rooms?.beds || 'N/A',
17 baths: building?.rooms?.bathsTotal || 'N/A',
18 sqft: building?.size?.livingSize
19 ? Number(building.size.livingSize).toLocaleString()
20 : 'N/A',
21 lot_sqft: lot?.lotSize1
22 ? Number(lot.lotSize1).toLocaleString()
23 : 'N/A',
24 assessed_value: assessment?.assessed?.assdTtlValue
25 ? `$${Number(assessment.assessed.assdTtlValue).toLocaleString()}`
26 : 'N/A',
27 last_sale_price: sale?.salesHistory?.[0]?.amount?.saleAmt
28 ? `$${Number(sale.salesHistory[0].amount.saleAmt).toLocaleString()}`
29 : 'N/A',
30 last_sale_date: sale?.salesHistory?.[0]?.saleTransDate || 'N/A'
31};

Pro tip: ATTOM's API requires the street address and city+state as separate parameters (address1 and address2). Format address2 as 'City, ST' — for example, 'San Francisco, CA'. Test with a well-known address first to confirm the response structure before building the full transformer.

Expected result: A property lookup Resource is configured and a test query for a known address returns property details including year built, square footage, bedroom count, assessed value, and last sale information.

4

Build the unified real estate comparison dashboard

Combine the Redfin CSV market data (from the database) with the property-level API data into a unified Retool dashboard. Structure the layout with two main sections. The top section is a Property Research panel: add a text input for address entry and a Search button that triggers the ATTOM or Zillow property lookup query. Display results in a Container on the right with all property details from the transformer. Below the property details, add a sale history Table bound to the historical sales data from the API response. The bottom section is a Market Context panel: this section is auto-populated based on the zip code returned from the property lookup. When the property lookup query succeeds, use an event handler to trigger the market trend query with the property's zip code pre-filled in the regionSelect. This creates an automatic flow where looking up a property immediately loads the relevant market context. Add a line Chart showing the 3-year median price trend for the zip code alongside a Stat component showing how the subject property's last sale price compared to the median at the time of sale. Add a Table showing recent comparable sales in the zip code from the ATTOM comparables endpoint (if available) or from the database filtered to the same zip code and similar property type and size range.

zip_market_history.sql
1-- Comparable sales query from Redfin CSV database
2-- Finds historical periods where the zip code had active market data
3SELECT
4 period_begin,
5 median_sale_price,
6 median_price_per_sqft,
7 homes_sold,
8 days_on_market,
9 inventory,
10 median_sale_to_list
11FROM redfin_market_data
12WHERE
13 region_name = {{ zipCodeFromLookup.value || propertyLookupQuery.data.zip }}
14 AND property_type = 'All Residential'
15 AND period_begin >= NOW() - INTERVAL '3 years'
16ORDER BY period_begin DESC
17LIMIT 36;

Pro tip: Use a Retool JavaScript query to automatically extract the zip code from the property lookup result and set it as the value for the market trend query's regionSelect parameter. Wire this JavaScript query to run on success of the property lookup query using an event handler. This creates a seamless flow from address entry to full market context display.

Expected result: A unified dashboard shows property details from the API lookup alongside 3-year market trend data from the Redfin CSV database for the same zip code. The market context automatically loads when a property is searched.

5

Set up a recurring CSV refresh workflow for current market data

Redfin updates its publicly available CSV files weekly. To keep your Retool dashboard showing current data, set up a recurring refresh process. The simplest approach for small teams is a calendar reminder to manually download new CSVs weekly and re-import them to your database. For automated refresh, create a Retool Workflow with a weekly Schedule trigger. In the Workflow, use an HTTP Request block to download the latest Redfin CSV from the direct download URL (Redfin's CSVs have stable URLs that update with new data). Add a JavaScript block to parse the CSV content. Add a Resource Query block to upsert the new data into the database table using INSERT INTO ... ON CONFLICT (period_begin, region_name, property_type) DO UPDATE SET ... — this pattern inserts new rows and updates existing ones if the same period appears in both the old and new CSV. Add a Slack notification block to alert the team when the refresh completes or fails. Alternatively, if manual updates are acceptable, create a Retool app page with a simple CSV upload Form component that passes the file to a Python or JavaScript query for parsing and database insertion. For investment firms building production-grade Retool data platforms that combine Redfin CSV data, ATTOM API, and internal deal databases with automated refresh pipelines, RapidDev can help architect and build the full solution.

redfin_upsert.sql
1-- Upsert query for automated Redfin CSV refresh
2-- Replace column values with actual CSV column mappings
3INSERT INTO redfin_market_data (
4 period_begin, period_end, region_name, state_code,
5 property_type, median_sale_price, median_list_price,
6 homes_sold, new_listings, inventory, days_on_market,
7 median_sale_to_list, median_price_per_sqft
8)
9VALUES
10 {{ newRowsFromCSV }}
11ON CONFLICT (period_begin, region_name, property_type)
12DO UPDATE SET
13 median_sale_price = EXCLUDED.median_sale_price,
14 median_list_price = EXCLUDED.median_list_price,
15 homes_sold = EXCLUDED.homes_sold,
16 new_listings = EXCLUDED.new_listings,
17 inventory = EXCLUDED.inventory,
18 days_on_market = EXCLUDED.days_on_market,
19 median_sale_to_list = EXCLUDED.median_sale_to_list,
20 median_price_per_sqft = EXCLUDED.median_price_per_sqft,
21 imported_at = NOW();

Pro tip: Add a UNIQUE constraint on (period_begin, region_name, property_type) to your database table before using the upsert pattern — without it, the ON CONFLICT clause will not work and you will accumulate duplicate rows on every import.

Expected result: A Retool Workflow or manual process keeps the Redfin CSV market data current with weekly updates. The database always reflects data from within the past 7-14 days, ensuring the dashboard shows current market conditions.

Common use cases

Residential market trends dashboard using Redfin CSV data

Build a Retool dashboard powered by Redfin's publicly available market data CSV files imported into a PostgreSQL database. Query median sale price, days on market, inventory, and price per square foot by city and zip code. Display trend lines in a Chart component showing how key metrics have changed over time. Add a city or zip code selector to filter the data, and show year-over-year comparison Stat components at the top.

Retool Prompt

Build a Retool market trends dashboard that queries a PostgreSQL database containing Redfin CSV data. Show a line Chart of median sale price by month for a selected metro area. Add Stat components for current median price, current days on market, and year-over-year price change. Include a Select dropdown for choosing the metro area and a date range selector for the trend chart window.

Copy this prompt to try it in Retool

Property research tool using ATTOM Data API

Connect Retool to the ATTOM Data Solutions API via a REST API Resource to build a property research tool. Search properties by address, zip code, or APN, retrieve full property details including sale history, tax assessments, lot size, and estimated value, and display them in a detail panel. Add a Table showing comparable recently sold properties in the same zip code alongside the subject property for investment analysis.

Retool Prompt

Build a Retool property research panel that queries the ATTOM Data API for property details by address or APN. Show a detail view with sale history table, tax assessment history, property characteristics, and estimated value. Add a comparable sales Table showing properties in the same zip code sold in the last 12 months with address, sale price, sale date, and sqft.

Copy this prompt to try it in Retool

Investment property screening dashboard combining multiple data sources

Create a Retool deal screening tool for real estate investors that combines Redfin CSV market data (for neighborhood context) with ATTOM property data (for subject property details) and internal deal tracking from a PostgreSQL database. When an investor enters a target address, Retool retrieves ATTOM property details, cross-references the neighborhood's median price trends from the Redfin CSV database, and displays both alongside the investor's own underwriting model stored in the internal database.

Retool Prompt

Build a Retool investment screening panel where I enter a property address. Query ATTOM API for property details and sale history. Query our PostgreSQL market_data table (imported from Redfin CSVs) for the zip code's median price and DOM trends. Display both in a comparison layout alongside our internal underwriting metrics. Show a Chart of median price trend for the zip code with the subject property's last sale price overlaid.

Copy this prompt to try it in Retool

Troubleshooting

CSV import to the database fails with encoding errors or malformed rows

Cause: Redfin's CSV files may contain special characters or inconsistent formatting in region names, and some database import tools are sensitive to encoding issues in large CSV files.

Solution: Open the Redfin CSV in a spreadsheet application (Excel or Google Sheets) to inspect and clean problematic rows before database import. Use the COPY command in PostgreSQL with the ENCODING 'UTF8' option, or use a CSV import tool that handles encoding automatically like pgAdmin's Import/Export tool or Supabase's built-in CSV import. Remove any BOM (byte order mark) from the CSV if present.

ATTOM API returns 404 for valid-looking addresses

Cause: The address format does not match what ATTOM's geocoder expects — ATTOM requires the street address and city+state as separate parameters, and certain address formats (unit numbers, PO boxes, rural routes) may not resolve.

Solution: Ensure address1 contains only the street number and name (e.g., '123 Main St'), and address2 contains 'City, ST' format (e.g., 'Denver, CO'). Remove apartment or unit numbers from address1 for the initial lookup, or include them separately if ATTOM's API supports a unit parameter. Test with a well-known commercial address first to confirm the API credentials and format are working before testing residential addresses.

Market trend Chart is empty even though the database query returns data

Cause: The Chart component's x-axis or data series configuration does not match the exact column names returned by the SQL query — column aliases in SQL become the keys in the response object.

Solution: Check the query result panel to see the exact column names in the returned data. In the Chart component configuration, set the X-axis data key to exactly match the period_begin column name, and set data series to match the metric column names (median_sale_price, etc.). Column names in SQL results are case-sensitive in Chart bindings.

Redfin CSV data shows no records for smaller zip codes or rural areas

Cause: Redfin's market data coverage is concentrated in metropolitan areas where they operate as a brokerage. Rural areas, smaller towns, and markets where Redfin is not active have sparse or no data in their CSVs.

Solution: For areas not covered by Redfin's CSV data, rely on the ATTOM Data API for property-level data — ATTOM's coverage is nationwide and includes rural areas. Consider supplementing with county assessor data, which is publicly available for most US counties and provides tax assessment history even where Redfin has no active market data.

Best practices

  • Use Redfin's freely available CSV data for market trend context (median prices, days on market, inventory trends) and supplement with a live property data API (ATTOM or Zillow) for current listing and property detail queries.
  • Add a UNIQUE constraint on (period_begin, region_name, property_type) to your Redfin data table before setting up automated imports — this enables upsert patterns that update existing rows rather than creating duplicates.
  • Index the region_name and period_begin columns in your database table from the start — Redfin CSVs can contain hundreds of thousands of rows across all geographies, and unindexed queries become slow as data accumulates.
  • Never use Redfin's undocumented internal API endpoints in a production business context — they violate Redfin's Terms of Service, can result in IP blocking, and change without notice, breaking any integration that depends on them.
  • Store ATTOM or RapidAPI credentials in Retool configuration variables marked as secret to prevent API key exposure and enable rotation without editing Resource configurations.
  • Set up a weekly reminder or automated Retool Workflow to download and import the latest Redfin CSVs — the data updates weekly and stale data in a market tracking dashboard misleads users about current conditions.
  • Clearly label the data source and the data date range in the Retool dashboard UI — users should always know whether they are seeing current listing data from the API or historical market data from the imported CSVs.

Alternatives

Frequently asked questions

Does Redfin have an official public API for developers?

No. As of 2024, Redfin does not offer a public developer API or any official API program for external developers. Redfin has an internal API used by their own applications, but using these undocumented endpoints violates their Terms of Service and is not suitable for business use. The legitimate alternatives are Redfin's free CSV data downloads from their Data Center, or third-party real estate data APIs like ATTOM Data Solutions.

What data is available in Redfin's free CSV downloads?

Redfin's Data Center (redfin.com/news/data-center) provides weekly CSV files with market statistics at national, metro, city, zip code, and neighborhood levels. Metrics include median sale price, median list price, homes sold, new listings, inventory, days on market, months of supply, median price per square foot, and median sale-to-list price ratio. The files cover multiple years of historical data and are updated weekly. Individual property listings and addresses are not included.

What is ATTOM Data Solutions and is it a good Redfin alternative?

ATTOM Data Solutions is a commercial real estate data provider offering nationwide property data including ownership history, sale transactions, tax assessments, valuations, foreclosure data, and property characteristics. It is a paid API service with pricing based on call volume. ATTOM covers both residential and commercial properties nationwide — wider coverage than Redfin, which is focused on residential markets where they operate as a brokerage. ATTOM is the most comprehensive programmatic alternative to Redfin for property-level data.

Can I use the Zillow API as an alternative to Redfin?

Yes. The Zillow API is available through the RapidAPI marketplace and provides property search, Zestimate (automated valuation), and market data similar to Redfin's coverage. Configure a Retool REST API Resource with the RapidAPI gateway URL and the required X-RapidAPI-Key and X-RapidAPI-Host headers for the Zillow API. The RapidAPI free tier provides a limited number of monthly calls, sufficient for low-volume internal tools.

How frequently does Redfin update its CSV market data files?

Redfin updates the CSV files in its Data Center weekly. The files reflect market data aggregated through approximately the previous week's end. For most market trend analysis use cases, weekly data is sufficient. For dashboards that need more current data, supplement the Redfin CSV trends with a live API like ATTOM or Zillow that provides more frequently updated valuation and listing data.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Integrations are where projects stall

We wire Retool integrations like this one every week — auth, webhooks, edge cases included. Fixed-price builds from $13K, delivered in 6–10 weeks.

Talk to an integration engineer

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.