Boyes Group Realty APIboyesgrouprealty.com ↗
Access Boyes Group Realty property listings in Saskatoon via API. Search with pagination and fetch full listing details including price, MLS, beds, baths, and more.
What is the Boyes Group Realty API?
The Boyes Group Realty API provides 2 endpoints to access current property listings from Saskatoon's Boyes Group Realty. Use search_listings to retrieve paginated summaries with price, address, MLS number, neighbourhood, and listing agent, or call get_listing_detail with a listing ID to get granular fields including year built, lot size, floor area, property sub-type, and listing status.
curl -X GET 'https://api.parse.bot/scraper/50d96005-e077-4026-b75e-ca51a50d7e81/search_listings?page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace boyesgrouprealty-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: BoyesGroup SDK — bounded, re-runnable; every call capped."""
from parse_apis.boyesgrouprealty_com_api import BoyesGroup, ListingNotFound
client = BoyesGroup()
# Search Saskatoon listings, cap at 3 results total.
for listing in client.listing_summaries.search(limit=3):
print(listing.address, listing.price, listing.neighbourhood)
# Drill-down: take one listing and navigate to full details via .details().
summary = client.listing_summaries.search(limit=1).first()
try:
detail = summary.details()
print(detail.address, detail.price, detail.bedrooms, detail.floor_area)
except ListingNotFound as e:
print(f"listing gone: {e.listing_id}")
print("exercised: listing_summaries.search, ListingSummary.details")
Search Boyes Group Realty listings filtered to Saskatoon only. Returns paginated results with key property details including price, address, neighbourhood, MLS number, property type, status, bedrooms, bathrooms, floor area, listing agent, and a direct link to the detail page. Non-Saskatoon listings are excluded. Results are auto-iterated across pages.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
{
"type": "object",
"fields": {
"page": "current page number",
"listings": "array of Saskatoon property listing summaries",
"total_all": "total listings across all pages (before Saskatoon filter)",
"saskatoon_count_on_page": "number of Saskatoon listings on this page"
},
"sample": {
"page": 1,
"listings": [
{
"city": "Saskatoon",
"price": "$599,900",
"status": "Active",
"address": "331 Steiger Way",
"bedrooms": "4",
"bathrooms": "3",
"detail_url": "https://boyesgrouprealty.com/mylistings.html/listing.sk042751-331-steiger-way-saskatoon-s7n-4k2.109322895",
"floor_area": "1,549 sq. ft.",
"listing_id": "109322895",
"mls_number": "SK042751",
"listing_agent": "Boyes Group Realty Inc.",
"neighbourhood": "Erindale",
"property_type": "Residential"
}
],
"total_all": 31,
"saskatoon_count_on_page": 13
}
}About the Boyes Group Realty API
Endpoint Overview
The API covers two endpoints focused on Saskatoon real estate. search_listings accepts an optional page integer (1-based) and returns an array of property summaries scoped to Saskatoon listings. Each summary includes price, address, neighbourhood, mls_number, property_type, status, bedrooms, bathrooms, floor_area, listing_agent, and a listing_id you can pass downstream. The response also surfaces total_all (total listings before the Saskatoon filter) and saskatoon_count_on_page so you can build accurate pagination logic.
Listing Detail
get_listing_detail takes a required listing_id string — obtained from search_listings results — and returns the full property record. Fields include city, price, status, address, bedrooms, bathrooms, floor_area, lot_size, listing_id, and a detail_url linking directly to the listing page on Boyes Group Realty. Additional detail-level fields cover year built, property sub-type, and building type, giving a complete picture of an individual property.
Coverage and Filtering
All listings returned by search_listings are pre-filtered to Saskatoon. There is no additional geographic filter parameter — the Saskatoon scope is applied automatically. Pagination is controlled via the page parameter; iterate page numbers until the returned listings array is empty or shorter than a full page to walk the full dataset. Status values such as "Active" and "Conditional Sale" are present in both the search summaries and detail responses.
The Boyes Group Realty API is a managed, monitored endpoint for boyesgrouprealty.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when boyesgrouprealty.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official boyesgrouprealty.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Saskatoon property search tool showing price, address, and MLS number from search_listings
- Track listing status changes (Active vs. Conditional Sale) across Boyes Group Realty inventory
- Aggregate floor area and bedroom counts for neighbourhood-level market analysis
- Generate leads by monitoring new listings and extracting listing_agent contact context
- Feed lot_size and year_built data into a property valuation or comparison model
- Create an alert system that pages through all listings and flags price changes by listing_id
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Boyes Group Realty offer an official developer API?+
What does search_listings return and how does pagination work?+
listings array of Saskatoon property summaries, the page number, total_all (total listings before the Saskatoon filter), and saskatoon_count_on_page. Increment the page parameter starting at 1 and continue until the listings array is empty to walk the full set.Does the API cover listings outside Saskatoon, such as other Saskatchewan cities?+
total_all in the search response reflects listings across all locations before filtering, but only Saskatoon records are returned. You can fork this API on Parse and revise it to remove or adjust the geographic filter to include other cities in the Boyes Group Realty inventory.Does get_listing_detail return photos or virtual tour links?+
How do I get full details for a listing found in search results?+
listings array from search_listings includes a listing_id field. Pass that string as the required listing_id parameter to get_listing_detail to retrieve the full property record including lot_size, year_built, and building type.