A powerful real estate agent powered by AI that integrates with multiple data sources and tools to provide comprehensive property search and management capabilities.
-
Multi-Source Property Search
- Attom API integration for property data
- Zillow web scraping for additional listings
- Property deduplication across sources
-
Notion Integration
- Automatic property database management
- Real-time updates to your Notion workspace
- Customizable property fields and status tracking
-
Email Notifications
- Gmail integration for property updates
- Beautiful HTML email templates
- Customizable notification preferences
-
Modern UI
- Real-time search results
- Interactive property cards
- Visual workflow tracking
- Responsive design
- Python 3.8+
- Node.js 16+
- npm or yarn
- Notion account
- Gmail account
- Attom API key
- Zillow account (for web scraping)
-
Clone the repository:
git clone <repository-url> cd realtor_agent
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Python dependencies:
pip install -e . -
Set up environment variables:
cp .env.example .env
Edit
.envwith your API keys and credentials:ATTOM_API_KEY=your_attom_api_key NOTION_API_KEY=your_notion_api_key NOTION_DATABASE_ID=your_database_id GMAIL_CLIENT_ID=your_client_id GMAIL_CLIENT_SECRET=your_client_secret ZILLOW_USER_AGENT=your_user_agent -
Set up Notion:
- Create a new database in Notion
- Add the following properties:
- Name (title)
- Price (number)
- Bedrooms (number)
- Bathrooms (number)
- Status (select)
- Source (select)
- URL (url)
- Notes (rich text)
- Get your database ID from the URL
- Create an integration at https://www.notion.so/my-integrations
- Share your database with the integration
-
Set up Gmail:
- Go to Google Cloud Console
- Create a new project
- Enable Gmail API
- Create OAuth 2.0 credentials
- Download the credentials file as
credentials.json
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install --legacy-peer-deps
-
Start the development server:
npm start
-
Start the backend server:
python -m realtor_agent
-
Open your browser to
http://localhost:3000 -
Enter your search criteria:
- Location
- Price range
- Number of bedrooms
- Number of bathrooms
- Property type
-
The agent will:
- Search multiple sources for matching properties
- Update your Notion database with new listings
- Send email updates if configured
- Display results in real-time
The application follows a modern microservices architecture:
-
Backend: FastAPI-based Python server
- Task management system
- API integrations
- Data processing and deduplication
-
Frontend: React-based web application
- Real-time updates
- Interactive UI
- Responsive design
-
Integrations:
- Notion: Property database management
- Gmail: Email notifications
- Zillow: Web scraping for listings
- Attom: Property data API
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.