A Python wrapper around the unofficial Redfin API.
Project description
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file redfin-0.2.2.tar.gz.
File metadata
- Download URL: redfin-0.2.2.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe6f0d913c56f06115cf9e0aa857149ea1bba5cb3c23ca5f7b3ee448520d6e16
|
|
| MD5 |
ebf70f9f2468903fd8760752c8c55fba
|
|
| BLAKE2b-256 |
4e67b6f67998ae9ee2481e7d8b95acfad6a7f14c2826f3dddf7ef66748953488
|
Provenance
The following attestation bundles were made for redfin-0.2.2.tar.gz:
Publisher:
publish.yml on reteps/redfin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redfin-0.2.2.tar.gz -
Subject digest:
fe6f0d913c56f06115cf9e0aa857149ea1bba5cb3c23ca5f7b3ee448520d6e16 - Sigstore transparency entry: 1240067294
- Sigstore integration time:
-
Permalink:
reteps/redfin@61dbf0a22e8b73ea0f48c570d510f098f2c44e7a -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/reteps
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@61dbf0a22e8b73ea0f48c570d510f098f2c44e7a -
Trigger Event:
release
-
Statement type:
File details
Details for the file redfin-0.2.2-py3-none-any.whl.
File metadata
- Download URL: redfin-0.2.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf07d71319f6fcd9918627057a9c085a2b172b6c5456fe57d53b3a2c6514e550
|
|
| MD5 |
35e167d28578246f4deba0edbc65cdd9
|
|
| BLAKE2b-256 |
31c7a597fb5d11243305b7240cf866c5f5ac63d1d98068a48ab3d8bf00b39388
|
Provenance
The following attestation bundles were made for redfin-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on reteps/redfin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
redfin-0.2.2-py3-none-any.whl -
Subject digest:
cf07d71319f6fcd9918627057a9c085a2b172b6c5456fe57d53b3a2c6514e550 - Sigstore transparency entry: 1240067328
- Sigstore integration time:
-
Permalink:
reteps/redfin@61dbf0a22e8b73ea0f48c570d510f098f2c44e7a -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/reteps
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@61dbf0a22e8b73ea0f48c570d510f098f2c44e7a -
Trigger Event:
release
-
Statement type: