Skip to main content

redfin

PyPI Tests

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)

Source distribution for redfin 0.2.2
File Size Uploaded
redfin-0.2.2.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for redfin 0.2.2
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page