Discover/Centris API
live

Centris APIcentris.ca

Search and retrieve Quebec real estate listings from Centris.ca. Access prices, addresses, room counts, photos, and rental data via 6 structured endpoints.

This API takes change requests — .
Endpoint health
verified 1d ago
search_intergenerational_montreal
search_listings
get_listing_details
search_plex_montreal
search_houses_keywords_montreal
6/6 passing latest checkself-healing
Endpoints
6
Updated
22d ago

What is the Centris API?

The Centris.ca API provides access to Quebec real estate data through 6 endpoints covering for-sale and rental listings, plex properties, intergenerational homes, and keyword-filtered searches. The get_listing_details endpoint returns a full property record including price, address, bedroom and bathroom counts, room totals, description text, property type, and an array of photo URLs — all keyed by a Centris listing ID.

This call costs1 credit / call— charged only on success
Try it
Maximum number of listings to return.
api.parse.bot/scraper/3937f45a-c256-4bc2-bc85-6b630ec600a5/<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/3937f45a-c256-4bc2-bc85-6b630ec600a5/search_listings?limit=5' \
  -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 centris-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: Centris Real Estate API — search rentals, browse for-sale listings, drill into details."""
from parse_apis.Centris_Real_Estate_API import Centris, ListingNotFound

client = Centris()

# Search rental listings in Montreal within a budget
for rental in client.listing_summaries.search_rentals(location="Montreal", max_price=2000, limit=3):
    print(rental.price, rental.address, rental.property_type)

# Search for-sale listings and drill into the first result's full details
summary = client.listing_summaries.search(limit=1).first()
if summary:
    detail = summary.details()
    print(detail.price, detail.address, detail.property_type)

# Search plex properties in Montreal
for plex in client.listing_summaries.search_plex(min_price=800000, max_price=1500000, limit=3):
    print(plex.id, plex.price, plex.address)

# Typed error handling for a non-existent listing
try:
    gone = client.listingsummary(id="99999999").details()
    print(gone.price)
except ListingNotFound as exc:
    print(f"Listing not found: {exc.listing_id}")

print("exercised: listing_summaries.search_rentals / search / search_plex / details")
All endpoints · 6 totalmissing one? ·

Search for residential real estate listings for sale across Quebec. Returns a paginated list of property listing summaries. Each summary includes id, URL, price, address, and a description teaser. Use get_listing_details with an id from the results to fetch full property information.

Input
ParamTypeDescription
limitintegerMaximum number of listings to return.
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing summaries each containing id, url, price, price_value, address, and description_teaser"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": "20102820",
          "url": "https://www.centris.ca/en/houses~for-sale~laval-sainte-rose/20102820",
          "price": "$499,999",
          "address": "7035, Rue Galarneau\nLaval (Sainte-Rose)",
          "price_value": "499999",
          "description_teaser": "House for sale"
        }
      ]
    },
    "status": "success"
  }
}

About the Centris API

Search and Filter Listings

The search_listings endpoint returns paginated summaries of residential for-sale properties across Quebec. Each summary includes id, url, price, price_value, address, and a description_teaser. The limit parameter controls page size. Rental equivalents are available through search_rentals, which adds a property_type field per result and accepts location, min_price, and max_price filters to narrow by city or monthly rent range.

Specialized Property Searches

search_plex_montreal targets multi-unit properties (duplex through quintuplex) on the Island of Montreal and accepts min_price and max_price bounds in CAD. search_intergenerational_montreal focuses on intergenerational homes in the same region with a max_price cap. Both return the same summary shape — id, url, price, price_value, address, and description_teaser — designed to be passed directly into get_listing_details for full records.

Keyword and Room-Count Filtering

search_houses_keywords_montreal applies a secondary filter layer on top of Montreal single-family house results. It accepts min_rooms to enforce a minimum room count and matches listings whose descriptions contain terms like "bachelor" or "intergenerational". Results from this endpoint are full detail objects — not summaries — and include id, url, price, address, property_type, description, and financial fields, sparing you the extra get_listing_details call.

Full Listing Details

get_listing_details accepts a listing_id (numeric string) and returns the complete property record: formatted price, address, bedrooms, bathrooms, rooms, property_type, description, a photos array of image URLs, and url. Tax assessment and other financial details are included where present on the source listing. Every search endpoint's results expose the id field needed to call this endpoint.

Reliability & maintenanceVerified

The Centris API is a managed, monitored endpoint for centris.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when centris.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 centris.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
1d ago
Latest check
6/6 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
  • Aggregate Montreal plex listings within a price range to build an investment property tracker.
  • Pull photos, price, and address from get_listing_details to populate a property comparison tool.
  • Use search_rentals with a location filter to monitor rental prices across Quebec cities.
  • Filter Montreal houses by min_rooms and keyword match to surface intergenerational-ready properties.
  • Collect price_value from search results over time to chart Quebec real estate price trends.
  • Build a notification system that alerts users when new plex listings appear under a max_price threshold.
  • Extract description and property_type fields to train a real estate text classification model on Quebec listings.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Centris.ca have an official developer API?+
Centris does not publish a public developer API or API documentation for third-party access to its listing data.
What does `get_listing_details` return beyond what the search endpoints provide?+
get_listing_details returns fields not present in search summaries: bedrooms, bathrooms, rooms, description (full text), photos (array of image URLs), property_type, and financial details such as tax assessments. Search endpoints return only id, url, price, price_value, address, and description_teaser.
Does `search_listings` support filtering by city, property type, or price range?+
The general search_listings endpoint currently accepts only a limit parameter. Location and price filtering is available on search_rentals (via location, min_price, max_price) and on the plex/intergenerational endpoints (via min_price, max_price). You can fork this API on Parse and revise search_listings to add those filter parameters.
Does the API cover commercial real estate or land listings?+
Not currently. The six endpoints cover residential for-sale properties, plexes, intergenerational homes, keyword-filtered Montreal houses, and residential rentals. Commercial properties and vacant land are not included. You can fork the API on Parse and revise it to add an endpoint targeting those listing categories.
Are sold or off-market listings accessible through the API?+
The API returns active listings only. Sold, expired, or off-market records are not part of any current endpoint's results. You can fork the API on Parse and revise it to target historical or sold listing data if that becomes accessible on the source.
Page content last updated . Spec covers 6 endpoints from centris.ca.
Related APIs in Real EstateSee all →
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
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.
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.
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.
zoocasa.com API
Search Canadian real estate listings on Zoocasa and retrieve detailed property information including active listings, sold homes, and rental properties. Access comprehensive listing details and discover comparable properties by location, property type, and listing status.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
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.
pararius.com API
Search and browse rental property listings on Pararius.com. Filter by city, price, size, and furnishing; retrieve full property details; look up listings by estate agent; and autocomplete location queries.