Zestimate vs Redfin Estimate: Which Home Value Is More Accurate?
Redfin publishes a 1.85% median error rate on listed homes. What that hides, why Zestimate and Redfin Estimate disagree, and how to test accuracy in your own ZIP.
The actor referenced in this article. Pay only for results delivered.
Search “is the Zestimate accurate” and you get two kinds of page: real estate agents arguing the number is wrong, and the vendors themselves publishing a median error rate. Neither one answers the question a buyer, an investor, or anyone building a valuation product actually has, which is: how wrong is it here, on this kind of house?
This page is about that gap. It covers what the published accuracy numbers mean, why the same house gets different numbers on different sites, and the method for measuring the error yourself in one ZIP code. If what you want instead is a field-by-field comparison of the three portals as data sources, that is a separate page: Zillow vs Redfin vs Realtor.com: which real estate data source should you scrape.
TL;DR: Redfin publishes 1.85% median error on listed homes and 7.27% off-market. Zillow publishes its own comparable figure on its Zestimate page. Both are national medians computed by the vendor on the vendor’s terms, and both are roughly four times worse off-market than on-market. The number that matters for your market is not published by anyone, but you can measure it with about 2,000 sold records and $2 of scraping, as long as you avoid the one trap that invalidates most attempts.
What the published numbers actually say
Redfin publishes its accuracy figures on the Redfin Estimate page: a median error rate of 1.85% for homes currently for sale and 7.27% for off-market homes, across roughly 92 million homes, using more than 500 data points per estimate. Zillow publishes an equivalent median error rate for the Zestimate on its own Zestimate page.
Two things about those numbers before anyone uses them to pick a winner.
Median error is not average error. A 1.85% median means half the estimates are off by less than 1.85% and half are off by more. It says nothing about the tail. The house that comes in 30% low is inside that statistic and so is the one that comes in 40% high. If your use case is screening deals or setting an offer, the tail is the whole risk and the median hides it.
On-market accuracy is close to circular. When a home is actively listed, the model can see the list price, which is itself a professional opinion of value informed by the same comparable sales the model uses. Predicting the sale price of a house whose asking price you already know is a much easier problem than predicting the value of a house nobody has priced. That is most of why the off-market figure is roughly four times worse, and the off-market figure is the one that applies to almost every house in the country at any given moment.
So the honest read of the published numbers is: on a listed home, both estimates are good enough to sanity-check a price. On an unlisted home, an error of 7% on a $600,000 house is a $42,000 swing at the median, with a worse tail. Neither vendor is hiding this. It is on their own pages.
Why the same house gets different numbers
The estimates diverge because the inputs diverge, often before the models do anything interesting.
Redfin is a brokerage. Redfin says so directly on its own estimate page: as a licensed real estate brokerage it holds full Multiple Listing Service access, and it uses MLS records of recently-sold homes to compute current value. MLS sold data is the cleanest input available for a valuation, because it is the actual transaction record filed by the agent who closed it, including the corrected square footage and the concessions.
Zillow blends more sources. Zillow aggregates MLS feeds where it has agreements, broker and agent syndication, public records, and homeowner-submitted edits to home facts. That is why Zillow generally shows the broadest active-listing coverage of the three portals, and also why its inputs are noisier: a homeowner who claims their home and corrects the square footage upward is editing an input to the model.
Realtor.com does something different again. Its RealEstimate surfaces valuations from third-party AVM vendors rather than a single in-house model, so a property page can carry several numbers with a spread between them. It does not publish one house-brand error rate to compare against the other two.
The practical consequence: when Zillow and Redfin disagree by 12% on a house, the first thing to check is not the models, it is whether the two sites agree on the square footage, the bed and bath count, and the last sale date. Often they do not, and that explains most of the gap.
The trap that ruins most DIY accuracy tests
The obvious way to test this is to pull recently-sold homes, compare each one’s Zestimate to what it actually sold for, and take the median absolute percentage error. That is exactly what we would sell you a scraper for, and it does not work.
The problem is that the Zestimate on a sold listing has already seen the sale. Once a transaction records, the sale price becomes an input to the model for that property, and the Zestimate snaps toward it. Scrape sold homes today and the error you measure is not the model’s forecasting error, it is how fast the model absorbs a recorded sale. You will get a number that looks impressively small and means nothing.
Zillow’s and Redfin’s own published methodologies avoid this by evaluating the estimate as it stood before the sale. To reproduce that yourself you need the same thing: a snapshot taken while the home was still on the market, held until it sells.
The method that does work
Two runs separated by time, against the same market.
Run 1, today. Pull active listings in your target ZIP with Zillow Search Scraper. Keep the zpid, the zestimate, the list price, and the date you pulled. Store it. This is your prediction snapshot.
Run 2, in 60 to 120 days. Pull recently-sold homes in the same ZIP with Zillow Recently Sold Scraper. Join on zpid. For every property that appears in both, you now have a Zestimate recorded before the sale and the price it actually sold for.
import os, json, statistics
from apify_client import ApifyClient
apify = ApifyClient(os.environ["APIFY_TOKEN"])
def run(actor, payload):
r = apify.actor(actor).call(run_input=payload)
return list(apify.dataset(r["defaultDatasetId"]).iterate_items())
# --- Run 1: snapshot today, then save it somewhere durable ---
active = run("themineworks/zillow-search-scraper", {
"location": "78704",
"maxItems": 2000,
})
snapshot = {
str(p["zpid"]): {"zestimate": p.get("zestimate"), "list_price": p.get("price")}
for p in active if p.get("zpid") and p.get("zestimate")
}
json.dump(snapshot, open("snapshot_78704.json", "w"))
# --- Run 2: 60 to 120 days later ---
snapshot = json.load(open("snapshot_78704.json"))
sold = run("themineworks/zillow-recently-sold", {
"location": "78704",
"soldInLast": 90,
"maxItems": 2000,
})
errors = []
for p in sold:
prior = snapshot.get(str(p.get("zpid")))
sold_price = p.get("price")
if not prior or not sold_price:
continue
errors.append(abs(prior["zestimate"] - sold_price) / sold_price)
errors.sort()
print(f"matched {len(errors)} sales")
print(f"median absolute error: {statistics.median(errors):.2%}")
print(f"90th percentile error: {errors[int(len(errors) * 0.9)]:.2%}")
print(f"share within 5%: {sum(e <= 0.05 for e in errors) / len(errors):.1%}")
The 90th percentile line is the one worth reading. The median will land somewhere near the published national figure and tell you very little. The tail is what tells you whether you can put this number in front of a client.
Two things to control for if you want the result to hold up. Filter to a single property type, because condos and single-family homes have different error profiles and mixing them produces a median that describes neither. And drop anything that sold more than about 120 days after your snapshot, since a stale prediction is being scored against a moved market.
If you want the same measurement on a whole metro rather than one ZIP, run the snapshot across a list of ZIP codes and keep them separate in the output. Error rates vary enough between neighbourhoods that a metro-wide median is close to useless for pricing a specific street.
What it costs
Both Zillow actors bill per property returned, at $0.001 each, which is $1 per 1,000 results on Apify’s FREE tier and less on the paid tiers. So the full test above, 2,000 active listings plus 2,000 sold records, is about $4 of scraping spread across two runs a quarter apart. Nothing is charged on a failed or empty lookup.
| Actor | Price per 1,000 (FREE tier) | Returns the Zestimate |
|---|---|---|
| Zillow Search Scraper | $1 | Yes, plus Rent Zestimate |
| Zillow Recently Sold Scraper | $1 | Yes, alongside sold price and sold date |
| Zillow Property Details Scraper | $1 | Yes, plus price history and tax history |
| Redfin Scraper | $2 | No |
| Realtor.com Scraper | $2 | No |
Prices are the current Apify FREE-tier rate, which is the most anyone pays; Bronze, Silver and Gold tiers are lower. Redfin and Realtor.com also carry a $0.00005 actor-start charge per run, which is a rounding error unless you are scheduling thousands of tiny runs.
Where this method runs out
You cannot test the Redfin Estimate this way. Our Redfin Scraper returns list price, sold price, sold date, listing agent, broker, MLS ID, status and days on market. It does not return the Redfin Estimate, so there is no way to score Redfin’s model from our data. If measuring Redfin’s own valuation is the job, this is not the tool for it, and we would rather say that than let the table above imply otherwise.
Neither is a substitute for an appraisal. An automated model has never been inside the house. It does not know about the failing roof, the unpermitted addition, or the renovation that finished last month. On off-market homes especially, treat the estimate as a screening filter and nothing more.
Redfin’s on-market number reflects a smaller, cleaner universe. Redfin’s estimate covers about 92 million homes, and its brokerage-grade MLS access is a genuine advantage on transaction data that Zillow’s blended sourcing does not fully match. If you are working from a listed home and want one number to sanity-check an asking price, Redfin’s published on-market error rate is the stronger claim of the two, and it is on their site rather than ours.
We could not read Zillow’s published Zestimate error rate directly for this page, because zillow.com blocks automated requests, so we are not quoting a figure for it. Check the current number on Zillow’s Zestimate page yourself. Both vendors revise these figures, which is the other reason not to trust a number quoted in a blog post, including this one.
Related reading
- Zillow vs Redfin vs Realtor.com: which real estate data source should you scrape covers the same three portals field by field, for picking a source rather than judging a model.
- Building a comps report from Zillow recently-sold data is the manual version of the valuation problem, with the comps-selection rules that matter.
- Zillow property details: Zestimate, tax history, and agent data by URL shows what the deep property record holds beyond the search card.
- The real estate data stack is the architecture for running all three portals into one pipeline.
Accuracy figures for the Redfin Estimate were read from redfin.com on 2026-07-30. Actor prices were checked against the Apify API the same day. Both change. If a number here has gone stale, tell us at hello@themineworks.com.
Explore the scraper referenced in this article — see inputs, outputs, and pricing, then run it on Apify.
Frequently asked questions
Is the Zestimate or the Redfin Estimate more accurate? +
Both companies publish a national median error rate on their own sites, and Redfin currently publishes 1.85% for homes that are actively listed and 7.27% for off-market homes. Those are national medians computed by each vendor on its own terms, so they are not directly comparable and neither tells you the error in your ZIP code. The only answer that holds up for a specific market is one you measure there yourself.
Why is my Zestimate different from my Redfin Estimate? +
Different models on different inputs. Redfin is a licensed brokerage with direct MLS access and weights recently-sold MLS records heavily. Zillow blends MLS feeds, syndicated broker data, public records, and homeowner-submitted home facts. When the two sites hold different square footage or bed/bath counts for the same house, the estimates diverge before the models even run.
How accurate is the Zestimate for a home that is not for sale? +
Much less accurate than for a listed home. Both vendors publish a materially higher error rate for off-market homes, because there is no active listing, no recent inspection-grade data, and often no recent comparable sale nearby. Redfin publishes 7.27% off-market against 1.85% on-market, roughly four times the error.
Can I get the Zestimate through an API? +
Not through an official public API. Zillow shut its public developer API years ago and current data access is gated behind partner agreements. The Zestimate and Rent Zestimate are still published on the public listing pages, which is where our Zillow actors read them.
Does Realtor.com have its own home value estimate? +
Realtor.com shows RealEstimate, which surfaces estimates from third-party AVM vendors rather than a single in-house model, so a property page can show a range of numbers rather than one. It does not publish a single house-brand median error rate comparable to the Zestimate or Redfin Estimate figures.
Can I compare Zestimate and Redfin Estimate accuracy at scale with your actors? +
You can measure the Zestimate, because the Zillow actors return the zestimate field alongside the sold price. You cannot measure the Redfin Estimate from our data: our Redfin scraper returns list price, sold price, agent, MLS ID, and days on market, but not Redfin own valuation. That is a real limit of what we sell and we would rather say it than imply otherwise.
Best Threads Scrapers Compared (2026): Prices, Success Rates, and What Each One Misses
Eight Threads scrapers on the Apify Store compared with public data: price per 1,000 posts, start fees, run success, ratings, and modes. Including where ours is not the right pick.
X API Pay-Per-Use vs Scraping in 2026: What 10,000 Tweets Actually Costs
X killed the $200/month Basic tier for new developers and moved to metered pricing at $0.005 per post read, capped at 2M reads a month. Here is the real cost math against a pay-per-result scraper, and the cases where the official API is still the right call.
Airbnb vs Zillow Rental Listings: Comparing Short-Term and Long-Term Rental Data
Airbnb and Zillow rental data answer different questions. Compare fields, pricing models and use cases for short-term stay data vs long-term rental listings.