National expansion: RentFaster connector + 593 LiftSystem clients across all provinces + platform registry additions
- LiftSystem API enumerated (1,143 clients probed live) → +593 registered (ON 261, AB 150, BC 97, MB 38, SK 26, NS 14, NB 5, NL 1, NU 1) - New rentfaster connector (open JSON API, 68 non-QC cities, ~23k listings) - Buildium/AppFolio postal+province scope widened to all Canada ex-QC - 4 verified Buildium + 1 AppFolio clients added (SK/MB/ON/NS) - sources.json: 87 → 680 sources ; connectors: 81 → 680 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7 changed files +19,084 −830
modified
data/appfolio_clients.json
+19 −2
@@ -7,10 +7,27 @@ | |||||
| 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": ["Barrie", "Orillia", "Oro-Medonte", "Simcoe"], | 10 | + "regions": [ | ||
| 11 | + "Barrie", | ||||
| 12 | + "Orillia", | ||||
| 13 | + "Oro-Medonte", | ||||
| 14 | + "Simcoe" | ||||
| 15 | + ], | ||||
| 11 | "status": "valide", | 16 | "status": "valide", | ||
| 12 | "listings_on": 25, | 17 | "listings_on": 25, | ||
| 13 | "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 | + }, | ||||
| 20 | + { | ||||
| 21 | + "id": "regency", | ||||
| 22 | + "name": "Regency Property Management", | ||||
| 23 | + "site": "https://regencypm.com", | ||||
| 24 | + "subdomain": "regencypropmgmt", | ||||
| 25 | + "regions": [ | ||||
| 26 | + "Regina" | ||||
| 27 | + ], | ||||
| 28 | + "province": "SK", | ||||
| 29 | + "status": "valide", | ||||
| 30 | + "notes": "canada-expansion 2026-08-27 — /listings 200 avec inventaire (vérifié live)" | ||||
| 14 | } | 31 | } | ||
| 15 | ] | 32 | ] | ||
| 16 | −} | 33 | +} | ||
| \ No newline at end of file | |||||
modified
data/buildium_clients.json
+91 −12
@@ -7,7 +7,9 @@ | |||||
| 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": ["Windsor"], | 10 | + "regions": [ | ||
| 11 | + "Windsor" | ||||
| 12 | + ], | ||||
| 11 | "status": "valide", | 13 | "status": "valide", | ||
| 12 | "listings_on": 52, | 14 | "listings_on": 52, | ||
| 13 | "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" | ||
@@ -17,7 +19,9 @@ | |||||
| 17 | "name": "Dream Property Management", | 19 | "name": "Dream Property Management", | ||
| 18 | "site": "https://rentalsdreampm.com", | 20 | "site": "https://rentalsdreampm.com", | ||
| 19 | "subdomain": "dreampm", | 21 | "subdomain": "dreampm", | ||
| 20 | − "regions": ["Sarnia"], | 22 | + "regions": [ | ||
| 23 | + "Sarnia" | ||||
| 24 | + ], | ||||
| 21 | "status": "valide", | 25 | "status": "valide", | ||
| 22 | "listings_on": 9, | 26 | "listings_on": 9, | ||
| 23 | "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" | ||
@@ -27,7 +31,10 @@ | |||||
| 27 | "name": "Guardian Real Estate Management (GREM)", | 31 | "name": "Guardian Real Estate Management (GREM)", | ||
| 28 | "site": "https://grem.ca", | 32 | "site": "https://grem.ca", | ||
| 29 | "subdomain": "guardianrealestatemanagement", | 33 | "subdomain": "guardianrealestatemanagement", | ||
| 30 | − "regions": ["Sarnia", "West Nipissing"], | 34 | + "regions": [ | ||
| 35 | + "Sarnia", | ||||
| 36 | + "West Nipissing" | ||||
| 37 | + ], | ||||
| 31 | "status": "valide", | 38 | "status": "valide", | ||
| 32 | "listings_on": 44, | 39 | "listings_on": 44, | ||
| 33 | "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)" | ||
@@ -37,7 +44,9 @@ | |||||
| 37 | "name": "Elite Property Group", | 44 | "name": "Elite Property Group", | ||
| 38 | "site": "https://elitepropertygroup.org", | 45 | "site": "https://elitepropertygroup.org", | ||
| 39 | "subdomain": "elitepropertygroup", | 46 | "subdomain": "elitepropertygroup", | ||
| 40 | − "regions": ["Sarnia"], | 47 | + "regions": [ | ||
| 48 | + "Sarnia" | ||||
| 49 | + ], | ||||
| 41 | "status": "valide", | 50 | "status": "valide", | ||
| 42 | "listings_on": 34, | 51 | "listings_on": 34, | ||
| 43 | "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" | ||
@@ -47,7 +56,9 @@ | |||||
| 47 | "name": "Paragon Property Management & Maintenance", | 56 | "name": "Paragon Property Management & Maintenance", | ||
| 48 | "site": "https://paragonproperty.ca", | 57 | "site": "https://paragonproperty.ca", | ||
| 49 | "subdomain": "paragonpropertymgt", | 58 | "subdomain": "paragonpropertymgt", | ||
| 50 | − "regions": ["Chatham-Kent"], | 59 | + "regions": [ | ||
| 60 | + "Chatham-Kent" | ||||
| 61 | + ], | ||||
| 51 | "status": "valide", | 62 | "status": "valide", | ||
| 52 | "listings_on": 34, | 63 | "listings_on": 34, | ||
| 53 | "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)" | ||
@@ -57,7 +68,9 @@ | |||||
| 57 | "name": "Panadew Property Management", | 68 | "name": "Panadew Property Management", | ||
| 58 | "site": "https://panadew.ca", | 69 | "site": "https://panadew.ca", | ||
| 59 | "subdomain": "panadew", | 70 | "subdomain": "panadew", | ||
| 60 | − "regions": ["Kingston"], | 71 | + "regions": [ | ||
| 72 | + "Kingston" | ||||
| 73 | + ], | ||||
| 61 | "status": "valide", | 74 | "status": "valide", | ||
| 62 | "listings_on": 7, | 75 | "listings_on": 7, | ||
| 63 | "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" | ||
@@ -67,7 +80,10 @@ | |||||
| 67 | "name": "TAG Property Management", | 80 | "name": "TAG Property Management", | ||
| 68 | "site": "https://tagpropertymanagement1.managebuilding.com/Resident/public/home", | 81 | "site": "https://tagpropertymanagement1.managebuilding.com/Resident/public/home", | ||
| 69 | "subdomain": "tagpropertymanagement1", | 82 | "subdomain": "tagpropertymanagement1", | ||
| 70 | − "regions": ["Cobourg", "Port Hope"], | 83 | + "regions": [ | ||
| 84 | + "Cobourg", | ||||
| 85 | + "Port Hope" | ||||
| 86 | + ], | ||||
| 71 | "status": "valide", | 87 | "status": "valide", | ||
| 72 | "listings_on": 10, | 88 | "listings_on": 10, | ||
| 73 | "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" | ||
@@ -77,7 +93,11 @@ | |||||
| 77 | "name": "Genedco Property Management (GRANITE)", | 93 | "name": "Genedco Property Management (GRANITE)", | ||
| 78 | "site": "https://genedco.ca", | 94 | "site": "https://genedco.ca", | ||
| 79 | "subdomain": "genedco", | 95 | "subdomain": "genedco", | ||
| 80 | − "regions": ["Cobourg", "Port Hope", "Peterborough"], | 96 | + "regions": [ | ||
| 97 | + "Cobourg", | ||||
| 98 | + "Port Hope", | ||||
| 99 | + "Peterborough" | ||||
| 100 | + ], | ||||
| 81 | "status": "valide", | 101 | "status": "valide", | ||
| 82 | "listings_on": 9, | 102 | "listings_on": 9, | ||
| 83 | "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" | ||
@@ -87,7 +107,11 @@ | |||||
| 87 | "name": "RentCorp Property Management", | 107 | "name": "RentCorp Property Management", | ||
| 88 | "site": "https://www.rentcorp.ca", | 108 | "site": "https://www.rentcorp.ca", | ||
| 89 | "subdomain": "rentcorppropertymanagement", | 109 | "subdomain": "rentcorppropertymanagement", | ||
| 90 | − "regions": ["Waterloo", "North Bay", "London"], | 110 | + "regions": [ | ||
| 111 | + "Waterloo", | ||||
| 112 | + "North Bay", | ||||
| 113 | + "London" | ||||
| 114 | + ], | ||||
| 91 | "status": "valide", | 115 | "status": "valide", | ||
| 92 | "listings_on": 26, | 116 | "listings_on": 26, | ||
| 93 | "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" | ||
@@ -97,7 +121,9 @@ | |||||
| 97 | "name": "Sleepwell Property Management", | 121 | "name": "Sleepwell Property Management", | ||
| 98 | "site": "https://www.sleepwellmanagement.com", | 122 | "site": "https://www.sleepwellmanagement.com", | ||
| 99 | "subdomain": "sleepwellpropertymanagement", | 123 | "subdomain": "sleepwellpropertymanagement", | ||
| 100 | − "regions": ["Ottawa"], | 124 | + "regions": [ | ||
| 125 | + "Ottawa" | ||||
| 126 | + ], | ||||
| 101 | "status": "valide", | 127 | "status": "valide", | ||
| 102 | "listings_on": 130, | 128 | "listings_on": 130, | ||
| 103 | "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" | ||
@@ -107,10 +133,63 @@ | |||||
| 107 | "name": "Athena Property Management", | 133 | "name": "Athena Property Management", | ||
| 108 | "site": "https://athenapropertymanagementinc1.managebuilding.com/Resident/public/home", | 134 | "site": "https://athenapropertymanagementinc1.managebuilding.com/Resident/public/home", | ||
| 109 | "subdomain": "athenapropertymanagementinc1", | 135 | "subdomain": "athenapropertymanagementinc1", | ||
| 110 | − "regions": ["Hamilton", "St. Catharines"], | 136 | + "regions": [ | ||
| 137 | + "Hamilton", | ||||
| 138 | + "St. Catharines" | ||||
| 139 | + ], | ||||
| 111 | "status": "valide", | 140 | "status": "valide", | ||
| 112 | "listings_on": 29, | 141 | "listings_on": 29, | ||
| 113 | "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 | + }, | ||||
| 144 | + { | ||||
| 145 | + "id": "gooddoors", | ||||
| 146 | + "name": "GoodDoors Property Management", | ||||
| 147 | + "site": "https://gooddoors.com", | ||||
| 148 | + "subdomain": "gooddoors", | ||||
| 149 | + "regions": [ | ||||
| 150 | + "Regina", | ||||
| 151 | + "Saskatoon" | ||||
| 152 | + ], | ||||
| 153 | + "province": "SK", | ||||
| 154 | + "status": "valide", | ||||
| 155 | + "notes": "canada-expansion 2026-08-27 — 18 annonces live (SK), page publique 200 sans anti-bot" | ||||
| 156 | + }, | ||||
| 157 | + { | ||||
| 158 | + "id": "imperial", | ||||
| 159 | + "name": "Imperial Properties", | ||||
| 160 | + "site": "https://imperialproperties.ca", | ||||
| 161 | + "subdomain": "ip", | ||||
| 162 | + "regions": [ | ||||
| 163 | + "Winnipeg", | ||||
| 164 | + "Regina" | ||||
| 165 | + ], | ||||
| 166 | + "province": "MB", | ||||
| 167 | + "status": "valide", | ||||
| 168 | + "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage (inventaire variable)" | ||||
| 169 | + }, | ||||
| 170 | + { | ||||
| 171 | + "id": "frontenac", | ||||
| 172 | + "name": "Frontenac Property Management", | ||||
| 173 | + "site": "https://frontenacproperty.com", | ||||
| 174 | + "subdomain": "frontenacproperty", | ||||
| 175 | + "regions": [ | ||||
| 176 | + "Kingston" | ||||
| 177 | + ], | ||||
| 178 | + "province": "ON", | ||||
| 179 | + "status": "valide", | ||||
| 180 | + "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage" | ||||
| 181 | + }, | ||||
| 182 | + { | ||||
| 183 | + "id": "universalrealty", | ||||
| 184 | + "name": "Universal Realty Group", | ||||
| 185 | + "site": "https://universalrealty.net", | ||||
| 186 | + "subdomain": "universalrealty", | ||||
| 187 | + "regions": [ | ||||
| 188 | + "Halifax" | ||||
| 189 | + ], | ||||
| 190 | + "province": "NS", | ||||
| 191 | + "status": "valide", | ||||
| 192 | + "notes": "canada-expansion 2026-08-27 — page publique 200, 0 annonce au moment du sondage" | ||||
| 114 | } | 193 | } | ||
| 115 | ] | 194 | ] | ||
| 116 | −} | 195 | +} | ||
| \ No newline at end of file | |||||
modified
data/liftsystem_clients.json
+7868 −0
Large diff (7,875 lines) is not loaded by default to keep the page fast.Load diff
added
data/liftsystem_probe.jsonl
+1143 −0
Large diff (1,143 lines) is not loaded by default to keep the page fast.Load diff
modified
data/rentcafe_clients.json
+47 −2
Large diff (54 lines) is not loaded by default to keep the page fast.Load diff
added
data/rentfaster_cities.json
+4206 −0
Large diff (4,207 lines) is not loaded by default to keep the page fast.Load diff
modified
data/sources.json
+5710 −814
Large diff (6,525 lines) is not loaded by default to keep the page fast.Load diff
Diff truncated — file too large.