Skip to main content

Efficiently collect and analyze real estate data from Zillow with built-in rate limiting, data cleaning, and batch processing

Project description

TechInRealEstate

A comprehensive Python package for collecting real estate data from various sources, organized by API service provider and platform.

🚀 Quick Example

Service-Specific Imports (Recommended)

from techinrealestate.scrapeak import get_zillow_listings, get_property_details

# Get property listings
api_key = "your_scrapeak_api_key"  # Get your API key at: https://www.scrapeak.com/zillow-scraper/?ref=ariel
url = "https://www.zillow.com/toledo-oh/?searchQueryState=..."
listings = get_zillow_listings(api_key, url, batch_size=2)

# Get detailed property information
zpids = [prop['zpid'] for prop in listings['properties']]
details = get_property_details(api_key, zpids, batch_size=2, clean_data=True)

Direct Imports (Backward Compatibility)

from techinrealestate import get_zillow_listings, get_property_details

# Same usage as above
listings = get_zillow_listings(api_key, url, batch_size=2)
details = get_property_details(api_key, zpids, batch_size=2, clean_data=True)

Future: Multiple API Services

# Scrapeak (current)
from techinrealestate.scrapeak import get_zillow_listings as scrapeak_listings

# Apimaker (future)
from techinrealestate.apimaker import get_zillow_listings as apimaker_listings

# Use different services
scrapeak_data = scrapeak_listings(api_key, url)
apimaker_data = apimaker_listings(api_key, url)

🔑 Get Your API Key

This package requires a Scrapeak API key for Zillow data access. Get yours here:

** Get Scrapeak API Key**

  • Free tier available
  • No credit card required
  • Instant activation

Package Structure

techinrealestate/
├── scrapeak/           # Scrapeak API services
│   └── zillow/        # Zillow data collection
│       ├── listings.py
│       └── property_details.py
├── apimaker/           # Apimaker API services (future)
│   └── zillow/        # Future Zillow integration
│       ├── listings.py
│       └── property_details.py
└── README.md

Import Patterns

# Service-specific (recommended)
from techinrealestate.scrapeak import get_zillow_listings
from techinrealestate.apimaker import get_zillow_listings  # future

# Platform-specific
from techinrealestate.scrapeak.zillow import get_listings
from techinrealestate.apimaker.zillow import get_listings  # future

# Direct imports (backward compatibility)
from techinrealestate import get_zillow_listings

Installation

From PyPI (Recommended)

pip install techinrealestate

From Source (Development)

# Note: Source code is private
# Contact the maintainer for access to development version
pip install techinrealestate

Development Installation

# For contributors with access to private repository
git clone https://github.com/analyticsariel/techinrealestate-package.git
cd techinrealestate-package
pip install -e ".[dev]"

Quick Start

Zillow Listings

# Service-specific import (recommended)
from techinrealestate.scrapeak import get_zillow_listings, get_listings_summary

# Get property listings
api_key = "your_scrapeak_api_key"
url = "https://www.zillow.com/toledo-oh/?searchQueryState=..."

listings = get_zillow_listings(
    api_key=api_key,
    listing_url=url,
    all_properties_flag=True,  # Get all pages
    clean_data=True,          # Clean the data
    enable_logging=True       # Show progress
)

# Get summary
summary = get_listings_summary(listings)
print(f"Retrieved {summary['pagination']['properties_retrieved']} properties")

Property Details

# Service-specific import (recommended)
from techinrealestate.scrapeak import get_property_details, get_property_details_summary

# Single property
details = get_property_details(api_key, "45099121", clean_data=True)

# Multiple properties
zpids = ["45099121", "34648268", "121349556"]
details = get_property_details(
    api_key, 
    zpids, 
    clean_data=True,
    enable_logging=True
)

# Get summary
summary = get_property_details_summary(details)
print(f"Success rate: {summary['summary']['success_rate']}")

Features

Listings Module

  • Pagination Support: Fetch all pages or just the first page
  • Batch Processing: Concurrent requests with rate limiting
  • Data Cleaning: Extract essential fields from raw API responses
  • Progress Logging: Optional progress tracking for large datasets

Property Details Module

  • Single/Multiple Properties: Handle one or many ZPIDs
  • Comprehensive Data: 61+ fields including zoning, photos, descriptions
  • Batch Processing: Efficient concurrent processing
  • Data Cleaning: Structured, clean data output

Data Fields

The package extracts 61+ essential fields organized into categories:

  • Basic Identification (7 fields): ZPID, address, coordinates
  • Pricing & Financial (11 fields): Price, estimates, taxes
  • Property Specifications (13 fields): Beds, baths, size, year built
  • Features & Amenities (10 fields): Heating, cooling, appliances
  • Location & Zoning (4 fields): Zoning, neighborhood
  • Schools (6 fields): Elementary, middle, high school info
  • Property Description & Media (3 fields): Description, photos
  • Listing & Agent Info (7 fields): Agent, broker, listing terms

API Services

Scrapeak

  • Zillow Listings: Property search results
  • Zillow Property Details: Detailed property information

Future Expansion

The package structure supports easy addition of:

  • Other API services (e.g., techinrealestate/another_api/)
  • Other platforms (e.g., techinrealestate/scrapeak/redfin/)
  • Additional data sources

Requirements

  • Python 3.7+
  • Scrapeak API key for Zillow data access (Get yours here)
  • requests
  • concurrent.futures

Contributing

This is a private package. For contributions, feature requests, or bug reports:

  1. Open an issue on the GitHub Issues page
  2. Contact the maintainer for access to the private repository
  3. For major changes, please discuss your ideas first

Note: Source code is private. Only the maintainer can accept contributions directly.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

Changelog

v1.0.0 (2024-01-XX)

  • Initial release
  • Zillow listings collection via Scrapeak API
  • Property details collection with 61+ fields
  • Batch processing with rate limiting
  • Data cleaning and structured output
  • Comprehensive documentation

Acknowledgments

  • Scrapeak for providing the API service
  • Zillow for the data source
  • The Python community for excellent libraries and tools

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

techinrealestate-1.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

techinrealestate-1.1.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file techinrealestate-1.1.0.tar.gz.

File metadata

  • Download URL: techinrealestate-1.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for techinrealestate-1.1.0.tar.gz
Algorithm Hash digest
SHA256 caa7b00b8b828b81eefa151b330eb99fb636864d22089354c83a62b8ab45bd86
MD5 806fe3da6624eb1d66a1595e8673cadc
BLAKE2b-256 d6e382a1126db5e7d938b6c79a72fb2a9cfd938a763dd8ac56c9ad78ce59afe8

See more details on using hashes here.

File details

Details for the file techinrealestate-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for techinrealestate-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8900ede9839034b305b1a9166727dd82b419117d9989ad9620cb7a3b810fdd6
MD5 f73d00e76f0c3920d936de42651b15d8
BLAKE2b-256 b8e2a51482b5a75fbfa9fc8eca57a6d3ae330f6c5598820ee4c73dc763262dc2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page