SPB Git

spb/rent-ka

Public

Broker listings + registry expansion: realtor_ca connector (+22 477 MLS rentals) + 71 Buildium & 15 LiftSystem managers

- realtor_ca: CREA/REALTOR.ca broker rental listings via internal
  PropertySearch_Post API (Scrapfly ASP + residential pool), recursive
  quad-split around the 600-records/area cap, threaded crawl, honest
  failure. ON 20 889, BC 1 281, AB 194, NB/MB/NL/PE tail.
- LiftSystem: probe_liftsystem_gaps.py scans never-probed client_ids
  (1..3200, client name/site read from the feed) -> +15 clients (+146
  listings); fix build_lift_registry.py idempotence bug (coverage sets
  computed before dropping generated entries wiped sources.json to 100)
  + exclude duplicate corporate feeds (Sterling Karamar, Drewlo, Minto).
- Buildium: national discovery campaign -> +71 validated portals (+991
  listings, BC/AB/SK/MB/Atlantic/ON) merged via scripts/merge_candidates.py.
- AppFolio: campaign result = no live ROC portal left (RPM Canada
  decommissioned public portals) — dead ends documented in candidates file.

Site now 83 260 active published listings across 762 sources.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Aug 28, 2026) parent 575ff9c Browse files

11 changed files +3,978 −232

added data/appfolio_candidates.json +9 −0
@@ -0,0 +1,9 @@
1+{
2+ "_comment": "Candidats AppFolio Canada hors Québec — recherche massive du 2026-08-28 (~40 requêtes moteur + ~40 vérifications live). RÉSULTAT : AUCUN nouveau portail AppFolio vivant avec ≥1 annonce hors Québec au-delà des 2 clients du registre (fusepm ON, regencypropmgmt SK — non dupliqués). CONSTAT : le réseau Real Property Management Canada a DÉCOMMISSIONNÉ ses portails publics — rpmbc001-005 et rpmcan01/03/05 → 302 page-not-found-sub ; rpmcan02/rpmcan04 live mais 0 annonce ; rpmcan05 = Envision Real Estate Services (Saskatoon, envisionyxe.com, oportal seulement) ; franchises consolidées sur realpm.ca (JS, sitemap vide). ~42 sous-domaines découverts, le reste = homonymes US (investwest/zenithproperties/deainvestments/premier/tmgwashington = Vancouver WA ; victoriasprop = Victoria TX ; chappell = Prince George VA ; sigpm/jaasopm = CO ; vmg = CA ; guidemanagement = WA/ID). Le marché hors QC crawlé tourne sur Buildium/managebuilding.com (GoodDoors, JML, Bodewell, RE/MAX Rental Pros, Highpoint…), Rentsync, PropertyWare. REJETS à ne pas réessayer : rpmbc001-005, rpmcan01-05, korecki, bolld. PISTES : surveiller rpmcan02/rpmcan04 et realpm.ca.",
3+ "generated": "2026-08-28",
4+ "clients": [],
5+ "leads_vides": [
6+ {"id": "rpmcan02", "subdomain": "rpmcan02", "name": "Real Property Management Canada (franchise non identifiée)", "status": "vide", "notes": "Live 2026-08-28 mais « No vacancies found » — 0 annonce. À re-vérifier."},
7+ {"id": "rpmcan04", "subdomain": "rpmcan04", "name": "Real Property Management Canada (franchise non identifiée)", "status": "vide", "notes": "Live 2026-08-28 mais « No vacancies found » — 0 annonce. À re-vérifier."}
8+ ]
9+}
modified data/appfolio_clients.json +31 −31
@@ -1,33 +1,33 @@
1 { 1 {
2− "_comment": "Registre des clients AppFolio (<sous-domaine>.appfolio.com/listings — HTML rendu serveur, cartes .js-listing-item, page unique « Showing all available listings ») — longue traîne Ontario 2026-08. Consommé par rentka/connectors/appfolio.py qui génère un connecteur apf_<id> par entrée 'valide'. CONSTAT de la recherche du 2026-08-27 (Serper site:appfolio.com + scan des 273 sites de gestion-immobiliere-ontario.md) : AppFolio est RARE en Ontario — la longue traîne ON est massivement sur Buildium (voir buildium_clients.json). REJETS vérifiés (ne pas réessayer) : AG Secure (agsecure.ca) et Strano (stranoproperties.ca) ont migré sur Wix, plus aucun lien AppFolio même en rendu JS Scrapfly ; rpmcan07 (RPM Barrie, cité par un rapport simcoe.ca 2021) éteint, rpmcan01-15 balayés = 0 client ON ; homonymes US écartés (wpd=Chicago, skylineprops=ND, stonebrown=VT, northbay=Californie, marda* sans portail public). Les adresses AppFolio étant en texte libre, le connecteur filtre par code postal canadien (K/L/M/N/P = ON, G/H/J = QC).", 2+ "_comment": "Registre des clients AppFolio (<sous-domaine>.appfolio.com/listings — HTML rendu serveur, cartes .js-listing-item, page unique « Showing all available listings ») — longue traîne Ontario 2026-08. Consommé par rentka/connectors/appfolio.py qui génère un connecteur apf_<id> par entrée 'valide'. CONSTAT de la recherche du 2026-08-27 (Serper site:appfolio.com + scan des 273 sites de gestion-immobiliere-ontario.md) : AppFolio est RARE en Ontario — la longue traîne ON est massivement sur Buildium (voir buildium_clients.json). REJETS vérifiés (ne pas réessayer) : AG Secure (agsecure.ca) et Strano (stranoproperties.ca) ont migré sur Wix, plus aucun lien AppFolio même en rendu JS Scrapfly ; rpmcan07 (RPM Barrie, cité par un rapport simcoe.ca 2021) éteint, rpmcan01-15 balayés = 0 client ON ; homonymes US écartés (wpd=Chicago, skylineprops=ND, stonebrown=VT, northbay=Californie, marda* sans portail public). Les adresses AppFolio étant en texte libre, le connecteur filtre par code postal canadien (K/L/M/N/P = ON, G/H/J = QC).",
3− "updated": "2026-08-27", 3+ "updated": "2026-08-28",
4− "clients": [ 4+ "clients": [
5− { 5+ {
6− "id": "fusepm", 6+ "id": "fusepm",
7− "name": "Fuse Property Management", 7+ "name": "Fuse Property Management",
8− "site": "https://fusepm.ca", 8+ "site": "https://fusepm.ca",
9− "subdomain": "fusepm", 9+ "subdomain": "fusepm",
10− "regions": [ 10+ "regions": [
11− "Barrie", 11+ "Barrie",
12− "Orillia", 12+ "Orillia",
13− "Oro-Medonte", 13+ "Oro-Medonte",
14− "Simcoe" 14+ "Simcoe"
15− ], 15+ ],
16− "status": "valide", 16+ "status": "valide",
17− "listings_on": 25, 17+ "listings_on": 25,
18− "notes": "25 annonces ON le 2026-08-27 (Barrie/Orillia/Oro-Medonte), page unique sans pagination ; sous-domaine trouvé dans fusepm.ca" 18+ "notes": "25 annonces ON le 2026-08-27 (Barrie/Orillia/Oro-Medonte), page unique sans pagination ; sous-domaine trouvé dans fusepm.ca"
19− }, 19+ },
20− { 20+ {
21− "id": "regency", 21+ "id": "regency",
22− "name": "Regency Property Management", 22+ "name": "Regency Property Management",
23− "site": "https://regencypm.com", 23+ "site": "https://regencypm.com",
24− "subdomain": "regencypropmgmt", 24+ "subdomain": "regencypropmgmt",
25− "regions": [ 25+ "regions": [
26− "Regina" 26+ "Regina"
27− ], 27+ ],
28− "province": "SK", 28+ "province": "SK",
29− "status": "valide", 29+ "status": "valide",
30− "notes": "canada-expansion 2026-08-27 — /listings 200 avec inventaire (vérifié live)" 30+ "notes": "canada-expansion 2026-08-27 — /listings 200 avec inventaire (vérifié live)"
31− } 31+ }
32− ] 32+ ]
33 } 33 }
\ No newline at end of file
added data/buildium_candidates.json +886 −0
@@ -0,0 +1,886 @@
1+{
2+ "_comment": "Candidats Buildium Canada HORS Québec — campagne de découverte massive 2026-08-28 (WebSearch site:managebuilding.com + villes/provinces, validation live des pages /Resident/public/rentals via WebFetch, ~112 sous-domaines uniques découverts). Même format que data/buildium_clients.json ; listings_on = nb d'annonces hors QC visibles au moment du sondage (peut inclure quelques unités non résidentielles — parking/commercial — que le connecteur filtre). AUCUN doublon avec buildium_clients.json. REJETS 2026-08-28 (0 annonce ou page morte) : hoolihomesrealty, royallepageproperty, vernongardens, veyronproperties, hubcentral (404), renttruman, edmontonfurnishedsuites (404), topwestrealty, metawestrealty (404), ridgeapartments (404), m-f-properties (404), justrent, graymanagementservices (Whitehorse — 404 au sondage, à re-tester), directpropertymanagement1 (Yellowknife — 0 annonce), niagararental (404), hylandproperties, lakeheadgroup (404), gryphonpropertymanagement (404), shorelinepropertymanagement, homelife (gabarit vide), brooksidepm (404), nicerentals/bluediamondpropertiesllc/bentbirchpropertymanagement (comptes inactifs). HORS CANADA (ne pas retester) : migmgmt + uppm (Californie), abdproperties + jsadevelopment (Waterloo, Iowa), romigrentals (US). MISE EN PAGE HÉRITÉE NON VALIDABLE PAR WebFetch (viewmodel DotVVM dans <script>, nécessite curl) — à valider par curl avant intégration : remaxrentalpros (Nanaimo BC, annonces indexées Google), diverserentals (Chilliwack/Abbotsford BC), selectrealestatebc (BC), rentdan (Abbotsford BC), mygirlfridaymanagement (Kitchener-Waterloo ON).",
3+ "generated": "2026-08-28",
4+ "clients": [
5+ {
6+ "id": "refinity",
7+ "name": "Refinity Homes",
8+ "site": "https://refinity.managebuilding.com/Resident/public/home",
9+ "subdomain": "refinity",
10+ "regions": ["Vancouver", "Surrey", "Richmond", "Burnaby", "Langley"],
11+ "province": "BC",
12+ "status": "valide",
13+ "listings_on": 7,
14+ "notes": "7 annonces BC (Lower Mainland) le 2026-08-28 ; mise en page moderne"
15+ },
16+ {
17+ "id": "macpherson",
18+ "name": "MacPherson Real Estate Ltd.",
19+ "site": "https://cbmre.managebuilding.com/Resident/public/home",
20+ "subdomain": "cbmre",
21+ "regions": ["Vancouver", "Burnaby", "Coquitlam", "New Westminster"],
22+ "province": "BC",
23+ "status": "valide",
24+ "listings_on": 6,
25+ "notes": "6 annonces BC le 2026-08-28 ; Coldwell Banker MacPherson, Coquitlam"
26+ },
27+ {
28+ "id": "rlpklein",
29+ "name": "Royal LePage Westside Klein Group",
30+ "site": "https://rlpkleingroup.managebuilding.com/Resident/public/home",
31+ "subdomain": "rlpkleingroup",
32+ "regions": ["Vancouver"],
33+ "province": "BC",
34+ "status": "valide",
35+ "listings_on": 3,
36+ "notes": "3 annonces Vancouver le 2026-08-28"
37+ },
38+ {
39+ "id": "pennylane",
40+ "name": "Penny Lane Property Management",
41+ "site": "https://pennylanepropertymanagement.managebuilding.com/Resident/public/home",
42+ "subdomain": "pennylanepropertymanagement",
43+ "regions": ["Victoria", "Courtenay", "Campbell River"],
44+ "province": "BC",
45+ "status": "valide",
46+ "listings_on": 14,
47+ "notes": "14 annonces BC (île de Vancouver) le 2026-08-28"
48+ },
49+ {
50+ "id": "jksrealty",
51+ "name": "JKS Realty & Property Management",
52+ "site": "https://jksrealty.managebuilding.com/Resident/public/home",
53+ "subdomain": "jksrealty",
54+ "regions": ["Victoria", "Langford"],
55+ "province": "BC",
56+ "status": "valide",
57+ "listings_on": 10,
58+ "notes": "10 annonces Victoria/Langford le 2026-08-28"
59+ },
60+ {
61+ "id": "westurban",
62+ "name": "WestUrban Properties Management Ltd.",
63+ "site": "https://westurban.managebuilding.com/Resident/public/home",
64+ "subdomain": "westurban",
65+ "regions": ["Victoria", "Duncan", "Nanaimo", "Kelowna", "Salmon Arm", "Campbell River", "Cranbrook", "Vernon", "Abbotsford", "Winnipeg", "Calgary"],
66+ "province": "BC",
67+ "status": "valide",
68+ "listings_on": 79,
69+ "notes": "79 annonces le 2026-08-28 (BC 67, MB 3, AB 2, autres 7) — promoteur-gestionnaire multi-provinces, gros volume"
70+ },
71+ {
72+ "id": "pqvi",
73+ "name": "Pacific Quorum Vancouver Island Properties Inc.",
74+ "site": "https://pqvi.managebuilding.com/Resident/public/home",
75+ "subdomain": "pqvi",
76+ "regions": ["Victoria", "Courtenay", "Campbell River", "Parksville", "Comox", "Port Alberni"],
77+ "province": "BC",
78+ "status": "valide",
79+ "listings_on": 22,
80+ "notes": "22 annonces BC (île de Vancouver) le 2026-08-28"
81+ },
82+ {
83+ "id": "pqrn",
84+ "name": "Pacific Quorum (Vancouver Island) — portail locations pqrn",
85+ "site": "https://pqrn.managebuilding.com/Resident/public/home",
86+ "subdomain": "pqrn",
87+ "regions": ["Nanaimo", "Victoria", "Coquitlam"],
88+ "province": "BC",
89+ "status": "valide",
90+ "listings_on": 23,
91+ "notes": "23 annonces BC le 2026-08-28 ; deuxième portail Pacific Quorum, inventaire distinct de pqvi (dédupliquer par adresse au besoin)"
92+ },
93+ {
94+ "id": "bishops",
95+ "name": "Bishops Realty Inc.",
96+ "site": "https://bishopsrealtyinc.managebuilding.com/Resident/public/home",
97+ "subdomain": "bishopsrealtyinc",
98+ "regions": ["Kelowna", "West Kelowna"],
99+ "province": "BC",
100+ "status": "valide",
101+ "listings_on": 12,
102+ "notes": "12 annonces Kelowna/West Kelowna le 2026-08-28"
103+ },
104+ {
105+ "id": "cityplex",
106+ "name": "Cityplex Property Management",
107+ "site": "https://cityplex.managebuilding.com/Resident/public/home",
108+ "subdomain": "cityplex",
109+ "regions": ["Kelowna", "West Kelowna", "Peachland", "Penticton", "Surrey", "White Rock"],
110+ "province": "BC",
111+ "status": "valide",
112+ "listings_on": 14,
113+ "notes": "14 annonces BC (Okanagan + Lower Mainland) le 2026-08-28"
114+ },
115+ {
116+ "id": "pqokanagan",
117+ "name": "Pacific Quorum (Okanagan) Properties Inc",
118+ "site": "https://pqokanagan.managebuilding.com/Resident/public/home",
119+ "subdomain": "pqokanagan",
120+ "regions": ["Kelowna", "West Kelowna", "Penticton", "Salmon Arm", "Sicamous"],
121+ "province": "BC",
122+ "status": "valide",
123+ "listings_on": 8,
124+ "notes": "8 annonces Okanagan le 2026-08-28"
125+ },
126+ {
127+ "id": "highpoint",
128+ "name": "Highpoint Realty Ltd.",
129+ "site": "https://highpointrealtyltd.managebuilding.com/Resident/public/home",
130+ "subdomain": "highpointrealtyltd",
131+ "regions": ["Kelowna"],
132+ "province": "BC",
133+ "status": "valide",
134+ "listings_on": 11,
135+ "notes": "11 annonces Kelowna le 2026-08-28 (secteur UBCO/Academy Way)"
136+ },
137+ {
138+ "id": "mvk",
139+ "name": "MVK Rental",
140+ "site": "https://mvkrental.ca",
141+ "subdomain": "mvkrental",
142+ "regions": ["Kamloops", "Vernon", "Merritt", "Kelowna"],
143+ "province": "BC",
144+ "status": "valide",
145+ "listings_on": 12,
146+ "notes": "12 annonces BC (Kamloops 7, Vernon 5) le 2026-08-28"
147+ },
148+ {
149+ "id": "greenstone",
150+ "name": "Greenstone Properties",
151+ "site": "https://greenstoneproperties.managebuilding.com/Resident/public/home",
152+ "subdomain": "greenstoneproperties",
153+ "regions": ["Kamloops", "Pouce Coupe"],
154+ "province": "BC",
155+ "status": "valide",
156+ "listings_on": 1,
157+ "notes": "1 annonce BC (Pouce Coupe) le 2026-08-28 ; gestionnaire basé à Kamloops, petit inventaire variable"
158+ },
159+ {
160+ "id": "c21energy",
161+ "name": "Century 21 Energy Realty",
162+ "site": "https://c21energypropertymanagement.managebuilding.com/Resident/public/home",
163+ "subdomain": "c21energypropertymanagement",
164+ "regions": ["Prince George", "Fort St. John", "Chetwynd", "Quesnel", "Taylor"],
165+ "province": "BC",
166+ "status": "valide",
167+ "listings_on": 48,
168+ "notes": "48 cartes BC (nord de la BC) le 2026-08-28, dont quelques stationnements à filtrer"
169+ },
170+ {
171+ "id": "nestpg",
172+ "name": "Nest Property Management and Real Estate Services Ltd.",
173+ "site": "https://nestrealtyltd.com",
174+ "subdomain": "nestpg",
175+ "regions": ["Prince George", "Vancouver", "Burnaby", "Kitimat", "Prince Rupert", "Terrace", "Surrey"],
176+ "province": "BC",
177+ "status": "valide",
178+ "listings_on": 76,
179+ "notes": "76 annonces BC le 2026-08-28 (Prince George + Lower Mainland + nord-ouest BC) — gros volume"
180+ },
181+ {
182+ "id": "kidd",
183+ "name": "Kidd Management Ltd (KG Property)",
184+ "site": "https://kgproperty.managebuilding.com/Resident/public/home",
185+ "subdomain": "kgproperty",
186+ "regions": ["Prince George"],
187+ "province": "BC",
188+ "status": "valide",
189+ "listings_on": 9,
190+ "notes": "9 annonces Prince George le 2026-08-28"
191+ },
192+ {
193+ "id": "homelifebc",
194+ "name": "HomeLife Property Management BC",
195+ "site": "https://homelifepropertymanagementbc.managebuilding.com/Resident/public/home",
196+ "subdomain": "homelifepropertymanagementbc",
197+ "regions": ["Surrey", "Langley", "Delta", "Chilliwack", "White Rock", "Port Coquitlam"],
198+ "province": "BC",
199+ "status": "valide",
200+ "listings_on": 30,
201+ "notes": "30 annonces BC (Fraser Valley/Lower Mainland) le 2026-08-28"
202+ },
203+ {
204+ "id": "c21coastal",
205+ "name": "Century 21 Coastal Realty Property Management",
206+ "site": "https://c21.managebuilding.com/Resident/public/home",
207+ "subdomain": "c21",
208+ "regions": ["Abbotsford", "Maple Ridge", "Surrey", "Richmond", "Mission", "Chilliwack", "Coquitlam"],
209+ "province": "BC",
210+ "status": "valide",
211+ "listings_on": 23,
212+ "notes": "23 annonces BC (Fraser Valley) le 2026-08-28"
213+ },
214+ {
215+ "id": "homelifecv",
216+ "name": "Homelife Advantage Realty Ltd",
217+ "site": "https://homelifeadvantagecv.managebuilding.com/Resident/public/home",
218+ "subdomain": "homelifeadvantagecv",
219+ "regions": ["Chilliwack", "Surrey"],
220+ "province": "BC",
221+ "status": "valide",
222+ "listings_on": 6,
223+ "notes": "6 annonces BC le 2026-08-28"
224+ },
225+ {
226+ "id": "cbexecutives",
227+ "name": "Coldwell Banker Executives Realty",
228+ "site": "https://executives-realty.managebuilding.com/Resident/public/home",
229+ "subdomain": "executives-realty",
230+ "regions": ["Vernon", "Revelstoke"],
231+ "province": "BC",
232+ "status": "valide",
233+ "listings_on": 3,
234+ "notes": "3 annonces BC (Revelstoke 2, Vernon 1) le 2026-08-28"
235+ },
236+ {
237+ "id": "synterra",
238+ "name": "Synterra Realty",
239+ "site": "https://synterrarealty.managebuilding.com/Resident/public/home",
240+ "subdomain": "synterrarealty",
241+ "regions": ["Calgary", "Airdrie"],
242+ "province": "AB",
243+ "status": "valide",
244+ "listings_on": 8,
245+ "notes": "8 annonces AB (Calgary 6, Airdrie 2) le 2026-08-28"
246+ },
247+ {
248+ "id": "citysearch",
249+ "name": "Citysearch Rental Network Inc.",
250+ "site": "https://citysearchrental.managebuilding.com/Resident/public/home",
251+ "subdomain": "citysearchrental",
252+ "regions": ["Calgary"],
253+ "province": "AB",
254+ "status": "valide",
255+ "listings_on": 16,
256+ "notes": "16 annonces Calgary le 2026-08-28"
257+ },
258+ {
259+ "id": "pinto",
260+ "name": "Pinto Properties",
261+ "site": "https://pintoproperties.managebuilding.com/Resident/public/home",
262+ "subdomain": "pintoproperties",
263+ "regions": ["Edmonton"],
264+ "province": "AB",
265+ "status": "valide",
266+ "listings_on": 12,
267+ "notes": "12 annonces Edmonton (Garneau et environs) le 2026-08-28"
268+ },
269+ {
270+ "id": "mylife",
271+ "name": "My Life Realty, Property Management",
272+ "site": "https://myliferealty.managebuilding.com/Resident/public/home",
273+ "subdomain": "myliferealty",
274+ "regions": ["Lethbridge"],
275+ "province": "AB",
276+ "status": "valide",
277+ "listings_on": 3,
278+ "notes": "3 annonces Lethbridge le 2026-08-28"
279+ },
280+ {
281+ "id": "grassrootssouth",
282+ "name": "Grassroots Property Management South",
283+ "site": "https://grassrootssouthpropertymanagement.managebuilding.com/Resident/public/home",
284+ "subdomain": "grassrootssouthpropertymanagement",
285+ "regions": ["Lethbridge", "Magrath", "Cardston"],
286+ "province": "AB",
287+ "status": "valide",
288+ "listings_on": 6,
289+ "notes": "6 annonces AB (Lethbridge 5, Magrath 1) le 2026-08-28"
290+ },
291+ {
292+ "id": "grassrootsgp",
293+ "name": "Grassroots Property Management (Grande Prairie)",
294+ "site": "https://grassrootspropertymanagement.managebuilding.com/Resident/public/home",
295+ "subdomain": "grassrootspropertymanagement",
296+ "regions": ["Grande Prairie", "Clairmont", "High Prairie"],
297+ "province": "AB",
298+ "status": "valide",
299+ "listings_on": 28,
300+ "notes": "28 annonces AB le 2026-08-28 ; même bannière que grassrootssouth mais compte Buildium distinct"
301+ },
302+ {
303+ "id": "gpprime",
304+ "name": "Prime Property Management (GP Prime)",
305+ "site": "https://gpprime.managebuilding.com/Resident/public/home",
306+ "subdomain": "gpprime",
307+ "regions": ["Grande Prairie"],
308+ "province": "AB",
309+ "status": "valide",
310+ "listings_on": 1,
311+ "notes": "1 annonce Grande Prairie le 2026-08-28 ; inventaire variable"
312+ },
313+ {
314+ "id": "equityrentals",
315+ "name": "Equity Rentals Ltd",
316+ "site": "https://equityrentalsltd.managebuilding.com/Resident/public/home",
317+ "subdomain": "equityrentalsltd",
318+ "regions": ["Grande Prairie"],
319+ "province": "AB",
320+ "status": "valide",
321+ "listings_on": 24,
322+ "notes": "24 cartes Grande Prairie le 2026-08-28, dont quelques locaux commerciaux à filtrer"
323+ },
324+ {
325+ "id": "resremedies",
326+ "name": "Residential Remedies Inc. (3% Realty Fort McMurray)",
327+ "site": "https://residentialremedies.managebuilding.com/Resident/public/home",
328+ "subdomain": "residentialremedies",
329+ "regions": ["Fort McMurray"],
330+ "province": "AB",
331+ "status": "valide",
332+ "listings_on": 15,
333+ "notes": "15 annonces Fort McMurray le 2026-08-28"
334+ },
335+ {
336+ "id": "zen",
337+ "name": "Zen Residential Ltd",
338+ "site": "https://zenresidential.managebuilding.com/Resident/public/home",
339+ "subdomain": "zenresidential",
340+ "regions": ["Edmonton", "Calgary", "Fort McMurray", "St. Albert", "Okotoks", "Morinville"],
341+ "province": "AB",
342+ "status": "valide",
343+ "listings_on": 68,
344+ "notes": "68 annonces AB le 2026-08-28 (Edmonton 45, Calgary 12) — gros volume"
345+ },
346+ {
347+ "id": "mastergroup",
348+ "name": "Master Group Investments",
349+ "site": "https://mastergroupinvestments.managebuilding.com/Resident/public/home",
350+ "subdomain": "mastergroupinvestments",
351+ "regions": ["Edmonton", "Stony Plain", "Drayton Valley"],
352+ "province": "AB",
353+ "status": "valide",
354+ "listings_on": 21,
355+ "notes": "21 annonces AB le 2026-08-28"
356+ },
357+ {
358+ "id": "casawise",
359+ "name": "Casawise Property Management",
360+ "site": "https://casawise.managebuilding.com/Resident/public/home",
361+ "subdomain": "casawise",
362+ "regions": ["Edmonton", "Leduc", "St. Albert"],
363+ "province": "AB",
364+ "status": "valide",
365+ "listings_on": 71,
366+ "notes": "71 annonces AB le 2026-08-28 (Edmonton 52, Leduc 13, St. Albert 6) — gros volume"
367+ },
368+ {
369+ "id": "davies",
370+ "name": "Davies Property Management",
371+ "site": "https://davies.managebuilding.com/Resident/public/home",
372+ "subdomain": "davies",
373+ "regions": ["Edmonton", "St. Albert"],
374+ "province": "AB",
375+ "status": "valide",
376+ "listings_on": 30,
377+ "notes": "30 annonces AB le 2026-08-28"
378+ },
379+ {
380+ "id": "wpp",
381+ "name": "Western Premium Property Management",
382+ "site": "https://wppmanagement.managebuilding.com/Resident/public/home",
383+ "subdomain": "wppmanagement",
384+ "regions": ["Saskatoon", "Warman", "Biggar"],
385+ "province": "SK",
386+ "status": "valide",
387+ "listings_on": 129,
388+ "notes": "129 annonces SK le 2026-08-28 (Saskatoon 126) — plus gros candidat de la campagne"
389+ },
390+ {
391+ "id": "bartlett",
392+ "name": "Bartlett Realty Ltd.",
393+ "site": "https://bartlettrealty.managebuilding.com/Resident/public/home",
394+ "subdomain": "bartlettrealty",
395+ "regions": ["Regina"],
396+ "province": "SK",
397+ "status": "valide",
398+ "listings_on": 3,
399+ "notes": "3 annonces Regina le 2026-08-28"
400+ },
401+ {
402+ "id": "supreme",
403+ "name": "Supreme Consulting",
404+ "site": "https://supremeconsulting.managebuilding.com/Resident/public/home",
405+ "subdomain": "supremeconsulting",
406+ "regions": ["Regina", "Yorkton", "Prince Albert", "Swift Current", "North Battleford"],
407+ "province": "SK",
408+ "status": "valide",
409+ "listings_on": 19,
410+ "notes": "19 annonces SK le 2026-08-28"
411+ },
412+ {
413+ "id": "jml",
414+ "name": "JML Properties Ltd",
415+ "site": "https://jmlpropertiesltd.managebuilding.com/Resident/public/home",
416+ "subdomain": "jmlpropertiesltd",
417+ "regions": ["Regina", "Saskatoon", "Moose Jaw"],
418+ "province": "SK",
419+ "status": "valide",
420+ "listings_on": 9,
421+ "notes": "9 annonces SK (Regina 7, Saskatoon 2) le 2026-08-28"
422+ },
423+ {
424+ "id": "kodiak",
425+ "name": "Kodiak Property Management Ltd.",
426+ "site": "https://kodiakpropertymanagement.managebuilding.com/Resident/public/home",
427+ "subdomain": "kodiakpropertymanagement",
428+ "regions": ["Regina", "Moose Jaw"],
429+ "province": "SK",
430+ "status": "valide",
431+ "listings_on": 12,
432+ "notes": "12 annonces SK le 2026-08-28"
433+ },
434+ {
435+ "id": "tree",
436+ "name": "TREE Property Management",
437+ "site": "https://treepropertymanagement.managebuilding.com/Resident/public/home",
438+ "subdomain": "treepropertymanagement",
439+ "regions": ["Moose Jaw"],
440+ "province": "SK",
441+ "status": "valide",
442+ "listings_on": 7,
443+ "notes": "7 annonces Moose Jaw le 2026-08-28"
444+ },
445+ {
446+ "id": "3keys",
447+ "name": "3Keys Property Management",
448+ "site": "https://3keysproperty.managebuilding.com/Resident/public/home",
449+ "subdomain": "3keysproperty",
450+ "regions": ["Moose Jaw"],
451+ "province": "SK",
452+ "status": "valide",
453+ "listings_on": 1,
454+ "notes": "1 annonce Moose Jaw le 2026-08-28 ; inventaire habituel 5-10 selon Google, variable"
455+ },
456+ {
457+ "id": "clearwater",
458+ "name": "Clearwater Management",
459+ "site": "https://clearwatermanagement.managebuilding.com/Resident/public/home",
460+ "subdomain": "clearwatermanagement",
461+ "regions": ["Winnipeg", "Portage la Prairie"],
462+ "province": "MB",
463+ "status": "valide",
464+ "listings_on": 18,
465+ "notes": "18 annonces MB le 2026-08-28"
466+ },
467+ {
468+ "id": "premier204",
469+ "name": "Premier Property Solutions Inc",
470+ "site": "https://premier204.managebuilding.com/Resident/public/home",
471+ "subdomain": "premier204",
472+ "regions": ["Winnipeg"],
473+ "province": "MB",
474+ "status": "valide",
475+ "listings_on": 57,
476+ "notes": "57 annonces Winnipeg le 2026-08-28 — gros volume MB"
477+ },
478+ {
479+ "id": "joatmon",
480+ "name": "Joatmon Properties Ltd.",
481+ "site": "https://joatmonproperties.managebuilding.com/Resident/public/home",
482+ "subdomain": "joatmonproperties",
483+ "regions": ["Winnipeg"],
484+ "province": "MB",
485+ "status": "valide",
486+ "listings_on": 10,
487+ "notes": "10 annonces Winnipeg le 2026-08-28"
488+ },
489+ {
490+ "id": "assetcore",
491+ "name": "AssetCore Properties",
492+ "site": "https://assetcore.managebuilding.com/Resident/public/home",
493+ "subdomain": "assetcore",
494+ "regions": ["Winnipeg"],
495+ "province": "MB",
496+ "status": "valide",
497+ "listings_on": 4,
498+ "notes": "4 annonces Winnipeg le 2026-08-28"
499+ },
500+ {
501+ "id": "canopy",
502+ "name": "Canopy Mgmt Property Managers",
503+ "site": "https://jxpm.managebuilding.com/Resident/public/home",
504+ "subdomain": "jxpm",
505+ "regions": ["Winnipeg"],
506+ "province": "MB",
507+ "status": "valide",
508+ "listings_on": 12,
509+ "notes": "12 annonces Winnipeg le 2026-08-28"
510+ },
511+ {
512+ "id": "oakapple",
513+ "name": "Oak & Apple Inc.",
514+ "site": "https://oakandapple.managebuilding.com/Resident/public/home",
515+ "subdomain": "oakandapple",
516+ "regions": ["Winnipeg"],
517+ "province": "MB",
518+ "status": "valide",
519+ "listings_on": 2,
520+ "notes": "2 annonces Winnipeg le 2026-08-28"
521+ },
522+ {
523+ "id": "ember",
524+ "name": "Ember Realty Group Ltd.",
525+ "site": "https://emberrealty.managebuilding.com/Resident/public/home",
526+ "subdomain": "emberrealty",
527+ "regions": ["Winnipeg"],
528+ "province": "MB",
529+ "status": "valide",
530+ "listings_on": 1,
531+ "notes": "1 annonce Winnipeg le 2026-08-28 ; inventaire variable"
532+ },
533+ {
534+ "id": "padpicker",
535+ "name": "The Pad Picker Inc",
536+ "site": "https://padpicker.managebuilding.com/Resident/public/home",
537+ "subdomain": "padpicker",
538+ "regions": ["Halifax", "Dartmouth", "Bedford", "Timberlea", "Eastern Passage"],
539+ "province": "NS",
540+ "status": "valide",
541+ "listings_on": 15,
542+ "notes": "15 annonces NS (grand Halifax) le 2026-08-28"
543+ },
544+ {
545+ "id": "anchorhfx",
546+ "name": "Anchor Property Management (Halifax)",
547+ "site": "https://anchorpropertieshfx.managebuilding.com/Resident/public/home",
548+ "subdomain": "anchorpropertieshfx",
549+ "regions": ["Halifax"],
550+ "province": "NS",
551+ "status": "valide",
552+ "listings_on": 4,
553+ "notes": "4 annonces Halifax le 2026-08-28"
554+ },
555+ {
556+ "id": "urchin",
557+ "name": "Urchin Property Management Inc.",
558+ "site": "https://urchinpropertymanagementinc.managebuilding.com/Resident/public/home",
559+ "subdomain": "urchinpropertymanagementinc",
560+ "regions": ["Dartmouth", "Halifax", "Cole Harbour"],
561+ "province": "NS",
562+ "status": "valide",
563+ "listings_on": 16,
564+ "notes": "16 annonces NS (Dartmouth 13) le 2026-08-28"
565+ },
566+ {
567+ "id": "northdt",
568+ "name": "North DT Holdings",
569+ "site": "https://northdtholdings.managebuilding.com/Resident/public/home",
570+ "subdomain": "northdtholdings",
571+ "regions": ["Truro"],
572+ "province": "NS",
573+ "status": "valide",
574+ "listings_on": 1,
575+ "notes": "1 annonce Truro le 2026-08-28"
576+ },
577+ {
578+ "id": "safeguard",
579+ "name": "Safeguard Property Management & Services",
580+ "site": "https://safeguardservices.managebuilding.com/Resident/public/home",
581+ "subdomain": "safeguardservices",
582+ "regions": ["Wolfville", "Windsor", "Kentville", "Middleton", "New Minas", "Annapolis Royal", "Bridgetown"],
583+ "province": "NS",
584+ "status": "valide",
585+ "listings_on": 31,
586+ "notes": "31 annonces NS (vallée d'Annapolis, Windsor→Middleton) le 2026-08-28"
587+ },
588+ {
589+ "id": "lighthouse",
590+ "name": "Rent With Lighthouse",
591+ "site": "https://rentwithlighthouse.managebuilding.com/Resident/public/home",
592+ "subdomain": "rentwithlighthouse",
593+ "regions": ["Truro", "Dartmouth", "New Minas", "Amherst", "Fall River"],
594+ "province": "NS",
595+ "status": "valide",
596+ "listings_on": 11,
597+ "notes": "11 annonces NS le 2026-08-28"
598+ },
599+ {
600+ "id": "hubcity",
601+ "name": "Hub City Property Management",
602+ "site": "https://hubcitypm.managebuilding.com/Resident/public/home",
603+ "subdomain": "hubcitypm",
604+ "regions": ["Moncton", "Shediac", "Dieppe", "Miramichi", "Sackville"],
605+ "province": "NB",
606+ "status": "valide",
607+ "listings_on": 26,
608+ "notes": "26 cartes NB le 2026-08-28, dont quelques garages/commerciaux à filtrer"
609+ },
610+ {
611+ "id": "greenlight",
612+ "name": "GreenLight Property Management Inc",
613+ "site": "https://rentgreenlight.com",
614+ "subdomain": "greenlightpropertymanagementinc",
615+ "regions": ["Moncton", "Dieppe"],
616+ "province": "NB",
617+ "status": "valide",
618+ "listings_on": 15,
619+ "notes": "15 annonces NB le 2026-08-28"
620+ },
621+ {
622+ "id": "4rent",
623+ "name": "4 Rent Solutions Inc.",
624+ "site": "https://4rentsolutionsinc.managebuilding.com/Resident/public/home",
625+ "subdomain": "4rentsolutionsinc",
626+ "regions": ["Moncton", "Shediac"],
627+ "province": "NB",
628+ "status": "valide",
629+ "listings_on": 12,
630+ "notes": "12 annonces NB le 2026-08-28"
631+ },
632+ {
633+ "id": "colpitts",
634+ "name": "Colpitts Developments",
635+ "site": "https://colpittsdevelopments.managebuilding.com/Resident/public/home",
636+ "subdomain": "colpittsdevelopments",
637+ "regions": ["Fredericton"],
638+ "province": "NB",
639+ "status": "valide",
640+ "listings_on": 43,
641+ "notes": "43 annonces Fredericton le 2026-08-28 — gros volume NB (immeubles Manhattan Drive 82 unités)"
642+ },
643+ {
644+ "id": "freddybeach",
645+ "name": "Freddy Beach Property Management",
646+ "site": "https://freddybeachpm.managebuilding.com/Resident/public/home",
647+ "subdomain": "freddybeachpm",
648+ "regions": ["Fredericton", "Moncton", "Saint John"],
649+ "province": "NB",
650+ "status": "valide",
651+ "listings_on": 13,
652+ "notes": "13 cartes NB le 2026-08-28, dont 1-2 commerciaux/garages à filtrer"
653+ },
654+ {
655+ "id": "redsands",
656+ "name": "Red Sands Property Management",
657+ "site": "https://redsandsproperties.ca",
658+ "subdomain": "redsandsproperties",
659+ "regions": ["Charlottetown", "Summerside", "Kensington", "Montague", "Souris", "O'Leary"],
660+ "province": "PE",
661+ "status": "valide",
662+ "listings_on": 26,
663+ "notes": "26 annonces PE (partout sur l'île, incl. locations hivernales saisonnières oct-mai — vérifier durée) le 2026-08-28"
664+ },
665+ {
666+ "id": "westroyalty",
667+ "name": "West Royalty Suites",
668+ "site": "https://westroyaltysuites.managebuilding.com/Resident/public/home",
669+ "subdomain": "westroyaltysuites",
670+ "regions": ["Charlottetown"],
671+ "province": "PE",
672+ "status": "valide",
673+ "listings_on": 7,
674+ "notes": "7 annonces Charlottetown (immeuble 20 Daniel Drive) le 2026-08-28"
675+ },
676+ {
677+ "id": "mpropgroup",
678+ "name": "M Property Management Group",
679+ "site": "https://mpropgroup.managebuilding.com/Resident/public/home",
680+ "subdomain": "mpropgroup",
681+ "regions": ["Summerside", "Prince Albert"],
682+ "province": "PE",
683+ "status": "valide",
684+ "listings_on": 4,
685+ "notes": "4 annonces le 2026-08-28 (Summerside PE 2, Prince Albert SK 2) — bi-provincial"
686+ },
687+ {
688+ "id": "metronl",
689+ "name": "Metro Property Management (St. John's)",
690+ "site": "https://metropropertymanagement.managebuilding.com/Resident/public/home",
691+ "subdomain": "metropropertymanagement",
692+ "regions": ["St. John's", "Mount Pearl", "Paradise", "Torbay"],
693+ "province": "NL",
694+ "status": "valide",
695+ "listings_on": 21,
696+ "notes": "21 annonces NL (grand St. John's) le 2026-08-28 — seul client NL du registre"
697+ },
698+ {
699+ "id": "marco",
700+ "name": "Marco Toronto Property Management",
701+ "site": "https://marcotoronto.managebuilding.com/Resident/public/home",
702+ "subdomain": "marcotoronto",
703+ "regions": ["Toronto", "East York", "Mississauga"],
704+ "province": "ON",
705+ "status": "valide",
706+ "listings_on": 43,
707+ "notes": "43 annonces ON (Toronto 40) le 2026-08-28 ; segment haut de gamme (jusqu'à 30 k$/mois)"
708+ },
709+ {
710+ "id": "camden",
711+ "name": "Camden Property Management",
712+ "site": "https://camdenpm.managebuilding.com/Resident/public/home",
713+ "subdomain": "camdenpm",
714+ "regions": ["Toronto"],
715+ "province": "ON",
716+ "status": "valide",
717+ "listings_on": 1,
718+ "notes": "1 annonce Toronto (Annex) le 2026-08-28 ; inventaire variable"
719+ },
720+ {
721+ "id": "pmtoronto",
722+ "name": "Property Management Toronto Inc",
723+ "site": "https://propertymanagementtoronto.managebuilding.com/Resident/public/home",
724+ "subdomain": "propertymanagementtoronto",
725+ "regions": ["Toronto", "Mississauga", "Brampton", "Oshawa", "Kitchener", "Brantford"],
726+ "province": "ON",
727+ "status": "valide",
728+ "listings_on": 23,
729+ "notes": "23 annonces ON (GTA + Kitchener) le 2026-08-28"
730+ },
731+ {
732+ "id": "niagarasuites",
733+ "name": "Niagara Suites",
734+ "site": "https://niagarasuites.managebuilding.com/Resident/public/home",
735+ "subdomain": "niagarasuites",
736+ "regions": ["St. Catharines", "Niagara Falls", "Hamilton", "Toronto", "Kingston", "Niagara-on-the-Lake"],
737+ "province": "ON",
738+ "status": "valide",
739+ "listings_on": 18,
740+ "notes": "18 annonces ON le 2026-08-28"
741+ },
742+ {
743+ "id": "ckso",
744+ "name": "CKSO Properties",
745+ "site": "https://cksoproperties.managebuilding.com/Resident/public/home",
746+ "subdomain": "cksoproperties",
747+ "regions": ["Greater Sudbury"],
748+ "province": "ON",
749+ "status": "valide",
750+ "listings_on": 21,
751+ "notes": "21 annonces Grand Sudbury le 2026-08-28"
752+ },
753+ {
754+ "id": "superiorchoice",
755+ "name": "Superior Choice PM",
756+ "site": "https://tbay.managebuilding.com/Resident/public/home",
757+ "subdomain": "tbay",
758+ "regions": ["Thunder Bay"],
759+ "province": "ON",
760+ "status": "valide",
761+ "listings_on": 3,
762+ "notes": "3 annonces Thunder Bay le 2026-08-28"
763+ },
764+ {
765+ "id": "hocking",
766+ "name": "Hocking Management Corporation",
767+ "site": "https://hmc.managebuilding.com/Resident/public/home",
768+ "subdomain": "hmc",
769+ "regions": ["Barrie"],
770+ "province": "ON",
771+ "status": "valide",
772+ "listings_on": 4,
773+ "notes": "4 annonces Barrie le 2026-08-28"
774+ },
775+ {
776+ "id": "spruce",
777+ "name": "Spruce Living Inc.",
778+ "site": "https://sprucelivinginc.managebuilding.com/Resident/public/home",
779+ "subdomain": "sprucelivinginc",
780+ "regions": ["Guelph"],
781+ "province": "ON",
782+ "status": "valide",
783+ "listings_on": 8,
784+ "notes": "8 annonces Guelph le 2026-08-28"
785+ },
786+ {
787+ "id": "guelphpm",
788+ "name": "Guelph PM",
789+ "site": "https://guelphpm.managebuilding.com/Resident/public/home",
790+ "subdomain": "guelphpm",
791+ "regions": ["Guelph"],
792+ "province": "ON",
793+ "status": "valide",
794+ "listings_on": 2,
795+ "notes": "2 annonces Guelph le 2026-08-28"
796+ },
797+ {
798+ "id": "sfour",
799+ "name": "S Four Inc.",
800+ "site": "https://sfourinc.managebuilding.com/Resident/public/home",
801+ "subdomain": "sfourinc",
802+ "regions": ["Kitchener", "Waterloo"],
803+ "province": "ON",
804+ "status": "valide",
805+ "listings_on": 23,
806+ "notes": "23 annonces ON (Kitchener 14, Waterloo 9) le 2026-08-28"
807+ },
808+ {
809+ "id": "starliving",
810+ "name": "Starliving Management",
811+ "site": "https://starliving.managebuilding.com/Resident/public/home",
812+ "subdomain": "starliving",
813+ "regions": ["Brantford", "Hamilton", "Cambridge", "Oshawa", "St. Catharines"],
814+ "province": "ON",
815+ "status": "valide",
816+ "listings_on": 4,
817+ "notes": "4 annonces ON le 2026-08-28"
818+ },
819+ {
820+ "id": "rentaplex",
821+ "name": "Rentaplex Inc",
822+ "site": "https://rentaplexinc.managebuilding.com/Resident/public/home",
823+ "subdomain": "rentaplexinc",
824+ "regions": ["Oshawa", "Whitby"],
825+ "province": "ON",
826+ "status": "valide",
827+ "listings_on": 3,
828+ "notes": "3 annonces Durham (Oshawa 2, Whitby 1) le 2026-08-28"
829+ },
830+ {
831+ "id": "harper",
832+ "name": "Harper Management Services Inc",
833+ "site": "https://harpermanagementservicesinc.managebuilding.com/Resident/public/home",
834+ "subdomain": "harpermanagementservicesinc",
835+ "regions": ["Sault Ste. Marie", "Welland", "St. Catharines", "Fort Erie"],
836+ "province": "ON",
837+ "status": "valide",
838+ "listings_on": 15,
839+ "notes": "15 annonces ON (SSM 8 + Niagara) le 2026-08-28"
840+ },
841+ {
842+ "id": "2cats",
843+ "name": "2 Cats Investor Services Inc.",
844+ "site": "https://2-cats.managebuilding.com/Resident/public/home",
845+ "subdomain": "2-cats",
846+ "regions": ["Brantford"],
847+ "province": "ON",
848+ "status": "valide",
849+ "listings_on": 8,
850+ "notes": "8 annonces Brantford (1 Wellington St.) le 2026-08-28"
851+ },
852+ {
853+ "id": "ska",
854+ "name": "SKA Apartments",
855+ "site": "https://ska-apartment-rentals.managebuilding.com/Resident/public/home",
856+ "subdomain": "ska-apartment-rentals",
857+ "regions": ["Chatham", "Brantford", "Leamington", "Tillsonburg", "Guelph"],
858+ "province": "ON",
859+ "status": "valide",
860+ "listings_on": 23,
861+ "notes": "23 annonces ON (sud-ouest) le 2026-08-28"
862+ },
863+ {
864+ "id": "fourchambers",
865+ "name": "Four Chambers Property Management",
866+ "site": "https://fourchamberspropertymanagement.managebuilding.com/Resident/public/home",
867+ "subdomain": "fourchamberspropertymanagement",
868+ "regions": ["Hamilton", "St. Catharines", "Brantford"],
869+ "province": "ON",
870+ "status": "valide",
871+ "listings_on": 9,
872+ "notes": "9 annonces ON (Hamilton 7) le 2026-08-28"
873+ },
874+ {
875+ "id": "firstnorth",
876+ "name": "First North Property Management",
877+ "site": "https://firstnorthpm.managebuilding.com/Resident/public/home",
878+ "subdomain": "firstnorthpm",
879+ "regions": ["North Bay", "Sudbury", "Timmins"],
880+ "province": "ON",
881+ "status": "valide",
882+ "listings_on": 9,
883+ "notes": "9 annonces ON (North Bay 4, Sudbury 5) le 2026-08-28"
884+ }
885+ ]
886+}
modified data/buildium_clients.json +1244 −193
@@ -1,195 +1,1246 @@
1 { 1 {
2− "_comment": "Registre des clients Buildium (<sous-domaine>.managebuilding.com/Resident/public/rentals) — longue traîne Ontario 2026-08. Consommé par rentka/connectors/buildium.py qui génère un connecteur bld_<id> par entrée 'valide'. Sous-domaines découverts via Serper (site:managebuilding.com <nom>) ou le site vitrine du gestionnaire, puis VALIDÉS EN LIVE le 2026-08-27 (compte d'annonces ON résidentielles ; seuil ≥ 3). Deux mises en page servies par Buildium : « moderne » (/Resident/public/rentals, cartes a.featured-listing rendues serveur) et « héritée » (redirection 302 vers PublicPages/ApartmentSearch.aspx, annonces embarquées dans le viewmodel DotVVM __dot_viewmodel_root — AUCUN rendu JS requis dans les deux cas). Le connecteur détecte la mise en page automatiquement. REJETS du 2026-08-27 (ne pas re-tester avant un moment) : stsproperties (Shore to Slope, Collingwood) et lakeviewrealtyinc (Lakeview, Orillia) = 0 annonce en ligne (« check back ») ; keiltyresidential (Keilty, Cobourg), legacylogin (Legacy/LPRM, Thunder Bay), mgpropmgt (MG, Timmins), davispropertiesinc (Davis, Kirkland Lake) = pages publiques désactivées (302 vers /Resident/apps/portal/login) ; douglasfirpm (lié depuis prestigiousplacesudbury.com) = 302 vers /Resident/Public sans annonces.", 2+ "_comment": "Registre des clients Buildium (<sous-domaine>.managebuilding.com/Resident/public/rentals) — longue traîne Ontario 2026-08. Consommé par rentka/connectors/buildium.py qui génère un connecteur bld_<id> par entrée 'valide'. Sous-domaines découverts via Serper (site:managebuilding.com <nom>) ou le site vitrine du gestionnaire, puis VALIDÉS EN LIVE le 2026-08-27 (compte d'annonces ON résidentielles ; seuil ≥ 3). Deux mises en page servies par Buildium : « moderne » (/Resident/public/rentals, cartes a.featured-listing rendues serveur) et « héritée » (redirection 302 vers PublicPages/ApartmentSearch.aspx, annonces embarquées dans le viewmodel DotVVM __dot_viewmodel_root — AUCUN rendu JS requis dans les deux cas). Le connecteur détecte la mise en page automatiquement. REJETS du 2026-08-27 (ne pas re-tester avant un moment) : stsproperties (Shore to Slope, Collingwood) et lakeviewrealtyinc (Lakeview, Orillia) = 0 annonce en ligne (« check back ») ; keiltyresidential (Keilty, Cobourg), legacylogin (Legacy/LPRM, Thunder Bay), mgpropmgt (MG, Timmins), davispropertiesinc (Davis, Kirkland Lake) = pages publiques désactivées (302 vers /Resident/apps/portal/login) ; douglasfirpm (lié depuis prestigiousplacesudbury.com) = 302 vers /Resident/Public sans annonces.",
3− "updated": "2026-08-27", 3+ "updated": "2026-08-28",
4− "clients": [ 4+ "clients": [
5− { 5+ {
6− "id": "richmond", 6+ "id": "richmond",
7− "name": "Richmond Property Management", 7+ "name": "Richmond Property Management",
8− "site": "https://richmondpm.ca", 8+ "site": "https://richmondpm.ca",
9− "subdomain": "richmondmanagement", 9+ "subdomain": "richmondmanagement",
10− "regions": [ 10+ "regions": [
11− "Windsor" 11+ "Windsor"
12− ], 12+ ],
13− "status": "valide", 13+ "status": "valide",
14− "listings_on": 52, 14+ "listings_on": 52,
15− "notes": "52 annonces ON le 2026-08-27, toutes Windsor (MultiFamily 47, SingleFamily 3, CondoTownhome 2) ; mise en page moderne" 15+ "notes": "52 annonces ON le 2026-08-27, toutes Windsor (MultiFamily 47, SingleFamily 3, CondoTownhome 2) ; mise en page moderne"
16− }, 16+ },
17− { 17+ {
18− "id": "dreampm", 18+ "id": "dreampm",
19− "name": "Dream Property Management", 19+ "name": "Dream Property Management",
20− "site": "https://rentalsdreampm.com", 20+ "site": "https://rentalsdreampm.com",
21− "subdomain": "dreampm", 21+ "subdomain": "dreampm",
22− "regions": [ 22+ "regions": [
23− "Sarnia" 23+ "Sarnia"
24− ], 24+ ],
25− "status": "valide", 25+ "status": "valide",
26− "listings_on": 9, 26+ "listings_on": 9,
27− "notes": "9 annonces ON (Sarnia) le 2026-08-27 ; mise en page moderne" 27+ "notes": "9 annonces ON (Sarnia) le 2026-08-27 ; mise en page moderne"
28− }, 28+ },
29− { 29+ {
30− "id": "grem", 30+ "id": "grem",
31− "name": "Guardian Real Estate Management (GREM)", 31+ "name": "Guardian Real Estate Management (GREM)",
32− "site": "https://grem.ca", 32+ "site": "https://grem.ca",
33− "subdomain": "guardianrealestatemanagement", 33+ "subdomain": "guardianrealestatemanagement",
34− "regions": [ 34+ "regions": [
35− "Sarnia", 35+ "Sarnia",
36− "West Nipissing" 36+ "West Nipissing"
37− ], 37+ ],
38− "status": "valide", 38+ "status": "valide",
39− "listings_on": 44, 39+ "listings_on": 44,
40− "notes": "44 annonces ON le 2026-08-27 (Sarnia surtout) ; MISE EN PAGE HÉRITÉE (302 vers ApartmentSearch.aspx, viewmodel DotVVM embarqué avec city/state/postalcode/description complète)" 40+ "notes": "44 annonces ON le 2026-08-27 (Sarnia surtout) ; MISE EN PAGE HÉRITÉE (302 vers ApartmentSearch.aspx, viewmodel DotVVM embarqué avec city/state/postalcode/description complète)"
41− }, 41+ },
42− { 42+ {
43− "id": "elite", 43+ "id": "elite",
44− "name": "Elite Property Group", 44+ "name": "Elite Property Group",
45− "site": "https://elitepropertygroup.org", 45+ "site": "https://elitepropertygroup.org",
46− "subdomain": "elitepropertygroup", 46+ "subdomain": "elitepropertygroup",
47− "regions": [ 47+ "regions": [
48− "Sarnia" 48+ "Sarnia"
49− ], 49+ ],
50− "status": "valide", 50+ "status": "valide",
51− "listings_on": 34, 51+ "listings_on": 34,
52− "notes": "34 annonces ON (Sarnia) le 2026-08-27 ; mise en page moderne" 52+ "notes": "34 annonces ON (Sarnia) le 2026-08-27 ; mise en page moderne"
53− }, 53+ },
54− { 54+ {
55− "id": "paragon", 55+ "id": "paragon",
56− "name": "Paragon Property Management & Maintenance", 56+ "name": "Paragon Property Management & Maintenance",
57− "site": "https://paragonproperty.ca", 57+ "site": "https://paragonproperty.ca",
58− "subdomain": "paragonpropertymgt", 58+ "subdomain": "paragonpropertymgt",
59− "regions": [ 59+ "regions": [
60− "Chatham-Kent" 60+ "Chatham-Kent"
61− ], 61+ ],
62− "status": "valide", 62+ "status": "valide",
63− "listings_on": 34, 63+ "listings_on": 34,
64− "notes": "36 cartes ON le 2026-08-27 dont 2 Storage (filtrées par le connecteur) = 34 résidentielles ; attention : ne pas confondre avec paragonproperty.managebuilding.com (Brookings, Dakota du Sud)" 64+ "notes": "36 cartes ON le 2026-08-27 dont 2 Storage (filtrées par le connecteur) = 34 résidentielles ; attention : ne pas confondre avec paragonproperty.managebuilding.com (Brookings, Dakota du Sud)"
65− }, 65+ },
66− { 66+ {
67− "id": "panadew", 67+ "id": "panadew",
68− "name": "Panadew Property Management", 68+ "name": "Panadew Property Management",
69− "site": "https://panadew.ca", 69+ "site": "https://panadew.ca",
70− "subdomain": "panadew", 70+ "subdomain": "panadew",
71− "regions": [ 71+ "regions": [
72− "Kingston" 72+ "Kingston"
73− ], 73+ ],
74− "status": "valide", 74+ "status": "valide",
75− "listings_on": 7, 75+ "listings_on": 7,
76− "notes": "8 cartes ON le 2026-08-27 dont 1 ParkingSpace (filtrée) = 7 résidentielles (Kingston) ; mise en page moderne" 76+ "notes": "8 cartes ON le 2026-08-27 dont 1 ParkingSpace (filtrée) = 7 résidentielles (Kingston) ; mise en page moderne"
77− }, 77+ },
78− { 78+ {
79− "id": "tag", 79+ "id": "tag",
80− "name": "TAG Property Management", 80+ "name": "TAG Property Management",
81− "site": "https://tagpropertymanagement1.managebuilding.com/Resident/public/home", 81+ "site": "https://tagpropertymanagement1.managebuilding.com/Resident/public/home",
82− "subdomain": "tagpropertymanagement1", 82+ "subdomain": "tagpropertymanagement1",
83− "regions": [ 83+ "regions": [
84− "Cobourg", 84+ "Cobourg",
85− "Port Hope" 85+ "Port Hope"
86− ], 86+ ],
87− "status": "valide", 87+ "status": "valide",
88− "listings_on": 10, 88+ "listings_on": 10,
89− "notes": "10 annonces ON (Cobourg/Port Hope) le 2026-08-27 ; portail Buildium = seul site public ; mise en page moderne" 89+ "notes": "10 annonces ON (Cobourg/Port Hope) le 2026-08-27 ; portail Buildium = seul site public ; mise en page moderne"
90− }, 90+ },
91− { 91+ {
92− "id": "genedco", 92+ "id": "genedco",
93− "name": "Genedco Property Management (GRANITE)", 93+ "name": "Genedco Property Management (GRANITE)",
94− "site": "https://genedco.ca", 94+ "site": "https://genedco.ca",
95− "subdomain": "genedco", 95+ "subdomain": "genedco",
96− "regions": [ 96+ "regions": [
97− "Cobourg", 97+ "Cobourg",
98− "Port Hope", 98+ "Port Hope",
99− "Peterborough" 99+ "Peterborough"
100− ], 100+ ],
101− "status": "valide", 101+ "status": "valide",
102− "listings_on": 9, 102+ "listings_on": 9,
103− "notes": "9 annonces ON le 2026-08-27 ; mise en page moderne" 103+ "notes": "9 annonces ON le 2026-08-27 ; mise en page moderne"
104− }, 104+ },
105− { 105+ {
106− "id": "rentcorp", 106+ "id": "rentcorp",
107− "name": "RentCorp Property Management", 107+ "name": "RentCorp Property Management",
108− "site": "https://www.rentcorp.ca", 108+ "site": "https://www.rentcorp.ca",
109− "subdomain": "rentcorppropertymanagement", 109+ "subdomain": "rentcorppropertymanagement",
110− "regions": [ 110+ "regions": [
111− "Waterloo", 111+ "Waterloo",
112− "North Bay", 112+ "North Bay",
113− "London" 113+ "London"
114− ], 114+ ],
115− "status": "valide", 115+ "status": "valide",
116− "listings_on": 26, 116+ "listings_on": 26,
117− "notes": "26 annonces ON le 2026-08-27 (Waterloo surtout, incl. chambres étudiantes 575-700 $ = longue durée, on garde) ; mise en page moderne" 117+ "notes": "26 annonces ON le 2026-08-27 (Waterloo surtout, incl. chambres étudiantes 575-700 $ = longue durée, on garde) ; mise en page moderne"
118− }, 118+ },
119− { 119+ {
120− "id": "sleepwell", 120+ "id": "sleepwell",
121− "name": "Sleepwell Property Management", 121+ "name": "Sleepwell Property Management",
122− "site": "https://www.sleepwellmanagement.com", 122+ "site": "https://www.sleepwellmanagement.com",
123− "subdomain": "sleepwellpropertymanagement", 123+ "subdomain": "sleepwellpropertymanagement",
124− "regions": [ 124+ "regions": [
125− "Ottawa" 125+ "Ottawa"
126− ], 126+ ],
127− "status": "valide", 127+ "status": "valide",
128− "listings_on": 130, 128+ "listings_on": 130,
129− "notes": "130 annonces ON le 2026-08-27 (Ottawa — MultiFamily 121, SingleFamily 6, CondoTownhome 3) : plus gros client Buildium du registre, trouvé via Serper pendant la validation ; mise en page moderne" 129+ "notes": "130 annonces ON le 2026-08-27 (Ottawa — MultiFamily 121, SingleFamily 6, CondoTownhome 3) : plus gros client Buildium du registre, trouvé via Serper pendant la validation ; mise en page moderne"
130− }, 130+ },
131− { 131+ {
132− "id": "athena", 132+ "id": "athena",
133− "name": "Athena Property Management", 133+ "name": "Athena Property Management",
134− "site": "https://athenapropertymanagementinc1.managebuilding.com/Resident/public/home", 134+ "site": "https://athenapropertymanagementinc1.managebuilding.com/Resident/public/home",
135− "subdomain": "athenapropertymanagementinc1", 135+ "subdomain": "athenapropertymanagementinc1",
136− "regions": [ 136+ "regions": [
137− "Hamilton", 137+ "Hamilton",
138− "St. Catharines" 138+ "St. Catharines"
139− ], 139+ ],
140− "status": "valide", 140+ "status": "valide",
141− "listings_on": 29, 141+ "listings_on": 29,
142− "notes": "29 annonces ON le 2026-08-27 (Hamilton surtout) ; découvert via Serper pendant la validation ; mise en page moderne" 142+ "notes": "29 annonces ON le 2026-08-27 (Hamilton surtout) ; découvert via Serper pendant la validation ; mise en page moderne"
143− }, 143+ },
144− { 144+ {
145− "id": "gooddoors", 145+ "id": "gooddoors",
146− "name": "GoodDoors Property Management", 146+ "name": "GoodDoors Property Management",
147− "site": "https://gooddoors.com", 147+ "site": "https://gooddoors.com",
148− "subdomain": "gooddoors", 148+ "subdomain": "gooddoors",
149− "regions": [ 149+ "regions": [
150− "Regina", 150+ "Regina",
151− "Saskatoon" 151+ "Saskatoon"
152− ], 152+ ],
153− "province": "SK", 153+ "province": "SK",
154− "status": "valide", 154+ "status": "valide",
155− "notes": "canada-expansion 2026-08-27 — 18 annonces live (SK), page publique 200 sans anti-bot" 155+ "notes": "canada-expansion 2026-08-27 — 18 annonces live (SK), page publique 200 sans anti-bot"
156− }, 156+ },
157− { 157+ {
158− "id": "imperial", 158+ "id": "imperial",
159− "name": "Imperial Properties", 159+ "name": "Imperial Properties",
160− "site": "https://imperialproperties.ca", 160+ "site": "https://imperialproperties.ca",
161− "subdomain": "ip", 161+ "subdomain": "ip",
162− "regions": [ 162+ "regions": [
163− "Winnipeg", 163+ "Winnipeg",
164− "Regina" 164+ "Regina"
165− ], 165+ ],
166− "province": "MB", 166+ "province": "MB",
167− "status": "valide", 167+ "status": "valide",
168− "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage (inventaire variable)" 168+ "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage (inventaire variable)"
169− }, 169+ },
170− { 170+ {
171− "id": "frontenac", 171+ "id": "frontenac",
172− "name": "Frontenac Property Management", 172+ "name": "Frontenac Property Management",
173− "site": "https://frontenacproperty.com", 173+ "site": "https://frontenacproperty.com",
174− "subdomain": "frontenacproperty", 174+ "subdomain": "frontenacproperty",
175− "regions": [ 175+ "regions": [
176− "Kingston" 176+ "Kingston"
177− ], 177+ ],
178− "province": "ON", 178+ "province": "ON",
179− "status": "valide", 179+ "status": "valide",
180− "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage" 180+ "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage"
181− }, 181+ },
182− { 182+ {
183− "id": "universalrealty", 183+ "id": "universalrealty",
184− "name": "Universal Realty Group", 184+ "name": "Universal Realty Group",
185− "site": "https://universalrealty.net", 185+ "site": "https://universalrealty.net",
186− "subdomain": "universalrealty", 186+ "subdomain": "universalrealty",
187− "regions": [ 187+ "regions": [
188− "Halifax" 188+ "Halifax"
189− ], 189+ ],
190− "province": "NS", 190+ "province": "NS",
191− "status": "valide", 191+ "status": "valide",
192− "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage" 192+ "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage"
193− } 193+ },
194− ] 194+ {
195+ "id": "refinity",
196+ "name": "Refinity Homes",
197+ "site": "https://refinity.managebuilding.com/Resident/public/home",
198+ "subdomain": "refinity",
199+ "regions": [
200+ "Vancouver",
201+ "Surrey",
202+ "Richmond",
203+ "Burnaby",
204+ "Langley"
205+ ],
206+ "province": "BC",
207+ "status": "valide",
208+ "listings_on": 7,
209+ "notes": "7 annonces BC (Lower Mainland) le 2026-08-28 ; mise en page moderne"
210+ },
211+ {
212+ "id": "macpherson",
213+ "name": "MacPherson Real Estate Ltd.",
214+ "site": "https://cbmre.managebuilding.com/Resident/public/home",
215+ "subdomain": "cbmre",
216+ "regions": [
217+ "Vancouver",
218+ "Burnaby",
219+ "Coquitlam",
220+ "New Westminster"
221+ ],
222+ "province": "BC",
223+ "status": "valide",
224+ "listings_on": 6,
225+ "notes": "6 annonces BC le 2026-08-28 ; Coldwell Banker MacPherson, Coquitlam"
226+ },
227+ {
228+ "id": "rlpklein",
229+ "name": "Royal LePage Westside Klein Group",
230+ "site": "https://rlpkleingroup.managebuilding.com/Resident/public/home",
231+ "subdomain": "rlpkleingroup",
232+ "regions": [
233+ "Vancouver"
234+ ],
235+ "province": "BC",
236+ "status": "valide",
237+ "listings_on": 3,
238+ "notes": "3 annonces Vancouver le 2026-08-28"
239+ },
240+ {
241+ "id": "pennylane",
242+ "name": "Penny Lane Property Management",
243+ "site": "https://pennylanepropertymanagement.managebuilding.com/Resident/public/home",
244+ "subdomain": "pennylanepropertymanagement",
245+ "regions": [
246+ "Victoria",
247+ "Courtenay",
248+ "Campbell River"
249+ ],
250+ "province": "BC",
251+ "status": "valide",
252+ "listings_on": 14,
253+ "notes": "14 annonces BC (île de Vancouver) le 2026-08-28"
254+ },
255+ {
256+ "id": "jksrealty",
257+ "name": "JKS Realty & Property Management",
258+ "site": "https://jksrealty.managebuilding.com/Resident/public/home",
259+ "subdomain": "jksrealty",
260+ "regions": [
261+ "Victoria",
262+ "Langford"
263+ ],
264+ "province": "BC",
265+ "status": "valide",
266+ "listings_on": 10,
267+ "notes": "10 annonces Victoria/Langford le 2026-08-28"
268+ },
269+ {
270+ "id": "westurban",
271+ "name": "WestUrban Properties Management Ltd.",
272+ "site": "https://westurban.managebuilding.com/Resident/public/home",
273+ "subdomain": "westurban",
274+ "regions": [
275+ "Victoria",
276+ "Duncan",
277+ "Nanaimo",
278+ "Kelowna",
279+ "Salmon Arm",
280+ "Campbell River",
281+ "Cranbrook",
282+ "Vernon",
283+ "Abbotsford",
284+ "Winnipeg",
285+ "Calgary"
286+ ],
287+ "province": "BC",
288+ "status": "valide",
289+ "listings_on": 79,
290+ "notes": "79 annonces le 2026-08-28 (BC 67, MB 3, AB 2, autres 7) — promoteur-gestionnaire multi-provinces, gros volume"
291+ },
292+ {
293+ "id": "pqvi",
294+ "name": "Pacific Quorum Vancouver Island Properties Inc.",
295+ "site": "https://pqvi.managebuilding.com/Resident/public/home",
296+ "subdomain": "pqvi",
297+ "regions": [
298+ "Victoria",
299+ "Courtenay",
300+ "Campbell River",
301+ "Parksville",
302+ "Comox",
303+ "Port Alberni"
304+ ],
305+ "province": "BC",
306+ "status": "valide",
307+ "listings_on": 22,
308+ "notes": "22 annonces BC (île de Vancouver) le 2026-08-28"
309+ },
310+ {
311+ "id": "pqrn",
312+ "name": "Pacific Quorum (Vancouver Island) — portail locations pqrn",
313+ "site": "https://pqrn.managebuilding.com/Resident/public/home",
314+ "subdomain": "pqrn",
315+ "regions": [
316+ "Nanaimo",
317+ "Victoria",
318+ "Coquitlam"
319+ ],
320+ "province": "BC",
321+ "status": "valide",
322+ "listings_on": 23,
323+ "notes": "23 annonces BC le 2026-08-28 ; deuxième portail Pacific Quorum, inventaire distinct de pqvi (dédupliquer par adresse au besoin)"
324+ },
325+ {
326+ "id": "bishops",
327+ "name": "Bishops Realty Inc.",
328+ "site": "https://bishopsrealtyinc.managebuilding.com/Resident/public/home",
329+ "subdomain": "bishopsrealtyinc",
330+ "regions": [
331+ "Kelowna",
332+ "West Kelowna"
333+ ],
334+ "province": "BC",
335+ "status": "valide",
336+ "listings_on": 12,
337+ "notes": "12 annonces Kelowna/West Kelowna le 2026-08-28"
338+ },
339+ {
340+ "id": "pqokanagan",
341+ "name": "Pacific Quorum (Okanagan) Properties Inc",
342+ "site": "https://pqokanagan.managebuilding.com/Resident/public/home",
343+ "subdomain": "pqokanagan",
344+ "regions": [
345+ "Kelowna",
346+ "West Kelowna",
347+ "Penticton",
348+ "Salmon Arm",
349+ "Sicamous"
350+ ],
351+ "province": "BC",
352+ "status": "valide",
353+ "listings_on": 8,
354+ "notes": "8 annonces Okanagan le 2026-08-28"
355+ },
356+ {
357+ "id": "highpoint",
358+ "name": "Highpoint Realty Ltd.",
359+ "site": "https://highpointrealtyltd.managebuilding.com/Resident/public/home",
360+ "subdomain": "highpointrealtyltd",
361+ "regions": [
362+ "Kelowna"
363+ ],
364+ "province": "BC",
365+ "status": "valide",
366+ "listings_on": 11,
367+ "notes": "11 annonces Kelowna le 2026-08-28 (secteur UBCO/Academy Way)"
368+ },
369+ {
370+ "id": "mvk",
371+ "name": "MVK Rental",
372+ "site": "https://mvkrental.ca",
373+ "subdomain": "mvkrental",
374+ "regions": [
375+ "Kamloops",
376+ "Vernon",
377+ "Merritt",
378+ "Kelowna"
379+ ],
380+ "province": "BC",
381+ "status": "valide",
382+ "listings_on": 12,
383+ "notes": "12 annonces BC (Kamloops 7, Vernon 5) le 2026-08-28"
384+ },
385+ {
386+ "id": "greenstone",
387+ "name": "Greenstone Properties",
388+ "site": "https://greenstoneproperties.managebuilding.com/Resident/public/home",
389+ "subdomain": "greenstoneproperties",
390+ "regions": [
391+ "Kamloops",
392+ "Pouce Coupe"
393+ ],
394+ "province": "BC",
395+ "status": "valide",
396+ "listings_on": 1,
397+ "notes": "1 annonce BC (Pouce Coupe) le 2026-08-28 ; gestionnaire basé à Kamloops, petit inventaire variable"
398+ },
399+ {
400+ "id": "c21energy",
401+ "name": "Century 21 Energy Realty",
402+ "site": "https://c21energypropertymanagement.managebuilding.com/Resident/public/home",
403+ "subdomain": "c21energypropertymanagement",
404+ "regions": [
405+ "Prince George",
406+ "Fort St. John",
407+ "Chetwynd",
408+ "Quesnel",
409+ "Taylor"
410+ ],
411+ "province": "BC",
412+ "status": "valide",
413+ "listings_on": 48,
414+ "notes": "48 cartes BC (nord de la BC) le 2026-08-28, dont quelques stationnements à filtrer"
415+ },
416+ {
417+ "id": "nestpg",
418+ "name": "Nest Property Management and Real Estate Services Ltd.",
419+ "site": "https://nestrealtyltd.com",
420+ "subdomain": "nestpg",
421+ "regions": [
422+ "Prince George",
423+ "Vancouver",
424+ "Burnaby",
425+ "Kitimat",
426+ "Prince Rupert",
427+ "Terrace",
428+ "Surrey"
429+ ],
430+ "province": "BC",
431+ "status": "valide",
432+ "listings_on": 76,
433+ "notes": "76 annonces BC le 2026-08-28 (Prince George + Lower Mainland + nord-ouest BC) — gros volume"
434+ },
435+ {
436+ "id": "kidd",
437+ "name": "Kidd Management Ltd (KG Property)",
438+ "site": "https://kgproperty.managebuilding.com/Resident/public/home",
439+ "subdomain": "kgproperty",
440+ "regions": [
441+ "Prince George"
442+ ],
443+ "province": "BC",
444+ "status": "valide",
445+ "listings_on": 9,
446+ "notes": "9 annonces Prince George le 2026-08-28"
447+ },
448+ {
449+ "id": "c21coastal",
450+ "name": "Century 21 Coastal Realty Property Management",
451+ "site": "https://c21.managebuilding.com/Resident/public/home",
452+ "subdomain": "c21",
453+ "regions": [
454+ "Abbotsford",
455+ "Maple Ridge",
456+ "Surrey",
457+ "Richmond",
458+ "Mission",
459+ "Chilliwack",
460+ "Coquitlam"
461+ ],
462+ "province": "BC",
463+ "status": "valide",
464+ "listings_on": 23,
465+ "notes": "23 annonces BC (Fraser Valley) le 2026-08-28"
466+ },
467+ {
468+ "id": "homelifecv",
469+ "name": "Homelife Advantage Realty Ltd",
470+ "site": "https://homelifeadvantagecv.managebuilding.com/Resident/public/home",
471+ "subdomain": "homelifeadvantagecv",
472+ "regions": [
473+ "Chilliwack",
474+ "Surrey"
475+ ],
476+ "province": "BC",
477+ "status": "valide",
478+ "listings_on": 6,
479+ "notes": "6 annonces BC le 2026-08-28"
480+ },
481+ {
482+ "id": "cbexecutives",
483+ "name": "Coldwell Banker Executives Realty",
484+ "site": "https://executives-realty.managebuilding.com/Resident/public/home",
485+ "subdomain": "executives-realty",
486+ "regions": [
487+ "Vernon",
488+ "Revelstoke"
489+ ],
490+ "province": "BC",
491+ "status": "valide",
492+ "listings_on": 3,
493+ "notes": "3 annonces BC (Revelstoke 2, Vernon 1) le 2026-08-28"
494+ },
495+ {
496+ "id": "synterra",
497+ "name": "Synterra Realty",
498+ "site": "https://synterrarealty.managebuilding.com/Resident/public/home",
499+ "subdomain": "synterrarealty",
500+ "regions": [
501+ "Calgary",
502+ "Airdrie"
503+ ],
504+ "province": "AB",
505+ "status": "valide",
506+ "listings_on": 8,
507+ "notes": "8 annonces AB (Calgary 6, Airdrie 2) le 2026-08-28"
508+ },
509+ {
510+ "id": "citysearch",
511+ "name": "Citysearch Rental Network Inc.",
512+ "site": "https://citysearchrental.managebuilding.com/Resident/public/home",
513+ "subdomain": "citysearchrental",
514+ "regions": [
515+ "Calgary"
516+ ],
517+ "province": "AB",
518+ "status": "valide",
519+ "listings_on": 16,
520+ "notes": "16 annonces Calgary le 2026-08-28"
521+ },
522+ {
523+ "id": "pinto",
524+ "name": "Pinto Properties",
525+ "site": "https://pintoproperties.managebuilding.com/Resident/public/home",
526+ "subdomain": "pintoproperties",
527+ "regions": [
528+ "Edmonton"
529+ ],
530+ "province": "AB",
531+ "status": "valide",
532+ "listings_on": 12,
533+ "notes": "12 annonces Edmonton (Garneau et environs) le 2026-08-28"
534+ },
535+ {
536+ "id": "mylife",
537+ "name": "My Life Realty, Property Management",
538+ "site": "https://myliferealty.managebuilding.com/Resident/public/home",
539+ "subdomain": "myliferealty",
540+ "regions": [
541+ "Lethbridge"
542+ ],
543+ "province": "AB",
544+ "status": "valide",
545+ "listings_on": 3,
546+ "notes": "3 annonces Lethbridge le 2026-08-28"
547+ },
548+ {
549+ "id": "grassrootssouth",
550+ "name": "Grassroots Property Management South",
551+ "site": "https://grassrootssouthpropertymanagement.managebuilding.com/Resident/public/home",
552+ "subdomain": "grassrootssouthpropertymanagement",
553+ "regions": [
554+ "Lethbridge",
555+ "Magrath",
556+ "Cardston"
557+ ],
558+ "province": "AB",
559+ "status": "valide",
560+ "listings_on": 6,
561+ "notes": "6 annonces AB (Lethbridge 5, Magrath 1) le 2026-08-28"
562+ },
563+ {
564+ "id": "grassrootsgp",
565+ "name": "Grassroots Property Management (Grande Prairie)",
566+ "site": "https://grassrootspropertymanagement.managebuilding.com/Resident/public/home",
567+ "subdomain": "grassrootspropertymanagement",
568+ "regions": [
569+ "Grande Prairie",
570+ "Clairmont",
571+ "High Prairie"
572+ ],
573+ "province": "AB",
574+ "status": "valide",
575+ "listings_on": 28,
576+ "notes": "28 annonces AB le 2026-08-28 ; même bannière que grassrootssouth mais compte Buildium distinct"
577+ },
578+ {
579+ "id": "gpprime",
580+ "name": "Prime Property Management (GP Prime)",
581+ "site": "https://gpprime.managebuilding.com/Resident/public/home",
582+ "subdomain": "gpprime",
583+ "regions": [
584+ "Grande Prairie"
585+ ],
586+ "province": "AB",
587+ "status": "valide",
588+ "listings_on": 1,
589+ "notes": "1 annonce Grande Prairie le 2026-08-28 ; inventaire variable"
590+ },
591+ {
592+ "id": "resremedies",
593+ "name": "Residential Remedies Inc. (3% Realty Fort McMurray)",
594+ "site": "https://residentialremedies.managebuilding.com/Resident/public/home",
595+ "subdomain": "residentialremedies",
596+ "regions": [
597+ "Fort McMurray"
598+ ],
599+ "province": "AB",
600+ "status": "valide",
601+ "listings_on": 15,
602+ "notes": "15 annonces Fort McMurray le 2026-08-28"
603+ },
604+ {
605+ "id": "mastergroup",
606+ "name": "Master Group Investments",
607+ "site": "https://mastergroupinvestments.managebuilding.com/Resident/public/home",
608+ "subdomain": "mastergroupinvestments",
609+ "regions": [
610+ "Edmonton",
611+ "Stony Plain",
612+ "Drayton Valley"
613+ ],
614+ "province": "AB",
615+ "status": "valide",
616+ "listings_on": 21,
617+ "notes": "21 annonces AB le 2026-08-28"
618+ },
619+ {
620+ "id": "casawise",
621+ "name": "Casawise Property Management",
622+ "site": "https://casawise.managebuilding.com/Resident/public/home",
623+ "subdomain": "casawise",
624+ "regions": [
625+ "Edmonton",
626+ "Leduc",
627+ "St. Albert"
628+ ],
629+ "province": "AB",
630+ "status": "valide",
631+ "listings_on": 71,
632+ "notes": "71 annonces AB le 2026-08-28 (Edmonton 52, Leduc 13, St. Albert 6) — gros volume"
633+ },
634+ {
635+ "id": "wpp",
636+ "name": "Western Premium Property Management",
637+ "site": "https://wppmanagement.managebuilding.com/Resident/public/home",
638+ "subdomain": "wppmanagement",
639+ "regions": [
640+ "Saskatoon",
641+ "Warman",
642+ "Biggar"
643+ ],
644+ "province": "SK",
645+ "status": "valide",
646+ "listings_on": 129,
647+ "notes": "129 annonces SK le 2026-08-28 (Saskatoon 126) — plus gros candidat de la campagne"
648+ },
649+ {
650+ "id": "supreme",
651+ "name": "Supreme Consulting",
652+ "site": "https://supremeconsulting.managebuilding.com/Resident/public/home",
653+ "subdomain": "supremeconsulting",
654+ "regions": [
655+ "Regina",
656+ "Yorkton",
657+ "Prince Albert",
658+ "Swift Current",
659+ "North Battleford"
660+ ],
661+ "province": "SK",
662+ "status": "valide",
663+ "listings_on": 19,
664+ "notes": "19 annonces SK le 2026-08-28"
665+ },
666+ {
667+ "id": "jml",
668+ "name": "JML Properties Ltd",
669+ "site": "https://jmlpropertiesltd.managebuilding.com/Resident/public/home",
670+ "subdomain": "jmlpropertiesltd",
671+ "regions": [
672+ "Regina",
673+ "Saskatoon",
674+ "Moose Jaw"
675+ ],
676+ "province": "SK",
677+ "status": "valide",
678+ "listings_on": 9,
679+ "notes": "9 annonces SK (Regina 7, Saskatoon 2) le 2026-08-28"
680+ },
681+ {
682+ "id": "kodiak",
683+ "name": "Kodiak Property Management Ltd.",
684+ "site": "https://kodiakpropertymanagement.managebuilding.com/Resident/public/home",
685+ "subdomain": "kodiakpropertymanagement",
686+ "regions": [
687+ "Regina",
688+ "Moose Jaw"
689+ ],
690+ "province": "SK",
691+ "status": "valide",
692+ "listings_on": 12,
693+ "notes": "12 annonces SK le 2026-08-28"
694+ },
695+ {
696+ "id": "tree",
697+ "name": "TREE Property Management",
698+ "site": "https://treepropertymanagement.managebuilding.com/Resident/public/home",
699+ "subdomain": "treepropertymanagement",
700+ "regions": [
701+ "Moose Jaw"
702+ ],
703+ "province": "SK",
704+ "status": "valide",
705+ "listings_on": 7,
706+ "notes": "7 annonces Moose Jaw le 2026-08-28"
707+ },
708+ {
709+ "id": "3keys",
710+ "name": "3Keys Property Management",
711+ "site": "https://3keysproperty.managebuilding.com/Resident/public/home",
712+ "subdomain": "3keysproperty",
713+ "regions": [
714+ "Moose Jaw"
715+ ],
716+ "province": "SK",
717+ "status": "valide",
718+ "listings_on": 1,
719+ "notes": "1 annonce Moose Jaw le 2026-08-28 ; inventaire habituel 5-10 selon Google, variable"
720+ },
721+ {
722+ "id": "clearwater",
723+ "name": "Clearwater Management",
724+ "site": "https://clearwatermanagement.managebuilding.com/Resident/public/home",
725+ "subdomain": "clearwatermanagement",
726+ "regions": [
727+ "Winnipeg",
728+ "Portage la Prairie"
729+ ],
730+ "province": "MB",
731+ "status": "valide",
732+ "listings_on": 18,
733+ "notes": "18 annonces MB le 2026-08-28"
734+ },
735+ {
736+ "id": "premier204",
737+ "name": "Premier Property Solutions Inc",
738+ "site": "https://premier204.managebuilding.com/Resident/public/home",
739+ "subdomain": "premier204",
740+ "regions": [
741+ "Winnipeg"
742+ ],
743+ "province": "MB",
744+ "status": "valide",
745+ "listings_on": 57,
746+ "notes": "57 annonces Winnipeg le 2026-08-28 — gros volume MB"
747+ },
748+ {
749+ "id": "joatmon",
750+ "name": "Joatmon Properties Ltd.",
751+ "site": "https://joatmonproperties.managebuilding.com/Resident/public/home",
752+ "subdomain": "joatmonproperties",
753+ "regions": [
754+ "Winnipeg"
755+ ],
756+ "province": "MB",
757+ "status": "valide",
758+ "listings_on": 10,
759+ "notes": "10 annonces Winnipeg le 2026-08-28"
760+ },
761+ {
762+ "id": "assetcore",
763+ "name": "AssetCore Properties",
764+ "site": "https://assetcore.managebuilding.com/Resident/public/home",
765+ "subdomain": "assetcore",
766+ "regions": [
767+ "Winnipeg"
768+ ],
769+ "province": "MB",
770+ "status": "valide",
771+ "listings_on": 4,
772+ "notes": "4 annonces Winnipeg le 2026-08-28"
773+ },
774+ {
775+ "id": "oakapple",
776+ "name": "Oak & Apple Inc.",
777+ "site": "https://oakandapple.managebuilding.com/Resident/public/home",
778+ "subdomain": "oakandapple",
779+ "regions": [
780+ "Winnipeg"
781+ ],
782+ "province": "MB",
783+ "status": "valide",
784+ "listings_on": 2,
785+ "notes": "2 annonces Winnipeg le 2026-08-28"
786+ },
787+ {
788+ "id": "ember",
789+ "name": "Ember Realty Group Ltd.",
790+ "site": "https://emberrealty.managebuilding.com/Resident/public/home",
791+ "subdomain": "emberrealty",
792+ "regions": [
793+ "Winnipeg"
794+ ],
795+ "province": "MB",
796+ "status": "valide",
797+ "listings_on": 1,
798+ "notes": "1 annonce Winnipeg le 2026-08-28 ; inventaire variable"
799+ },
800+ {
801+ "id": "padpicker",
802+ "name": "The Pad Picker Inc",
803+ "site": "https://padpicker.managebuilding.com/Resident/public/home",
804+ "subdomain": "padpicker",
805+ "regions": [
806+ "Halifax",
807+ "Dartmouth",
808+ "Bedford",
809+ "Timberlea",
810+ "Eastern Passage"
811+ ],
812+ "province": "NS",
813+ "status": "valide",
814+ "listings_on": 15,
815+ "notes": "15 annonces NS (grand Halifax) le 2026-08-28"
816+ },
817+ {
818+ "id": "anchorhfx",
819+ "name": "Anchor Property Management (Halifax)",
820+ "site": "https://anchorpropertieshfx.managebuilding.com/Resident/public/home",
821+ "subdomain": "anchorpropertieshfx",
822+ "regions": [
823+ "Halifax"
824+ ],
825+ "province": "NS",
826+ "status": "valide",
827+ "listings_on": 4,
828+ "notes": "4 annonces Halifax le 2026-08-28"
829+ },
830+ {
831+ "id": "urchin",
832+ "name": "Urchin Property Management Inc.",
833+ "site": "https://urchinpropertymanagementinc.managebuilding.com/Resident/public/home",
834+ "subdomain": "urchinpropertymanagementinc",
835+ "regions": [
836+ "Dartmouth",
837+ "Halifax",
838+ "Cole Harbour"
839+ ],
840+ "province": "NS",
841+ "status": "valide",
842+ "listings_on": 16,
843+ "notes": "16 annonces NS (Dartmouth 13) le 2026-08-28"
844+ },
845+ {
846+ "id": "northdt",
847+ "name": "North DT Holdings",
848+ "site": "https://northdtholdings.managebuilding.com/Resident/public/home",
849+ "subdomain": "northdtholdings",
850+ "regions": [
851+ "Truro"
852+ ],
853+ "province": "NS",
854+ "status": "valide",
855+ "listings_on": 1,
856+ "notes": "1 annonce Truro le 2026-08-28"
857+ },
858+ {
859+ "id": "safeguard",
860+ "name": "Safeguard Property Management & Services",
861+ "site": "https://safeguardservices.managebuilding.com/Resident/public/home",
862+ "subdomain": "safeguardservices",
863+ "regions": [
864+ "Wolfville",
865+ "Windsor",
866+ "Kentville",
867+ "Middleton",
868+ "New Minas",
869+ "Annapolis Royal",
870+ "Bridgetown"
871+ ],
872+ "province": "NS",
873+ "status": "valide",
874+ "listings_on": 31,
875+ "notes": "31 annonces NS (vallée d'Annapolis, Windsor→Middleton) le 2026-08-28"
876+ },
877+ {
878+ "id": "lighthouse",
879+ "name": "Rent With Lighthouse",
880+ "site": "https://rentwithlighthouse.managebuilding.com/Resident/public/home",
881+ "subdomain": "rentwithlighthouse",
882+ "regions": [
883+ "Truro",
884+ "Dartmouth",
885+ "New Minas",
886+ "Amherst",
887+ "Fall River"
888+ ],
889+ "province": "NS",
890+ "status": "valide",
891+ "listings_on": 11,
892+ "notes": "11 annonces NS le 2026-08-28"
893+ },
894+ {
895+ "id": "hubcity",
896+ "name": "Hub City Property Management",
897+ "site": "https://hubcitypm.managebuilding.com/Resident/public/home",
898+ "subdomain": "hubcitypm",
899+ "regions": [
900+ "Moncton",
901+ "Shediac",
902+ "Dieppe",
903+ "Miramichi",
904+ "Sackville"
905+ ],
906+ "province": "NB",
907+ "status": "valide",
908+ "listings_on": 26,
909+ "notes": "26 cartes NB le 2026-08-28, dont quelques garages/commerciaux à filtrer"
910+ },
911+ {
912+ "id": "greenlight",
913+ "name": "GreenLight Property Management Inc",
914+ "site": "https://rentgreenlight.com",
915+ "subdomain": "greenlightpropertymanagementinc",
916+ "regions": [
917+ "Moncton",
918+ "Dieppe"
919+ ],
920+ "province": "NB",
921+ "status": "valide",
922+ "listings_on": 15,
923+ "notes": "15 annonces NB le 2026-08-28"
924+ },
925+ {
926+ "id": "4rent",
927+ "name": "4 Rent Solutions Inc.",
928+ "site": "https://4rentsolutionsinc.managebuilding.com/Resident/public/home",
929+ "subdomain": "4rentsolutionsinc",
930+ "regions": [
931+ "Moncton",
932+ "Shediac"
933+ ],
934+ "province": "NB",
935+ "status": "valide",
936+ "listings_on": 12,
937+ "notes": "12 annonces NB le 2026-08-28"
938+ },
939+ {
940+ "id": "colpitts",
941+ "name": "Colpitts Developments",
942+ "site": "https://colpittsdevelopments.managebuilding.com/Resident/public/home",
943+ "subdomain": "colpittsdevelopments",
944+ "regions": [
945+ "Fredericton"
946+ ],
947+ "province": "NB",
948+ "status": "valide",
949+ "listings_on": 43,
950+ "notes": "43 annonces Fredericton le 2026-08-28 — gros volume NB (immeubles Manhattan Drive 82 unités)"
951+ },
952+ {
953+ "id": "freddybeach",
954+ "name": "Freddy Beach Property Management",
955+ "site": "https://freddybeachpm.managebuilding.com/Resident/public/home",
956+ "subdomain": "freddybeachpm",
957+ "regions": [
958+ "Fredericton",
959+ "Moncton",
960+ "Saint John"
961+ ],
962+ "province": "NB",
963+ "status": "valide",
964+ "listings_on": 13,
965+ "notes": "13 cartes NB le 2026-08-28, dont 1-2 commerciaux/garages à filtrer"
966+ },
967+ {
968+ "id": "redsands",
969+ "name": "Red Sands Property Management",
970+ "site": "https://redsandsproperties.ca",
971+ "subdomain": "redsandsproperties",
972+ "regions": [
973+ "Charlottetown",
974+ "Summerside",
975+ "Kensington",
976+ "Montague",
977+ "Souris",
978+ "O'Leary"
979+ ],
980+ "province": "PE",
981+ "status": "valide",
982+ "listings_on": 26,
983+ "notes": "26 annonces PE (partout sur l'île, incl. locations hivernales saisonnières oct-mai — vérifier durée) le 2026-08-28"
984+ },
985+ {
986+ "id": "westroyalty",
987+ "name": "West Royalty Suites",
988+ "site": "https://westroyaltysuites.managebuilding.com/Resident/public/home",
989+ "subdomain": "westroyaltysuites",
990+ "regions": [
991+ "Charlottetown"
992+ ],
993+ "province": "PE",
994+ "status": "valide",
995+ "listings_on": 7,
996+ "notes": "7 annonces Charlottetown (immeuble 20 Daniel Drive) le 2026-08-28"
997+ },
998+ {
999+ "id": "mpropgroup",
1000+ "name": "M Property Management Group",
1001+ "site": "https://mpropgroup.managebuilding.com/Resident/public/home",
1002+ "subdomain": "mpropgroup",
1003+ "regions": [
1004+ "Summerside",
1005+ "Prince Albert"
1006+ ],
1007+ "province": "PE",
1008+ "status": "valide",
1009+ "listings_on": 4,
1010+ "notes": "4 annonces le 2026-08-28 (Summerside PE 2, Prince Albert SK 2) — bi-provincial"
1011+ },
1012+ {
1013+ "id": "metronl",
1014+ "name": "Metro Property Management (St. John's)",
1015+ "site": "https://metropropertymanagement.managebuilding.com/Resident/public/home",
1016+ "subdomain": "metropropertymanagement",
1017+ "regions": [
1018+ "St. John's",
1019+ "Mount Pearl",
1020+ "Paradise",
1021+ "Torbay"
1022+ ],
1023+ "province": "NL",
1024+ "status": "valide",
1025+ "listings_on": 21,
1026+ "notes": "21 annonces NL (grand St. John's) le 2026-08-28 — seul client NL du registre"
1027+ },
1028+ {
1029+ "id": "marco",
1030+ "name": "Marco Toronto Property Management",
1031+ "site": "https://marcotoronto.managebuilding.com/Resident/public/home",
1032+ "subdomain": "marcotoronto",
1033+ "regions": [
1034+ "Toronto",
1035+ "East York",
1036+ "Mississauga"
1037+ ],
1038+ "province": "ON",
1039+ "status": "valide",
1040+ "listings_on": 43,
1041+ "notes": "43 annonces ON (Toronto 40) le 2026-08-28 ; segment haut de gamme (jusqu'à 30 k$/mois)"
1042+ },
1043+ {
1044+ "id": "camden",
1045+ "name": "Camden Property Management",
1046+ "site": "https://camdenpm.managebuilding.com/Resident/public/home",
1047+ "subdomain": "camdenpm",
1048+ "regions": [
1049+ "Toronto"
1050+ ],
1051+ "province": "ON",
1052+ "status": "valide",
1053+ "listings_on": 1,
1054+ "notes": "1 annonce Toronto (Annex) le 2026-08-28 ; inventaire variable"
1055+ },
1056+ {
1057+ "id": "pmtoronto",
1058+ "name": "Property Management Toronto Inc",
1059+ "site": "https://propertymanagementtoronto.managebuilding.com/Resident/public/home",
1060+ "subdomain": "propertymanagementtoronto",
1061+ "regions": [
1062+ "Toronto",
1063+ "Mississauga",
1064+ "Brampton",
1065+ "Oshawa",
1066+ "Kitchener",
1067+ "Brantford"
1068+ ],
1069+ "province": "ON",
1070+ "status": "valide",
1071+ "listings_on": 23,
1072+ "notes": "23 annonces ON (GTA + Kitchener) le 2026-08-28"
1073+ },
1074+ {
1075+ "id": "ckso",
1076+ "name": "CKSO Properties",
1077+ "site": "https://cksoproperties.managebuilding.com/Resident/public/home",
1078+ "subdomain": "cksoproperties",
1079+ "regions": [
1080+ "Greater Sudbury"
1081+ ],
1082+ "province": "ON",
1083+ "status": "valide",
1084+ "listings_on": 21,
1085+ "notes": "21 annonces Grand Sudbury le 2026-08-28"
1086+ },
1087+ {
1088+ "id": "superiorchoice",
1089+ "name": "Superior Choice PM",
1090+ "site": "https://tbay.managebuilding.com/Resident/public/home",
1091+ "subdomain": "tbay",
1092+ "regions": [
1093+ "Thunder Bay"
1094+ ],
1095+ "province": "ON",
1096+ "status": "valide",
1097+ "listings_on": 3,
1098+ "notes": "3 annonces Thunder Bay le 2026-08-28"
1099+ },
1100+ {
1101+ "id": "hocking",
1102+ "name": "Hocking Management Corporation",
1103+ "site": "https://hmc.managebuilding.com/Resident/public/home",
1104+ "subdomain": "hmc",
1105+ "regions": [
1106+ "Barrie"
1107+ ],
1108+ "province": "ON",
1109+ "status": "valide",
1110+ "listings_on": 4,
1111+ "notes": "4 annonces Barrie le 2026-08-28"
1112+ },
1113+ {
1114+ "id": "spruce",
1115+ "name": "Spruce Living Inc.",
1116+ "site": "https://sprucelivinginc.managebuilding.com/Resident/public/home",
1117+ "subdomain": "sprucelivinginc",
1118+ "regions": [
1119+ "Guelph"
1120+ ],
1121+ "province": "ON",
1122+ "status": "valide",
1123+ "listings_on": 8,
1124+ "notes": "8 annonces Guelph le 2026-08-28"
1125+ },
1126+ {
1127+ "id": "guelphpm",
1128+ "name": "Guelph PM",
1129+ "site": "https://guelphpm.managebuilding.com/Resident/public/home",
1130+ "subdomain": "guelphpm",
1131+ "regions": [
1132+ "Guelph"
1133+ ],
1134+ "province": "ON",
1135+ "status": "valide",
1136+ "listings_on": 2,
1137+ "notes": "2 annonces Guelph le 2026-08-28"
1138+ },
1139+ {
1140+ "id": "sfour",
1141+ "name": "S Four Inc.",
1142+ "site": "https://sfourinc.managebuilding.com/Resident/public/home",
1143+ "subdomain": "sfourinc",
1144+ "regions": [
1145+ "Kitchener",
1146+ "Waterloo"
1147+ ],
1148+ "province": "ON",
1149+ "status": "valide",
1150+ "listings_on": 23,
1151+ "notes": "23 annonces ON (Kitchener 14, Waterloo 9) le 2026-08-28"
1152+ },
1153+ {
1154+ "id": "starliving",
1155+ "name": "Starliving Management",
1156+ "site": "https://starliving.managebuilding.com/Resident/public/home",
1157+ "subdomain": "starliving",
1158+ "regions": [
1159+ "Brantford",
1160+ "Hamilton",
1161+ "Cambridge",
1162+ "Oshawa",
1163+ "St. Catharines"
1164+ ],
1165+ "province": "ON",
1166+ "status": "valide",
1167+ "listings_on": 4,
1168+ "notes": "4 annonces ON le 2026-08-28"
1169+ },
1170+ {
1171+ "id": "rentaplex",
1172+ "name": "Rentaplex Inc",
1173+ "site": "https://rentaplexinc.managebuilding.com/Resident/public/home",
1174+ "subdomain": "rentaplexinc",
1175+ "regions": [
1176+ "Oshawa",
1177+ "Whitby"
1178+ ],
1179+ "province": "ON",
1180+ "status": "valide",
1181+ "listings_on": 3,
1182+ "notes": "3 annonces Durham (Oshawa 2, Whitby 1) le 2026-08-28"
1183+ },
1184+ {
1185+ "id": "harper",
1186+ "name": "Harper Management Services Inc",
1187+ "site": "https://harpermanagementservicesinc.managebuilding.com/Resident/public/home",
1188+ "subdomain": "harpermanagementservicesinc",
1189+ "regions": [
1190+ "Sault Ste. Marie",
1191+ "Welland",
1192+ "St. Catharines",
1193+ "Fort Erie"
1194+ ],
1195+ "province": "ON",
1196+ "status": "valide",
1197+ "listings_on": 15,
1198+ "notes": "15 annonces ON (SSM 8 + Niagara) le 2026-08-28"
1199+ },
1200+ {
1201+ "id": "2cats",
1202+ "name": "2 Cats Investor Services Inc.",
1203+ "site": "https://2-cats.managebuilding.com/Resident/public/home",
1204+ "subdomain": "2-cats",
1205+ "regions": [
1206+ "Brantford"
1207+ ],
1208+ "province": "ON",
1209+ "status": "valide",
1210+ "listings_on": 8,
1211+ "notes": "8 annonces Brantford (1 Wellington St.) le 2026-08-28"
1212+ },
1213+ {
1214+ "id": "ska",
1215+ "name": "SKA Apartments",
1216+ "site": "https://ska-apartment-rentals.managebuilding.com/Resident/public/home",
1217+ "subdomain": "ska-apartment-rentals",
1218+ "regions": [
1219+ "Chatham",
1220+ "Brantford",
1221+ "Leamington",
1222+ "Tillsonburg",
1223+ "Guelph"
1224+ ],
1225+ "province": "ON",
1226+ "status": "valide",
1227+ "listings_on": 23,
1228+ "notes": "23 annonces ON (sud-ouest) le 2026-08-28"
1229+ },
1230+ {
1231+ "id": "fourchambers",
1232+ "name": "Four Chambers Property Management",
1233+ "site": "https://fourchamberspropertymanagement.managebuilding.com/Resident/public/home",
1234+ "subdomain": "fourchamberspropertymanagement",
1235+ "regions": [
1236+ "Hamilton",
1237+ "St. Catharines",
1238+ "Brantford"
1239+ ],
1240+ "province": "ON",
1241+ "status": "valide",
1242+ "listings_on": 9,
1243+ "notes": "9 annonces ON (Hamilton 7) le 2026-08-28"
1244+ }
1245+ ]
195 } 1246 }
\ No newline at end of file
modified data/liftsystem_clients.json +197 −0
Large diff (204 lines) is not loaded by default to keep the page fast.Load diff
modified data/liftsystem_probe.jsonl +68 −0
Large diff (71 lines) is not loaded by default to keep the page fast.Load diff
modified data/sources.json +990 −1
Large diff (1,002 lines) is not loaded by default to keep the page fast.Load diff
added rentka/connectors/realtor_ca.py +338 −0
Large diff (338 lines) is not loaded by default to keep the page fast.Load diff
modified scripts/build_lift_registry.py +12 −7
Large diff (37 lines) is not loaded by default to keep the page fast.Load diff
added scripts/merge_candidates.py +96 −0
Large diff (96 lines) is not loaded by default to keep the page fast.Load diff
added scripts/probe_liftsystem_gaps.py +107 −0
Large diff (108 lines) is not loaded by default to keep the page fast.Load diff
Menu

Theme