redfin
A Python wrapper around the unofficial Redfin API.
Installation
pip install redfin
Usage
from redfin import Redfin
client = Redfin()
response = client.search('1600 Amphitheatre Pkwy, Mountain View, CA')
url = response['payload']['exactMatch']['url']
initial_info = client.initial_info(url)
property_id = initial_info['payload']['propertyId']
# Get estimated value
avm = client.avm_details(property_id, "")
predicted_value = avm['payload']['predictedValue']
print(f"Estimated value: {predicted_value}")
# Get neighborhood walk/bike/transit scores
stats = client.neighborhood_stats(property_id)
walk_score = stats['payload']['walkScoreInfo']['walkScoreData']['walkScore']['value']
print(f"Walk score: {walk_score}")
Configuration
Custom User-Agent
client = Redfin(user_agent="MyApp/1.0 (contact@example.com)")
Rate Limiting
Add a delay between requests to avoid hitting Redfin's rate limits:
client = Redfin(request_delay=1.0) # 1 second between requests
The client also automatically handles 429 responses by sleeping the Retry-After header duration and retrying once.
CLI
redfin estimate <property_id> # print estimate, beds/baths, last sold price
redfin neighborhood <property_id> # print walk/bike/transit scores
Options:
redfin --user-agent "MyApp/1.0" estimate 12345 # custom User-Agent
redfin --delay 1.5 neighborhood 12345 # delay between requests
redfin estimate --json 12345 # raw JSON output
All Methods
URL-based
initial_info(url)page_tags(url)primary_region(url)search(query)
Property ID-based
avm_details(property_id, listing_id)neighborhood_stats(property_id)below_the_fold(property_id)hood_photos(property_id)more_resources(property_id)page_header(property_id)property_comments(property_id)building_details_page(property_id)owner_estimate(property_id)claimed_home_seller_data(property_id)cost_of_home_ownership(property_id)above_the_fold(property_id, listing_id)info_panel(property_id, listing_id)similar_listings(property_id, listing_id)similar_sold(property_id, listing_id)nearby_homes(property_id, listing_id)avm_historical(property_id, listing_id)descriptive_paragraph(property_id, listing_id)tour_insights(property_id, listing_id)stats(property_id, listing_id, region_id)
Listing ID-based
floor_plans(listing_id)tour_list_date_picker(listing_id)
Table ID-based
shared_region(table_id)
License
MIT — see LICENSE.txt
Metadata
Release files for redfin 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| redfin-0.2.2.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redfin-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / redfin-0.2.2.tar.gz
| Download URL | redfin-0.2.2.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe6f0d913c56f06115cf9e0aa857149ea1bba5cb3c23ca5f7b3ee448520d6e16
|
|
BLAKE2b-256 checksum How to use checksums |
4e67b6f67998ae9ee2481e7d8b95acfad6a7f14c2826f3dddf7ef66748953488
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency logRelease files / redfin-0.2.2-py3-none-any.whl
| Download URL | redfin-0.2.2-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf07d71319f6fcd9918627057a9c085a2b172b6c5456fe57d53b3a2c6514e550
|
|
BLAKE2b-256 checksum How to use checksums |
31c7a597fb5d11243305b7240cf866c5f5ac63d1d98068a48ab3d8bf00b39388
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 6, 2026.
Transparency log