A comprehensive Python package for collecting and analyzing real estate market data with built-in rate limiting, data cleaning, and batch processing
Project description
TechInRealEstate
A comprehensive Python package for collecting and analyzing real estate market data from various sources, organized by API service provider and platform.
🚀 Quick Example
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)
🔑 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
└── README.md
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
from techinrealestate.scrapeak import get_zillow_listings, get_listings_summary
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
)
summary = get_listings_summary(listings)
print(f"Retrieved {summary['pagination']['properties_retrieved']} properties")
Property Details
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)
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:
- Open an issue on the GitHub Issues page
- Contact the maintainer for access to the private repository
- 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
- Documentation: PyPI Package
- Issues: GitHub Issues
- Email: your-email@example.com
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
Project details
Release history Release notifications | RSS feed
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 techinrealestate-1.1.4.tar.gz.
File metadata
- Download URL: techinrealestate-1.1.4.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
439af0236dd02af455292a0bdb01f5542971f6eeb1655867e86cdd3e8ebe79ce
|
|
| MD5 |
c3677ec9ff3fec0612d56d8f9d2f1a86
|
|
| BLAKE2b-256 |
1e355dd155e3c331c910a51104f033beee0b74e9d1b47cabb47e3a8db84ecc66
|
File details
Details for the file techinrealestate-1.1.4-py3-none-any.whl.
File metadata
- Download URL: techinrealestate-1.1.4-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8131c268782a55c32d6e83217d57526400d11ceea4fea8d85e20c1c8908074e
|
|
| MD5 |
a5dca22026bba1a2049e12b1feb0deec
|
|
| BLAKE2b-256 |
979dd5723691c1c44d00f70b455242244dcbe22f43e19e94233514b916a96fdc
|