Discover/Rentals API
live

Rentals APIrentals.ca

Search and retrieve Canadian rental listings from Rentals.ca. Filter by city, bedrooms, bathrooms, and price. Get full property details including floor plans and amenities.

Endpoint health
verified 6d ago
get_listing_details
search_listings
get_listings_by_city
3/3 passing latest checkself-healing
Endpoints
3
Updated
22d ago

What is the Rentals API?

The Rentals.ca API provides access to Canadian rental listings across 3 endpoints, covering cities like Toronto, Vancouver, Montreal, Calgary, and Ottawa. Use search_listings to query listings with filters for bedrooms, bathrooms, and price range, get_listing_details to retrieve full property information by listing ID, or get_listings_by_city to browse all active rentals in a given city with pagination support.

Try it
City slug for the search area (e.g., 'toronto', 'montreal', 'vancouver', 'calgary', 'ottawa').
Page number for pagination.
Number of results per page.
Filter by number of bedrooms.
Filter by minimum number of bathrooms.
Maximum rent price filter.
Minimum rent price filter.
api.parse.bot/scraper/049153a1-4159-4897-8351-c96ef08f1c37/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/049153a1-4159-4897-8351-c96ef08f1c37/search_listings?city=toronto&page=1&limit=5&bedrooms=2&bathrooms=1&max_price=5000&min_price=1000' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 rentals-ca-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: Rentals.ca SDK — search listings, drill into details, browse by city."""
from parse_apis.rentals_ca_api import Rentals, ListingSummary, Listing, ListingNotFound

client = Rentals()

# Search for 2-bedroom rentals in Toronto under $3000/month
for listing in client.listingsummaries.search(city="toronto", bedrooms=2, max_price=3000, limit=3):
    print(listing.title, listing.rent_range, listing.beds_range)

# Drill into the first result for full property details
summary = client.listingsummaries.search(city="vancouver", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.name, detail.type, detail.verified)
    print(detail.address.street, detail.address.postal_code)
    for plan in detail.floor_plans[:3]:
        print(plan.beds, plan.baths, plan.rent, plan.size)

# Fetch a listing directly by ID
try:
    full = client.listings.get(id="cmVudGFsbGlzdGluZzoyNTcxNjk=")
    print(full.name, full.listing_type)
    print(full.building.stories, full.building.year_built)
except ListingNotFound as exc:
    print(f"Listing not found: {exc.listing_id}")

# Browse all Montreal listings
for item in client.listingsummaries.by_city(city="montreal", limit=3):
    print(item.title, item.url, item.property_type)

print("exercised: listingsummaries.search / summary.details / listings.get / listingsummaries.by_city")
All endpoints · 3 totalmissing one? ·

Search for rental listings in a specific Canadian city with optional filters for bedrooms, bathrooms, and price range. Returns paginated results with listing summaries including rent range, bed/bath counts, and location coordinates. The city parameter accepts slugs like 'toronto', 'montreal', 'vancouver'. Pagination advances via the page parameter; total_count in the response gives the full result set size.

Input
ParamTypeDescription
citystringCity slug for the search area (e.g., 'toronto', 'montreal', 'vancouver', 'calgary', 'ottawa').
pageintegerPage number for pagination.
limitintegerNumber of results per page.
bedroomsintegerFilter by number of bedrooms.
bathroomsnumberFilter by minimum number of bathrooms.
max_pricenumberMaximum rent price filter.
min_pricenumberMinimum rent price filter.
Response
{
  "type": "object",
  "fields": {
    "city": "string, the city slug used for the search",
    "page": "integer, current page number",
    "limit": "integer, number of results per page",
    "listings": "array of listing summary objects with id, title, path, url, rent_range, beds_range, baths_range, location, verified, and property_type",
    "total_count": "integer, total number of matching listings",
    "total_floor_plans": "integer, total number of floor plans across all matching listings"
  },
  "sample": {
    "data": {
      "city": "toronto",
      "page": 1,
      "limit": 5,
      "listings": [
        {
          "id": "cmVudGFsbGlzdGluZzoyNTcxNjk=",
          "url": "https://rentals.ca/york/the-heathview",
          "path": "york/the-heathview",
          "title": "The Heathview",
          "location": [
            -79.414559,
            43.685894
          ],
          "verified": true,
          "beds_range": [
            1,
            2
          ],
          "rent_range": [
            2495,
            5895
          ],
          "baths_range": [
            1,
            2.5
          ],
          "property_type": "apartment"
        }
      ],
      "total_count": 8588,
      "total_floor_plans": 12334
    },
    "status": "success"
  }
}

About the Rentals API

Search and Filter Listings

The search_listings endpoint accepts a city slug along with optional filters: bedrooms, bathrooms, min_price, max_price, page, and limit. Results include an array of listing summary objects, each carrying id, title, url, rent_range, beds_range, baths_range, location coordinates, and a verified flag. The response also includes total_count (total matching listings) and total_floor_plans (aggregate floor plan count across results), which are useful for building pagination UI or estimating inventory depth.

Listing Details

The get_listing_details endpoint takes a base64-encoded listing_id — the same id field returned by search results — and returns the full property record. This includes a structured address object with street, postalCode, city, and neighbourhood; a contact object with name, phoneNumber, and email; parking details covering parkingTypes and parkingSpotsPerRental; and building metadata such as totalUnits, stories, and yearBuilt. Geographic coordinates are returned as a [longitude, latitude] array in the location field.

City-Level Browsing

The get_listings_by_city endpoint mirrors the structure of search_listings but requires a city slug and omits bedroom, bathroom, and price filters. It is suitable for building city-level inventory views or computing aggregate statistics across a market. The total_count and total_floor_plans fields in the response give a snapshot of supply in each city without needing to iterate all pages.

Reliability & maintenanceVerified

The Rentals API is a managed, monitored endpoint for rentals.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rentals.ca 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 rentals.ca 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.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a rental market tracker comparing total_count and rent_range across Canadian cities over time.
  • Create a listing alert tool that monitors new entries via search_listings with min_price/max_price filters.
  • Populate a neighbourhood-level map using location coordinates and address.neighbourhood from listing details.
  • Generate landlord contact lists for a given city using contact.phoneNumber and contact.email from get_listing_details.
  • Filter listings by bedrooms and bathrooms to match specific tenant profiles in apartment-finding tools.
  • Enrich real estate datasets with building.yearBuilt, building.stories, and building.totalUnits for property analysis.
  • Display verified-only listings by filtering on the verified boolean in search result summaries.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Rentals.ca have an official developer API?+
Rentals.ca does not publish a public developer API or documentation for third-party access to its listing data.
What does `get_listing_details` return beyond what appears in search results?+
search_listings and get_listings_by_city return summary fields: title, rent_range, beds_range, baths_range, location, and verified. get_listing_details adds structured address (including neighbourhood and postalCode), contact (name, phone, email), parking (types and spots), building (units, stories, year built), and the property type. You need the base64 id from a summary result to call this endpoint.
Can I filter listings by neighbourhood or property type?+
Not currently. The search_listings endpoint supports filtering by city, bedrooms, bathrooms, min_price, and max_price. Neighbourhood and property-type filters are not available as inputs, though address.neighbourhood and type are present in detail responses. You can fork this API on Parse and revise it to add those filter parameters.
Does the API cover all Canadian provinces, or only major cities?+
The city parameter currently accepts slugs for major Canadian cities including Toronto, Montreal, Vancouver, Calgary, and Ottawa. Smaller cities and rural areas are not confirmed to be covered. You can fork this API on Parse and revise it to test or add additional city slugs for broader geographic coverage.
How does pagination work across the search endpoints?+
All three endpoints support page and limit parameters. The response includes total_count so you can calculate the number of pages needed. There is no cursor-based pagination; page numbers are integer-indexed starting from 1.
Page content last updated . Spec covers 3 endpoints from rentals.ca.
Related APIs in Real EstateSee all →
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.
realtor.ca API
Search Canadian real estate listings and retrieve detailed property information including photos, prices, descriptions, and agent details from REALTOR.ca. Browse available properties with comprehensive listing data across Canada.
condos.ca API
Search and browse comprehensive condo listings across Canada while accessing detailed building information, neighbourhood statistics, and mortgage calculators to make informed real estate decisions. Get instant market data, compare properties, and estimate mortgage payments all from one integrated platform.
kijiji.ca API
Search and browse Kijiji listings across categories like rentals, pets, and jobs, while viewing detailed information about specific ads along with available locations and categories. Filter through thousands of Canadian classifieds to find exactly what you're looking for in your area.
centris.ca API
Search and retrieve real estate listings from Centris.ca, Canada's largest real estate platform. Filter by location, property type, price range, and keywords to find houses, condos, plexes, and multi-generational properties across Quebec. Get detailed listing information including price, address, room counts, and photos.
rent.com API
Browse and extract rental property data from Rent.com. Search listings by location and filter by beds, baths, price, and pet policy. Retrieve full property details, floor plans, unit availability, amenities, nearby schools, points of interest, and active specials.
padmapper.com API
Search and browse rental listings across cities with detailed property information including prices, contact details, and market trends. Discover apartments and homes through city-wide searches or map-based exploration, and access comprehensive listing details to help you find your next rental.
Pararius.nl API
Search and browse rental properties across the Netherlands from Pararius.nl, with filtering by city and detailed property information including pricing, location, and amenities. Access paginated listings to easily discover available rentals that match your needs.