{ "opencollection": "1.0.0", "info": { "name": "Connells Website JSON API (undocumented)", "version": "2026-07-26" }, "items": [ { "info": { "name": "Branches", "type": "folder" }, "items": [ { "info": { "name": "List Connells branches", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/branches" }, "docs": "Returns the first page of the Connells branch directory. Observed 2026-07-26 as 162 branches across 14 pages of 12. No query parameter was honoured — page, pageSize, per_page, limit, lat, lng, search, q, query, slug, service, distance and isLettingsEnabled were each probed and all returned page 1 unchanged. OPTIONS reports \"Allow: GET, HEAD, OPTIONS\"." }, { "info": { "name": "Get one branch by numeric id", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/branches/:branchId", "params": [ { "name": "branchId", "value": "8020", "type": "path", "description": "Numeric branch identifier, as returned by listBranches." } ] }, "docs": "Returns a single branch by its numeric id (observed: 8020 = Abingdon). The path segment must be the numeric id; passing the branch slug (\"abingdon\") returns HTTP 200 with a null result rather than a 404." }, { "info": { "name": "Property listings (route present, non-functional)", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/properties" }, "docs": "This route handler exists but returned HTTP 500 with an empty body on every probe on 2026-07-26 — bare, and with location, search, type and page query parameters. It is documented here only to record that the route is present and failing; no successful response has ever been observed, so no 200 schema is asserted. Property listings on www.connells.co.uk are server-rendered from the Homeflow platform, not fetched from this endpoint by the browser." } ] }, { "info": { "name": "People", "type": "folder" }, "items": [ { "info": { "name": "List Connells staff", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/staff" }, "docs": "Returns the first page of the Connells people directory. Observed 2026-07-26 as 841 staff across 71 pages of 12. Same envelope and same non-honoured pagination behaviour as listBranches." } ] }, { "info": { "name": "Testimonials", "type": "folder" }, "items": [ { "info": { "name": "List published customer testimonials", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/testimonials" }, "docs": "Returns 12 published customer testimonials. Note the envelope differs from the others: `pagination` is null and the error key is singular (`error`, not `errors`)." } ] }, { "info": { "name": "Locations", "type": "folder" }, "items": [ { "info": { "name": "List locations", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/locations" }, "docs": "Returns a bare JSON array (no envelope) of 12 location records. Ids are 24-character hexadecimal strings (MongoDB ObjectId form), consistent with the Homeflow platform behind the site. Several records were observed with empty `name` and `urlLabel` values." }, { "info": { "name": "Look up places by name", "type": "http" }, "http": { "method": "GET", "url": "https://www.connells.co.uk/api/places", "params": [ { "name": "name", "value": "bedford", "type": "query", "description": "Free-text place name to search for." } ] }, "docs": "Place-name autocomplete. Requires the `name` query parameter; without it the service returns HTTP 200 with an empty result set and the error \"Name required for places search\". Results are returned as positional arrays of three strings — [display label, place id, place slug] — rather than as objects." } ] } ], "bundled": true }