Skip to content

ReZEN Python Client

PyPI version Python support License Coverage

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:

pip install rezen
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"]
)

→ Get Started API Reference


✨ Features

  • :material-home: Transaction Management


    Complete transaction lifecycle management from creation to closing, with support for all participant types and financial operations.

    :octicons-arrow-right-24: Learn more

  • :material-account-group: Agent & Team Operations


    Comprehensive agent search, network hierarchy management, and team operations with advanced filtering capabilities.

    :octicons-arrow-right-24: Learn more

  • :material-cog: Type-Safe & Robust


    Complete type hints, comprehensive error handling, and 100% test coverage for production-ready applications.

    :octicons-arrow-right-24: Learn more

  • :material-book-open: Well Documented


    Extensive documentation with real-world examples, troubleshooting guides, and comprehensive API reference.

    :octicons-arrow-right-24: Learn more


🎯 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"
})

→ More Examples


🚦 Getting Started

1. Installation

Choose your installation method:

pip install rezen
poetry add rezen
conda install -c conda-forge rezen

2. Authentication

Set up your API credentials:

export REZEN_API_KEY="your_api_key_here"
# .env
REZEN_API_KEY=your_api_key_here
client = RezenClient(api_key="your_api_key_here")

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")

→ Complete Installation Guide


📖 Documentation


🆘 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


📄 License

The ReZEN Python client is released under the MIT License.


Ready to build powerful real estate applications? Get Started →