Immo-Ka — agrégateur des propriétés à vendre au Québec (73 connecteurs, ~40 000 annonces, React+FastAPI)
Python 47.5%
HTML 27.9%
TypeScript 15.5%
CSS 7.2%
JavaScript 2%
1# Sotheby's International Realty Québec (`sothebys_quebec`)23*Généré le 2026-08-28 22:22 par `scripts/gen_connector_docs.py` — fichier produit automatiquement, ne pas éditer à la main.*45## Registre (`data/sources.json`)67- **Site** : https://sothebysrealty.ca8- **Recherche** : https://sothebysrealty.ca/en/search-results/province-quebec-real-estate/9- **Couverture** : Toute la province — luxe10- **Type** : luxe11- **Statut** : actif1213> Inventaire COMPLET via l'API AJAX interne /include/ajax_results.php (dowhat=getgridresults, jeton ajaxtoken de la page province, p_territories[]=4 = Québec, 64 fiches/page). Particularité : les valeurs du filtre statut de l'UI (1=For Sale, 3=For Rent) sont remappées côté serveur — on passe p_status[]=2 (neutre → aucun filtre → tout l'inventaire actif) et on écarte les locations («…/mo») au parsing. ~1 100 fiches QC dont ~965 à vendre (2026-08-18) contre ~40-60 avant (grid public plafonné). Enrichissement JSON-LD Product par fiche : prix, galerie S3 complète, description, MLS (sku). Repli : ancien parcours des pages région.1415## Mécanique (introspection du code)1617- Module : `immoka/connectors/sothebys_quebec.py` — classe `SothebysQuebecConnector`18- Délai entre requêtes : 1.0 s ; cache détail BD : oui19- Budgets env (enrichissement détail plafonné/exécution) : `IMMOKA_SOTHEBYS_DETAIL_LIMIT` (défaut 400), `IMMOKA_SOTHEBYS_MAX_PAGES` (défaut 30)2021**En-tête du module :**2223> Immo-Ka — Agrégateur de maisons à vendre (province de Québec)24> Auteur : Simon-Pierre Boucher — contact@spboucher.ai25> connectors/sothebys_quebec.py : Sotheby's International Realty Québec26> Inventaire COMPLET via l'API AJAX interne du site :27> GET /include/ajax_results.php?dowhat=getgridresults&token=…&p_territories[]=428> (territoire 4 = province de Québec ; jeton `ajaxtoken` exposé dans la page29> /en/search-results/province-quebec-real-estate/). Pagination 64 fiches/page.30> Particularité serveur : les valeurs du filtre statut de l'interface31> (1 = For Sale, 3 = For Rent) sont REMAPPÉES côté serveur — `p_status[]=1`32> renvoie 0 résultat et `p_status[]=3` seulement les locations. On passe donc33> une valeur neutre (2) qui désactive le filtre et renvoie TOUT l'inventaire34> actif (vente + location), puis on écarte les locations (« …/mo ») au parsing.35> Chaque carte porte data-lat/lng/img/price + adresse/ville + CAC/SDB.36> Enrichissement fiche détail (JSON-LD Product) : prix, galerie S3 complète,37> description, n° MLS = sku. Repli : ancien parcours des pages région si38> l'AJAX venait à changer.3940## Volumétrie & complétude (BD live)4142| Indicateur | Valeur |43|---|---|44| Annonces en base (toutes) | 927 |45| Actives | 877 |46| Visibles (après dédup) | 876 |47| Masquées par la dédup | 1 |48| GPS (lat/lng) | 99.7 % |49| Photos | 100.0 % |50| Prix | 100.0 % |51| CAC (chambres) | 78.0 % |52| SDB (salles de bains) | 74.5 % |53| Année de construction | 60.8 % (dont rôle : 5.8 %) |54| Taxes / évaluation municipale | 0.0 % |55| Estimation Vrai-Prix (rôle) | 100.0 % |5657## Synchronisation5859- **Dernier sync** : 2026-08-28 17:36 — trouvé 877, +0 / ~0 / -0 — OK60- **Erreurs récentes** : 0 sur les 10 derniers syncs6162Voir aussi les [mécanismes transverses](INDEX.md#mécanismes-transverses-tous-connecteurs) (budgets détail, dédup Centris+adresse, jointure rôle vraiprix.db).63