ReZEN Python Client¶
The official Python client for the ReZEN Real Estate API. Build powerful real estate applications with comprehensive transaction management, agent networking, and team operations.
🚀 Quick Start¶
Get up and running in 60 seconds:
from typing import Dict, List, Any
from rezen import RezenClient
# Initialize main client
client: RezenClient = RezenClient()
# Search for active teams
teams: List[Dict[str, Any]] = client.teams.search_teams(status="ACTIVE")
# Search for agents in California
agents: List[Dict[str, Any]] = client.agents.search_active_agents(state_or_province=["CALIFORNIA"])
# Create a transaction
response: Dict[str, Any] = client.transaction_builder.create_transaction_builder()
transaction_id: str = response['id']
# Add property details
client.transaction_builder.update_location_info(transaction_id, {
"address": "123 Main Street",
"city": "Anytown",
"state": "CA",
"zipCode": "90210"
})
# Use Directory API for vendor management through main client
vendors: List[Dict[str, Any]] = client.directory.search_vendors(
page_number=0,
page_size=20,
roles=["TITLE_ESCROW", "LENDER"]
)
✨ Features¶
-
:material-home: Transaction Management
Complete transaction lifecycle management from creation to closing, with support for all participant types and financial operations.
-
:material-account-group: Agent & Team Operations
Comprehensive agent search, network hierarchy management, and team operations with advanced filtering capabilities.
-
:material-cog: Type-Safe & Robust
Complete type hints, comprehensive error handling, and 100% test coverage for production-ready applications.
-
:material-book-open: Well Documented
Extensive documentation with real-world examples, troubleshooting guides, and comprehensive API reference.
🎯 Use Cases¶
Real Estate Transaction Processing¶
Build applications that handle the complete real estate transaction lifecycle:
- Property listings and transaction creation
- Participant management (buyers, sellers, agents, service providers)
- Financial operations (commissions, payments, escrow)
- Document management and reporting
Agent Network Management¶
Manage complex agent networks and hierarchies:
- Agent discovery and search capabilities
- Network analysis with sponsor trees and downlines
- Team management and assignments
- Performance tracking and analytics
Integration & Automation¶
Integrate ReZEN with your existing systems:
- CRM integrations for customer management
- Accounting systems for financial tracking
- Document management for transaction records
- Workflow automation for process optimization
📊 API Coverage¶
API Section | Endpoints | Status |
---|---|---|
Transaction Builder | 52 endpoints | ✅ Complete |
Transactions | 49 endpoints | ✅ Complete |
Agents | 36 endpoints | ✅ Complete |
Teams | 2 endpoints | ✅ Complete |
Users | 3 endpoints | ✅ Complete |
Directory | 16 endpoints | ✅ Complete |
Total | 158 endpoints | ✅ Complete |
🏗️ Architecture¶
The ReZEN Python client is built with modern Python best practices:
graph TB
A[RezenClient] --> B[TransactionBuilderClient]
A --> C[TransactionsClient]
A --> D[TeamsClient]
A --> E[AgentsClient]
A --> F[UsersClient]
A --> G[DirectoryClient]
B --> H[BaseClient]
C --> H
D --> H
E --> H
F --> H
G --> H
H --> I[HTTP Session]
H --> J[Error Handling]
H --> K[Authentication]
style A fill:#e1f5fe
style H fill:#f3e5f5
style I fill:#e8f5e8
style J fill:#fff3e0
style K fill:#fce4ec
Key Design Principles¶
- 🎯 Simple Interface: Intuitive method names and clear parameter structures
- 🔒 Type Safety: Complete type hints for excellent IDE support
- ⚡ Performance: Efficient HTTP session management and connection pooling
- 🛡️ Reliability: Comprehensive error handling and retry mechanisms
- 📚 Extensible: Clean architecture for easy customization and extension
💡 Examples¶
Create a Complete Transaction¶
from datetime import datetime, timedelta
from typing import Dict, Any
from rezen import RezenClient
client: RezenClient = RezenClient()
# Create transaction builder
response: Dict[str, Any] = client.transaction_builder.create_transaction_builder()
transaction_id: str = response['id']
# Add property details
client.transaction_builder.update_location_info(transaction_id, {
"address": "1234 Elm Street",
"city": "San Francisco",
"state": "CA",
"zipCode": "94102"
})
# Set pricing and timeline
closing_date: str = (datetime.now() + timedelta(days=45)).strftime("%Y-%m-%d")
client.transaction_builder.update_price_and_date_info(transaction_id, {
"purchase_price": 850000,
"closing_date": closing_date
})
# Add participants
client.transaction_builder.add_buyer(transaction_id, {
"first_name": "Alice",
"last_name": "Johnson",
"email": "alice@email.com"
})
# Submit for processing
client.transaction_builder.submit_transaction(transaction_id)
Agent Network Analysis¶
from typing import Dict, List, Any
from rezen import RezenClient
client: RezenClient = RezenClient()
# Find agents in California
agents: List[Dict[str, Any]] = client.agents.search_active_agents(
state_or_province=["CALIFORNIA"],
page_size=50
)
# Analyze agent's network
for agent in agents[:5]:
agent_id: str = agent['id']
# Get network statistics
network_stats: List[Dict[str, Any]] = client.agents.get_network_size_by_tier(agent_id)
front_line: List[Dict[str, Any]] = client.agents.get_front_line_agents_info(agent_id)
print(f"Agent {agent['first_name']} {agent['last_name']}:")
print(f" Network tiers: {len(network_stats)}")
print(f" Front line agents: {len(front_line)}")
Directory Management¶
from typing import Dict, List, Any
from rezen import RezenClient
client: RezenClient = RezenClient()
# Search for vendors
vendors: List[Dict[str, Any]] = client.directory.search_vendors(
page_number=0,
page_size=20,
is_archived=False,
state_or_province="CALIFORNIA"
)
# Create a new person
person_data: Dict[str, Any] = {
"firstName": "Jane",
"lastName": "Smith",
"emailAddress": "jane@example.com",
"phoneNumber": "555-0123"
}
person: Dict[str, Any] = client.directory.create_person(person_data)
# Link person to vendor
client.directory.link_person(person['id'], {
"vendorId": "vendor-123"
})
🚦 Getting Started¶
1. Installation¶
Choose your installation method:
2. Authentication¶
Set up your API credentials:
3. First API Call¶
from typing import List, Dict, Any
from rezen import RezenClient
client: RezenClient = RezenClient()
teams: List[Dict[str, Any]] = client.teams.search_teams(status="ACTIVE", page_size=10)
print(f"Found {len(teams)} active teams")
📖 Documentation¶
-
5-minute guide to get up and running
-
Complete API documentation with examples
-
Real-world usage patterns and best practices
-
Common issues and debugging techniques
-
Help improve the ReZEN Python client
-
Version history and release notes
🆘 Support¶
Community & Help¶
- 📖 Documentation: Comprehensive guides and API reference
- 💬 GitHub Issues: Bug reports and feature requests
- 📧 Email Support: support@rezen.com
- 🌐 Website: rezen.com
Status & Monitoring¶
- 🔍 API Status: status.rezen.com
- 📊 PyPI Package: pypi.org/project/rezen
- 🐙 GitHub Repo: github.com/theperrygroup/rezen
📄 License¶
The ReZEN Python client is released under the MIT License.
Ready to build powerful real estate applications? Get Started →