# Sotheby's International Realty Québec (`sothebys_quebec`) *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://sothebysrealty.ca - **Recherche** : https://sothebysrealty.ca/en/search-results/province-quebec-real-estate/ - **Couverture** : Toute la province — luxe - **Type** : luxe - **Statut** : actif > 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. ## Mécanique (introspection du code) - Module : `immoka/connectors/sothebys_quebec.py` — classe `SothebysQuebecConnector` - Délai entre requêtes : 1.0 s ; cache détail BD : oui - Budgets env (enrichissement détail plafonné/exécution) : `IMMOKA_SOTHEBYS_DETAIL_LIMIT` (défaut 400), `IMMOKA_SOTHEBYS_MAX_PAGES` (défaut 30) **En-tête du module :** > Immo-Ka — Agrégateur de maisons à vendre (province de Québec) > Auteur : Simon-Pierre Boucher — contact@spboucher.ai > connectors/sothebys_quebec.py : Sotheby's International Realty Québec > Inventaire COMPLET via l'API AJAX interne du site : > GET /include/ajax_results.php?dowhat=getgridresults&token=…&p_territories[]=4 > (territoire 4 = province de Québec ; jeton `ajaxtoken` exposé dans la page > /en/search-results/province-quebec-real-estate/). Pagination 64 fiches/page. > Particularité serveur : les valeurs du filtre statut de l'interface > (1 = For Sale, 3 = For Rent) sont REMAPPÉES côté serveur — `p_status[]=1` > renvoie 0 résultat et `p_status[]=3` seulement les locations. On passe donc > une valeur neutre (2) qui désactive le filtre et renvoie TOUT l'inventaire > actif (vente + location), puis on écarte les locations (« …/mo ») au parsing. > Chaque carte porte data-lat/lng/img/price + adresse/ville + CAC/SDB. > Enrichissement fiche détail (JSON-LD Product) : prix, galerie S3 complète, > description, n° MLS = sku. Repli : ancien parcours des pages région si > l'AJAX venait à changer. ## Volumétrie & complétude (BD live) | Indicateur | Valeur | |---|---| | Annonces en base (toutes) | 927 | | Actives | 877 | | Visibles (après dédup) | 876 | | Masquées par la dédup | 1 | | GPS (lat/lng) | 99.7 % | | Photos | 100.0 % | | Prix | 100.0 % | | CAC (chambres) | 78.0 % | | SDB (salles de bains) | 74.5 % | | Année de construction | 60.8 % (dont rôle : 5.8 %) | | Taxes / évaluation municipale | 0.0 % | | Estimation Vrai-Prix (rôle) | 100.0 % | ## Synchronisation - **Dernier sync** : 2026-08-28 17:36 — trouvé 877, +0 / ~0 / -0 — OK - **Erreurs récentes** : 0 sur les 10 derniers syncs Voir aussi les [mécanismes transverses](INDEX.md#mécanismes-transverses-tous-connecteurs) (budgets détail, dédup Centris+adresse, jointure rôle vraiprix.db).