Realtor.ca (MLS Québec) (realtor_ag_ca)
Généré le 2026-08-28 22:22 par scripts/gen_connector_docs.py — fichier produit automatiquement, ne pas éditer à la main.
Registre (data/sources.json)
- Site : https://www.realtor.ca
- Recherche : https://www.realtor.ca/map#view=list&Province=QC
- Couverture : Toute la province — agrégateur MLS pan-bannières (SCI/CREA)
- Type : agrégateur
- Statut : actif
API interne api2.realtor.ca/Listing.svc/PropertySearch_Post (POST form). Protégée DataDome/Incapsula : accès direct = 403, mais REJOUABLE via Scrapfly ASP SANS render_js (vérifié 2026-08-18) → JSON riche : MLS, GPS, prix, CAC/SDB, superficie, photos, courtier+agence. 200 fiches/page, plafond serveur 600/recherche → sharding par 14 boîtes lat/lng QC, tri plus récentes d'abord (Sort=6-D). Budget borné IMMOKA_REALTOR_MAX (défaut 2 000 fiches/sync ≈ 10 appels Scrapfly — les ~10 shards les plus denses ; augmenter pour couvrir les régions éloignées ; 0 = désactivé). external_id = n° MLS Centris + infixe ag → la dédup masque tout recoupement avec les connecteurs directs ; seules les fiches des bannières non couvertes restent visibles. Fenêtre glissante : les fiches anciennes sortent du budget au fil des syncs (miss_count → inactif).
Mécanique (introspection du code)
- Module :
immoka/connectors/realtor_ca.py— classeRealtorCaConnector - Délai entre requêtes : 0.2 s ; cache détail BD : oui
- Budgets env (enrichissement détail plafonné/exécution) :
IMMOKA_REALTOR_MAX(défaut 2000),IMMOKA_REALTOR_DETAIL_LIMIT(défaut 100)
En-tête du module :
Immo-Ka — Agrégateur de maisons à vendre (province de Québec) Auteur : Simon-Pierre Boucher — contact@spboucher.ai connectors/realtor_ca.py : Realtor.ca (couverture MLS pan-bannières, QC) API interne https://api2.realtor.ca/Listing.svc/PropertySearch_Post (POST form). Protégée (DataDome/Incapsula) : l'accès direct renvoie 403, mais l'API se REJOUE via Scrapfly ASP SANS render_js (1 crédit-appel ASP, pas de navigateur) → JSON complet : n° MLS, GPS, prix, CAC/SDB, superficie, photos, courtier + agence. Vérifié 2026-08-18 : 200 fiches/page, plafond serveur 600 fiches (MaxRecords) par recherche → SHARDING par boîtes lat/lng couvrant le Québec, tri « plus récentes d'abord » (Sort=6-D). BUDGET BORNÉ : IMMOKA_REALTOR_MAX fiches max par sync (défaut 2 000, soit ~10 appels Scrapfly), réparties en balayant la page 1 de chaque shard puis les pages 2-3 si le budget le permet. Les fiches plus anciennes sortent de la fenêtre au fil des syncs (miss_count → active=0) : le connecteur vaut surtout pour les inscriptions récentes des bannières non couvertes. Mettre IMMOKA_REALTOR_MAX=0 pour désactiver le connecteur. source_id « realtor_ag_ca » : l'infixe ag + external_id = n° MLS Centris activent la dédup existante — toute fiche déjà couverte par un connecteur direct (RE/MAX, Royal LePage, Sutton…) est masquée, seules les fiches UNIQUES (petites bannières sans connecteur) restent visibles. ENRICHISSEMENT DÉTAIL (2026-08-18) : la réponse PropertySearch_Post ne contient qu'UNE photo et un PublicRemarks VIDE (vérifié) — la galerie complète, la description et les caractéristiques Building/Land viennent de l'API Listing.svc/PropertyDetails (GET, mêmes protections → Scrapfly ASP sans render_js, 1 crédit-appel), rejouée avec CultureId=2 (français) via ReferenceNumber= + PropertyID=. Cache BD detail_cache (_detailutil.enrich) : chaque fiche n'est détaillée qu'UNE fois ; budget IMMOKA_REALTOR_DETAIL_LIMIT appels/cycle (défaut 100, override ponctuel IMMOKA_DETAIL_LIMIT) → rattrapage progressif du stock, nouveautés ensuite.
Volumétrie & complétude (BD live)
| Indicateur | Valeur |
|---|---|
| Annonces en base (toutes) | 7 658 |
| Actives | 2 511 |
| Visibles (après dédup) | 397 |
| Masquées par la dédup | 2 114 |
| GPS (lat/lng) | 99.7 % |
| Photos | 100.0 % |
| Prix | 100.0 % |
| CAC (chambres) | 77.8 % |
| SDB (salles de bains) | 77.8 % |
| Année de construction | 76.8 % (dont rôle : 39.7 %) |
| Taxes / évaluation municipale | 0.0 % |
| Estimation Vrai-Prix (rôle) | 96.5 % |
Synchronisation
- Dernier sync : 2026-08-28 17:27 — trouvé 2 148, +181 / ~31 / -104 — OK
- Erreurs récentes : 0 sur les 10 derniers syncs
Voir aussi les mécanismes transverses (budgets détail, dédup Centris+adresse, jointure rôle vraiprix.db).