Fast, Multi-Source Rental Search for York Region, Ontario
rentFalcon is a powerful rental listing aggregator that searches multiple rental websites simultaneously and displays all results in one clean interface. Stop checking Kijiji, Rentals.ca, and other sites separately!
Perfect for finding rentals in Newmarket, ON and surrounding areas (Aurora, Richmond Hill, Bradford, Markham, Vaughan, and more).
- 🔍 Multi-Source Search - Searches Kijiji and Rentals.ca at once
- ⚡ Fast Results - Get 30-50 listings in 10-15 seconds
- 🎯 Smart Deduplication - Automatically removes duplicate listings
- 🏘️ 8 Cities Supported - Newmarket area within 25 km radius
- 💰 Price Filtering - Set your budget and find matches
- 🆓 Completely Free - No ads, no subscriptions, no hidden costs
- 🖥️ User-Friendly - Clean web interface, no technical knowledge required
Clean, simple search form with location and price filters.
All listings from multiple sources in one place, with duplicate removal.
- Download the project (.zip file)
- Double-click
EASY_SETUP.bat - Follow on-screen instructions (5 minutes)
- Start searching! Use desktop shortcut or
START_RENTAL_SCANNER.bat
That's it! Everything installs automatically.
# Clone the repository
git clone https://github.com/yourusername/rentFalcon.git
cd rentFalcon
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.pyVisit http://localhost:5000 in your browser.
- Python 3.8+
- Google Chrome (for Rentals.ca scraper)
- Internet connection
- Windows 10/11 (batch files for Windows; manual setup for Mac/Linux)
rentFalcon searches rentals in these cities within 25 km of Newmarket:
| City | Distance | Typical Rent Range |
|---|---|---|
| Newmarket | Center | $1,400 - $2,800 |
| Aurora | 8 km | $1,600 - $2,900 |
| Richmond Hill | 12 km | $1,800 - $3,500 |
| Bradford | 20 km | $1,200 - $2,200 |
| East Gwillimbury | 15 km | $1,400 - $2,500 |
| Markham | 18 km | $1,800 - $3,200 |
| Vaughan | 20 km | $1,900 - $3,500 |
| King City | 10 km | $1,800 - $3,000 |
- User Guide - Complete guide for non-technical users
- Quick Reference - Quick tips and commands
- Installation Guide - Detailed setup instructions
- Newmarket Quick Start - Search examples and tips
# Run the easy setup script
EASY_SETUP.batThis will:
- ✅ Check Python installation
- ✅ Check Chrome installation
- ✅ Install all required packages
- ✅ Create desktop shortcut
- ✅ Launch the application
# Install core dependencies
pip install Flask Flask-SQLAlchemy requests beautifulsoup4 selenium webdriver-manager python-dotenv APScheduler
# Run the application
python app.pyWindows:
- Double-click
START_RENTAL_SCANNER.bat - Or use the desktop shortcut "rentFalcon"
Manual:
python app.py- Open
http://localhost:5000in your browser - Enter location (default: Newmarket)
- Set price range (optional)
- Click "Search Rentals"
- View 30-50 results in 10-15 seconds!
Affordable 1-Bedroom in Newmarket:
Location: Newmarket
Min Price: 1400
Max Price: 1800
Family Home in Aurora:
Location: Aurora
Min Price: 2000
Max Price: 2800
- Backend: Python 3.13, Flask 3.1
- Scraping: BeautifulSoup, Selenium, Requests
- Browser Automation: Selenium WebDriver, ChromeDriver
- Scheduling: APScheduler
- Frontend: HTML, CSS, Vanilla JavaScript
| Source | Status | Method | Speed |
|---|---|---|---|
| Kijiji | ✅ Active | HTML/JSON-LD parsing | 3-5s |
| Rentals.ca | ✅ Active | Selenium automation | 10-15s |
| Realtor.ca | API blocked | N/A |
- Parallel Scraping - All scrapers run simultaneously
- Smart Deduplication - 85% similarity threshold
- Automatic Retries - Handles temporary failures
- Rate Limiting - Respects source websites
- Caching - ChromeDriver cached after first download
- Error Handling - Graceful failures, app continues
- ✅ No data collection - Everything runs locally
- ✅ No tracking - Your searches are private
- ✅ No accounts - No login required
- ✅ Read-only - Only reads public listings
- ✅ Open source - Inspect the code yourself
| Metric | Value |
|---|---|
| Average search time | 10-15 seconds |
| Typical results | 30-50 unique listings |
| Deduplication rate | ~32% duplicates removed |
| First search time | 30-60 seconds (one-time ChromeDriver setup) |
| Success rate | 100% (2/2 active scrapers) |
rentFalcon/
├── app.py # Main Flask application
├── config.py # Configuration
├── scrapers/ # Scraper modules
│ ├── base_scraper.py # Base scraper class
│ ├── kijiji_scraper.py # Kijiji implementation
│ ├── rentals_ca_scraper.py # Rentals.ca implementation
│ └── scraper_manager.py # Coordinates scrapers
├── templates/ # HTML templates
│ └── index.html # Main search interface
├── static/ # CSS and assets
├── models/ # Database models
└── docs/ # Documentation
python test_scrapers.py- Create new scraper class in
scrapers/ - Inherit from
BaseScraper - Implement required methods
- Register in
scraper_manager.py - Test and submit PR!
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Add more rental sources (Facebook Marketplace, PadMapper, etc.)
- Support for Mac/Linux
- Add saved searches feature
- Email notifications for new listings
- Map view of results
- Export to CSV/Excel
- Mobile app version
- More cities/regions
- Install Python from python.org
- Important: Check "Add Python to PATH" during installation
- Restart computer
- Install Chrome from google.com/chrome
- Run
EASY_SETUP.batagain
- Check spelling of city name
- Remove price filters
- Try a different city
- Verify internet connection
- Normal! ChromeDriver downloads on first run (30-60 seconds)
- Only happens once
- Subsequent searches are fast (10-15 seconds)
More help: See USER_GUIDE_SIMPLE.md
This project is licensed under the MIT License - see the LICENSE file for details.
- Original Creator - jd gramsci
- Thanks to all the rental websites for providing public data, thank you to Inn from the Cold for the inspiration
- Built with Flask, BeautifulSoup, and Selenium
- Inspired by the need for streamlined housing access, and the desire to build dual power where ever I can.
- Documentation: Check the
docs/folder - Issues: Open an issue on GitHub
- Questions: See USER_GUIDE_SIMPLE.md
- ✅ Multi-source scraping (Kijiji + Rentals.ca)
- ✅ 8 cities in Newmarket area
- ✅ Easy setup for non-technical users
- ✅ Desktop shortcut support
- Add Facebook Marketplace scraper
- Saved searches feature
- Email/Discord/Telegram notifications
- Mac/Linux support
- Map view of listings
- Mobile app
- Web App
- Docker Image
- User accounts (optional)
- Expand to all Canadian provinces/territories
If rentFalcon helps you find a rental, please give it a star! ⭐
Share with your friends and take care of your community! Housing First!
- Lines of Code: ~5,000+
- Files: 50+
- Scrapers: 2 active (3 total)
- Cities Supported: 8
- Documentation Pages: 10+
- Development Time: 5 days
- Status: ✅ Production Ready
Made with ❤️ for the working class
🦅 rentFalcon - get the swoop on landlords
Last Updated: November 2025