VIDEO SHOWCASE : https://youtu.be/xcjRcRTZt-I?si=thM-5ZTkQCM7sZmI
Interactive Real Estate Explorer with KPI metrics, AI curated portals, and property listing tables.
⚠️ Important Note on Crawl Settings, Model Selection & Rate Limits (TPM):
- Exponential Crawl Scaling: The total number of crawled pages, AI token expenditure, and overall execution time increase exponentially with the Crawl Settings (
AI Curated Sites×Pages per Site).
- For Testing: It is strongly recommended to set 1 Curated Site and 1 Page per Site (
1 / 1) to verify location results quickly and conserve API quota.- For Full Scrapes: Increase to higher limits (e.g., 2–5 sites, 2–3 pages) once you confirm portal accessibility.
- AI Provider Capacity & Extraction Yield (TPM Limits):
- Google Gemini (
gemini-3.6-flash) [Recommended for Maximum Volume]: Features a 4,000,000 TPM limit and 1M context window. It effortlessly extracts 20 to 25 complete listings per page in seconds.- Groq Cloud (Free Tier): Provides ultra-fast LPU inference, but large 70B/120B models (e.g.
openai/gpt-oss-120b) have a tight ~6,000 TPM cap that can rate-limit full-page extraction down to only 1–2 listings per request. For Groq, use high-throughput models likeqwen/qwen3.6-27b,groq/compound-mini, oropenai/gpt-oss-20b(20,000+ TPM).
Traditional web scrapers rely on brittle CSS/XPath selectors that constantly break whenever real estate portals change layouts, obfuscate class names, or render dynamic JavaScript feeds.
By leveraging an AI semantic extraction engine with Pydantic structured outputs, this pipeline extracts clean, structured property data across any portal worldwide in any language without writing or maintaining site-specific scrapers.
Location & Filters (e.g. Ipanema, Rio de Janeiro / Brasil)
│
▼
1. Direct Listing Discovery (DuckDuckGo Engine - Scaled Candidates)
│
▼
2. AI Pre-Curation & Index Matching (Preserves exact deep routes & filters noise)
│
▼
3. Dual-Engine Crawler with Early Site Abandonment (Validates Page 1 first)
│
▼
4. DOM Token Condensation (~75% Noise Reduction)
│
▼
5. Country-Aware Structured Extraction (Suites, Amenities, Highlights, Financing)
│
▼
6. Fail-Fast Resiliency, Pandas Deduplication & CSV/JSON Export
apartamentos a venda em Ipanema Rio de Janeiro), retrieving live deep listing search URLs dynamically without form automation.zapimoveis.com.br/). By numbering candidate URLs and having the LLM select 1-based integer indexes ([1, 2]), exact deep paths are preserved with 100% fidelity.R$, m², quartos, amenities), fitting within fast LLM token windows.price, area_m2, bedrooms, suites, amenities, financing_accepted) localized to the target country's official language.utf-8-sig) and JSON export.# 1. Clone the repository
git clone https://github.com/Kodomoppoi/Real-estate-Scrapper.git
cd Real-estate-Scrapper
# 2. Run the application
streamlit run app.py
Configure your API key directly in the Web Dashboard sidebar or create a .env file in the project root:
# Google Gemini (Recommended - Free Tier available)
GEMINI_API_KEY=AIzaSy...
LLM_MODEL=gemini-3.6-flash
# Or OpenAI
OPENAI_API_KEY=sk-...
LLM_MODEL=gpt-4o-mini
utf-8-sig) and JSON.Run the automated test suite with pytest:
pytest tests/
25 commits
Python
96.0%
CSS
4.0%
VIDEO SHOWCASE : https://youtu.be/xcjRcRTZt-I?si=thM-5ZTkQCM7sZmI
Interactive Real Estate Explorer with KPI metrics, AI curated portals, and property listing tables.
⚠️ Important Note on Crawl Settings, Model Selection & Rate Limits (TPM):
- Exponential Crawl Scaling: The total number of crawled pages, AI token expenditure, and overall execution time increase exponentially with the Crawl Settings (
AI Curated Sites×Pages per Site).
- For Testing: It is strongly recommended to set 1 Curated Site and 1 Page per Site (
1 / 1) to verify location results quickly and conserve API quota.- For Full Scrapes: Increase to higher limits (e.g., 2–5 sites, 2–3 pages) once you confirm portal accessibility.
- AI Provider Capacity & Extraction Yield (TPM Limits):
- Google Gemini (
gemini-3.6-flash) [Recommended for Maximum Volume]: Features a 4,000,000 TPM limit and 1M context window. It effortlessly extracts 20 to 25 complete listings per page in seconds.- Groq Cloud (Free Tier): Provides ultra-fast LPU inference, but large 70B/120B models (e.g.
openai/gpt-oss-120b) have a tight ~6,000 TPM cap that can rate-limit full-page extraction down to only 1–2 listings per request. For Groq, use high-throughput models likeqwen/qwen3.6-27b,groq/compound-mini, oropenai/gpt-oss-20b(20,000+ TPM).
Traditional web scrapers rely on brittle CSS/XPath selectors that constantly break whenever real estate portals change layouts, obfuscate class names, or render dynamic JavaScript feeds.
By leveraging an AI semantic extraction engine with Pydantic structured outputs, this pipeline extracts clean, structured property data across any portal worldwide in any language without writing or maintaining site-specific scrapers.
Location & Filters (e.g. Ipanema, Rio de Janeiro / Brasil)
│
▼
1. Direct Listing Discovery (DuckDuckGo Engine - Scaled Candidates)
│
▼
2. AI Pre-Curation & Index Matching (Preserves exact deep routes & filters noise)
│
▼
3. Dual-Engine Crawler with Early Site Abandonment (Validates Page 1 first)
│
▼
4. DOM Token Condensation (~75% Noise Reduction)
│
▼
5. Country-Aware Structured Extraction (Suites, Amenities, Highlights, Financing)
│
▼
6. Fail-Fast Resiliency, Pandas Deduplication & CSV/JSON Export
apartamentos a venda em Ipanema Rio de Janeiro), retrieving live deep listing search URLs dynamically without form automation.zapimoveis.com.br/). By numbering candidate URLs and having the LLM select 1-based integer indexes ([1, 2]), exact deep paths are preserved with 100% fidelity.R$, m², quartos, amenities), fitting within fast LLM token windows.price, area_m2, bedrooms, suites, amenities, financing_accepted) localized to the target country's official language.utf-8-sig) and JSON export.# 1. Clone the repository
git clone https://github.com/Kodomoppoi/Real-estate-Scrapper.git
cd Real-estate-Scrapper
# 2. Run the application
streamlit run app.py
Configure your API key directly in the Web Dashboard sidebar or create a .env file in the project root:
# Google Gemini (Recommended - Free Tier available)
GEMINI_API_KEY=AIzaSy...
LLM_MODEL=gemini-3.6-flash
# Or OpenAI
OPENAI_API_KEY=sk-...
LLM_MODEL=gpt-4o-mini
utf-8-sig) and JSON.Run the automated test suite with pytest:
pytest tests/
25 commits
Python
96.0%
CSS
4.0%