Centris.ca Scraper - Quebec MLS Property Listings (Canada) API avatar

Centris.ca Scraper - Quebec MLS Property Listings (Canada) API

Pricing

from $0.60 / 1,000 listings

Go to Apify Store
Centris.ca Scraper - Quebec MLS Property Listings (Canada) API

Centris.ca Scraper - Quebec MLS Property Listings (Canada) API

Residential property listings from Centris.ca, the MLS board for Quebec, Canada. Search across regions including Montreal, Quebec City, Laval and Gatineau. One record per listing: URL, price CAD, address, region, city, bedrooms, property type, images. On-demand - fresh every run.

Pricing

from $0.60 / 1,000 listings

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 hours ago

Last modified

Categories

Features

Limited permissions

Share

Centris.ca Scraper: Quebec Property Listings (Canada)

Collect homes for sale from Centris.ca, the Quebec real estate listing service. Pick regions such as Montreal, Quebec City, Laval or Gatineau and get one clean record per listing: asking price in CAD, address, region, city, neighbourhood, bedrooms, bathrooms, property type, photos and the listing URL. Built for investors, brokers, valuation analysts and anyone tracking the Quebec housing market.

What you can do with it

  • Track asking prices by region. Re-run the same regions every week and follow asking prices for condos, houses and plexes.
  • Find investment properties. Filter for Plex and
    Residential income property
    rows to build a shortlist of multi-unit buildings.
  • Spot new listings. Schedule a daily run and compare listing_key values with the previous run to see what came on or went off the market.
  • Feed a valuation model. Prices, bedrooms and bathrooms are typed numbers, ready for a spreadsheet, BI tool or database.

Quick start

  1. Open the Actor in Apify Console. The form starts with four regions.
  2. Keep them, or replace them with the regions you want.
  3. Click Start, then download the dataset as JSON, CSV or Excel.
{"regions": ["Montreal"], "maxPages": 1, "maxResults": 10}

An empty input ({}) uses the defaults: Montreal, Quebec City, Laval and Gatineau, one results page each, stopping at 50 listings.

Input

NameTypeDefaultWhat it does
regionsarrayMontreal, Quebec City, Laval, GatineauQuebec regions or cities to search. Other region or city names are accepted.
maxPagesinteger1Results pages per region, 1 to 10 (about 20 listings per page).
maxResultsinteger50Maximum listings for the whole run, 1 to 200.
requestDelaySecsnumber1.0Pause between results pages, 0.5 to 10 seconds.
proxyUrl, proxyUsername, proxyPasswordstringemptyOptional connection settings. Leave empty to use the Actor's default connection.

Regions are searched in the order you give them; the run stops as soon as maxResults is reached.

Output

One record per listing: listing_key, url, price_cad, address, region, city, neighbourhood, bedrooms, bathrooms, property_type, images, source and scraped_at.

Example record (a Montreal condo; the photo list is empty in this sample):

{
"listing_key": "centris.ca:13088067",
"url": "https://www.centris.ca/en/condos~for-sale~montreal-ville-marie/13088067",
"price_cad": 749000,
"address": "1250 Rue Saint-Denis E. #3, Montréal (Ville-Marie)",
"region": "Montreal Ville Marie",
"city": "Montreal",
"neighbourhood": "Ville Marie",
"bedrooms": 3,
"bathrooms": 4,
"property_type": "Condominium",
"images": [],
"source": "centris.ca",
"scraped_at": "2026-11-09T12:06:31+00:00"
}
  • price_cad: the asking price as a whole number of dollars, or empty when the listing says "Price upon request".
  • region, city, neighbourhood: taken from the listing's location on Centris. neighbourhood is empty when the listing names no sector.
  • property_type: one of Condominium, House, Plex, Residential income property, Farm or Lot.
  • bedrooms and bathrooms: as shown on the listing; empty for lots and for listings that don't show them.
  • listing_key: a stable key (centris.ca: plus the Centris number) for de-duplication and for tracking a listing across runs.
  • scraped_at: when the run collected the record (UTC).

Pricing

Current price: $0.0006 per listing plus a $0.0005 start fee, so 1,000 listings cost about $0.60.

You pay for the listings the run saves; the current rates are on the Actor's Pricing tab. Start with one region and maxResults of 10 to see what a run costs on your plan before scheduling larger runs.

Scheduling

Save your input as a task and add a schedule (for example every morning). Each run returns the listings online at that moment with the same fields, so datasets from different days line up. Compare listing_key values between runs to find new and removed listings.

FAQ

How fresh is the data? Each run reads Centris search results live when it starts. Nothing is cached between runs.

Which areas are supported? The four default regions are mapped. Other Quebec region or city names are converted to Centris's region format, so write them as Centris does; a name it doesn't know returns no listings.

How many listings can I get? Up to 10 pages per region and 200 listings per run. For more, split the work into several runs, for example one per region.

Does it collect rentals or commercial listings? No. It collects residential properties for sale.

Does it open each listing page? No. Records carry the details shown in the search results. Descriptions, lot size, taxes and broker contacts are not included.

What happens if one region fails? The Actor continues with the other regions. If later pages of a region can't be read, that region keeps its first page. The run fails with a message naming each region only when every region fails.

Which export formats are available? JSON, CSV, Excel, XML and the other dataset formats Apify offers, or read the dataset from your own code with the Apify API.

For help, contact Apify Support and include the run URL.