Skip to content
Scrappa Get API key
Rentals.ca API 1 credit/request

Rentals.ca Search API Documentation

GET https://scrappa.co/api/rentals-ca/search

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.

Rentals.ca Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/rentals-ca/search
Auth header
x-api-key
Cost
1 credit/request
Response preview
200 OK
{
    "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",
...

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.

city string Optional

City name, used with region. Example: Toronto.

Example value example
region 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.

Example value US
location string Optional

Ready location value from the autocomplete route, such as toronto, on, ca. Use it instead of city and region.

Example value Austin, Texas
min_price integer Optional

Minimum monthly rent in CAD.

Example value 10
max_price integer Optional

Maximum monthly rent in CAD.

Example value 10
min_beds integer Optional

Minimum bedrooms. 0 is a studio.

Example value 10
max_beds integer Optional

Maximum bedrooms.

Example value 10
min_baths number Optional

Minimum bathrooms, for example 1.5.

Example value 10
max_baths number Optional

Maximum bathrooms.

Example value 10
min_size integer Optional

Minimum size in square feet.

Example value 10
max_size integer Optional

Maximum size in square feet.

Example value 10
property_type array Optional

Comma separated property types, for example condo,apartment,house. See the filter options route.

Example value ["example"]
categories array Optional

Comma separated categories such as student_housing or luxury_rentals.

Example value ["example"]
lease_terms array Optional

Comma separated lease terms: short, long, no_long or no_short.

Example value ["example"]
furnished array Optional

Comma separated: fully, partially, no, yes or mixed.

Example value ["example"]
parking_types array Optional

Comma separated parking types such as underground or garage.

Example value ["example"]
amenities array Optional

Comma separated amenity ids such as building-features:concierge. See the filter options route.

Example value ["example"]
pets string Optional

all (all pets allowed) or none (no pets).

Example value example
verified boolean Optional

true returns verified listings only.

Example value true
has_images boolean Optional

true returns listings with photos only.

Example value true
sort string Optional

relevant (default), recent, cheapest, expensive, newest or ranked.

Example value relevance
page integer Optional

One-based page number, 1 to 100 (default 1).

Example value 1
per_page integer Optional

Listings per page, 1 to 100 (default 20).

Example value 10

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "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.

422

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"
}
503

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.