Rentals.ca Search API searches Canadian rentals by city or province. Each listing is a building with its floor plans. Rent, bedroom, bathroom and size filters are checked on every floor plan, so a unit that breaks a filter is never returned and a building with no fitting unit is left out. A page can therefore hold fewer than per_page listings. Rentals only: there is no sale mode and no keyword search, and both are rejected. Rents that are placeholders (for example a call-for-price entry) are returned as null. Hidden street addresses are returned without street and postal code. Searching by neighbourhood is not supported. A page past the end returns an empty list. If a city name does not match a known place the site answers with zero results, so a warning is returned: check the spelling with the autocomplete or cities route. Failed requests are not billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
23 optional filters available.
string
Optional
City name, used with region. Example: Toronto.
example
string
Optional
Province or territory code: AB, BC, MB, NB, NL, NS, NT, NU, ON, PE, QC, SK or YT. Alone, it searches the whole province.
US
string
Optional
Ready location value from the autocomplete route, such as toronto, on, ca. Use it instead of city and region.
Austin, Texas
integer
Optional
Minimum monthly rent in CAD.
10
integer
Optional
Maximum monthly rent in CAD.
10
integer
Optional
Minimum bedrooms. 0 is a studio.
10
integer
Optional
Maximum bedrooms.
10
number
Optional
Minimum bathrooms, for example 1.5.
10
number
Optional
Maximum bathrooms.
10
integer
Optional
Minimum size in square feet.
10
integer
Optional
Maximum size in square feet.
10
array
Optional
Comma separated property types, for example condo,apartment,house. See the filter options route.
["example"]
array
Optional
Comma separated categories such as student_housing or luxury_rentals.
["example"]
array
Optional
Comma separated lease terms: short, long, no_long or no_short.
["example"]
array
Optional
Comma separated: fully, partially, no, yes or mixed.
["example"]
array
Optional
Comma separated parking types such as underground or garage.
["example"]
array
Optional
Comma separated amenity ids such as building-features:concierge. See the filter options route.
["example"]
string
Optional
all (all pets allowed) or none (no pets).
example
boolean
Optional
true returns verified listings only.
true
boolean
Optional
true returns listings with photos only.
true
string
Optional
relevant (default), recent, cheapest, expensive, newest or ranked.
relevance
integer
Optional
One-based page number, 1 to 100 (default 1).
1
integer
Optional
Listings per page, 1 to 100 (default 20).
10
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"page": 1,
"total": 1162,
"warning": null,
"listings": [
{
"id": "cmVudGFsbGlzdGluZzozNzIyMzU=",
"url": "https://rentals.ca/toronto/730-st-clarens-avenue-1",
"beds": {
"max": 2,
"min": 2
},
"name": "730 St. Clarens",
"path": "toronto/730-st-clarens-avenue-1",
"pets": [
"all"
],
"rent": {
"max": 2375,
"min": 2300
},
"size": {
"max": 640,
"min": 640
},
"type": "apartment",
"baths": {
"max": 1,
"min": 1
},
"address": {
"city": "Toronto",
"region": "ON",
"street": "730 St Clarens Avenue",
"city_path": "toronto",
"postal_code": "M6H 4E8",
"neighbourhood": null,
"address_hidden": false,
"neighbourhood_path": null
},
"created": "2020-09-09T20:51:41+00:00",
"latitude": 43.667254,
"modified": "2026-10-23T17:47:39+00:00",
"verified": true,
"longitude": -79.445707,
"thumbnail": {
"large": "https://images.rentals.ca/property-pictures/large/toronto-on/372235/apartment-2240761769.jpg",
"small": "https://images.rentals.ca/property-pictures/small/toronto-on/372235/apartment-2240761769.jpg",
"medium": "https://images.rentals.ca/property-pictures/medium/toronto-on/372235/apartment-2240761769.jpg",
"caption": "kitchen"
},
"floor_plans": [
{
"beds": 2,
"rent": 2300,
"size": 640,
"baths": 1,
"available_now": true,
"available_from": null
},
{
"beds": 2,
"rent": 2375,
"size": 640,
"baths": 1,
"available_now": true,
"available_from": null
}
],
"images_count": 45,
"listing_type": "residential:apartment:apartment"
}
],
"per_page": 20,
"next_page": 2,
"has_next_page": true,
"filtered_count": 1,
"search_metadata": {
"status": "Success",
"total_floor_plans": 1937
},
"search_parameters": {
"sort": "cheapest",
"place": "toronto, on, ca",
"filters": {
"max_beds": 2,
"min_beds": 2,
"max_price": 2500,
"min_price": 1500
}
}
},
"meta": {
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A required parameter, a range or a value is invalid. This response is not billable.
{
"errors": {
"region": [
"The region field is required when location is not present."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Rentals.ca could not be reached or returned data that does not match the request. This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "Rentals.ca could not be reached. Please retry shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.