Centris Broker Scraper — Quebec Real Estate Agent Leads avatar

Centris Broker Scraper — Quebec Real Estate Agent Leads

Pricing

from $2.50 / 1,000 broker lead extracteds

Go to Apify Store
Centris Broker Scraper — Quebec Real Estate Agent Leads

Centris Broker Scraper — Quebec Real Estate Agent Leads

Scrape Quebec real estate brokers from the Centris.ca directory at scale. Search by city or region, pull full agency rosters, look up brokers by name, filter by language. Every row includes direct phone, agency, title and profile URL — built for lead generation, recruiting and CRM enrichment.

Pricing

from $2.50 / 1,000 broker lead extracteds

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Centris Broker Scraper — Quebec Real Estate Agent Leads 🚀

SIÁN Agency Store Centris.ca Property Scraper Zillow Agent Scraper Property Skip Tracing

🎉 Every broker row ships with a direct phone number — 200 dialable Quebec real estate leads per $1

Built for lead-gen teams, brokerage recruiters, proptech vendors and CRM ops working the Quebec market


📋 Overview

Need Quebec real estate broker leads? This actor crawls the Centris.ca broker directory — the definitive listing of licensed real-estate brokers across Quebec — and turns it into a clean, dial-ready dataset: name, professional title, direct phone, agency, photo, profile URL and contact URL on every row.

Why professionals choose this scraper:

  • Phone number on every row: no enrichment calls, no per-lead surcharge — the direct line is included in the base price
  • Four verified search filters: crawl by city/region, pull a full agency roster, look up brokers by name, and narrow by language — each filter is live-tested and honored
  • 🎯 Full-market crawls that don't double-charge: automatic pagination with brokerId deduplication — you are charged once per unique broker, never for repeats
  • 💰 Transparent pay-per-result pricing: $0.005 per broker row — 4× cheaper than the closest alternative charging $0.02 per broker
  • 💎 Bilingual language filter: unique to Quebec's FR/EN market — separate French-serving and English-serving brokers for targeted outreach
  • NEW: cohort KPIs in every run report — top-agency concentration, phone coverage and broker-title distribution

✨ Features

  • 📍 City & region crawls: paginate the full broker directory for Montréal, Québec, Gatineau, Laval, Estrie, Laurentides — any Quebec market
  • 🏢 Agency roster mode: pull every broker affiliated with a brokerage brand (e.g. all RE/MAX or VIA CAPITALE brokers) in one run
  • 🔎 Name lookup: find every broker named "Tremblay" across the province
  • 🗣 Language filter: composable with any search — French, English, Spanish, Italian and more
  • 📞 Dial-ready rows: direct phone, agency, professional title, photo, profile URL, contact URL
  • 🔁 Run-level dedup: stable brokerId on every row — dedupe across runs and join to your CRM
  • 📊 Cohort KPIs: distinct-agency counts, top-agency breakdown, phone/photo coverage in the HTML run report
  • 💸 Cost caps built in: maxBrokers hard-caps your spend per run

🎬 Quick Start

Enter a Quebec city, an agency name, or a broker name — the actor paginates the directory, dedupes brokers, and pushes one lead row per unique broker.

curl -X POST https://api.apify.com/v2/acts/sian.agency~centris-agent-scraper/runs?token=YOUR_TOKEN \
-d '{"area": "Montréal", "maxBrokers": 100}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your filters

Enter a city/region (e.g. "Montréal"), an agency (e.g. "RE/MAX"), a broker name (e.g. "Tremblay") — or combine them, optionally with a language filter.

Step 2: Set your cap

Set maxBrokers to control cost — you're only charged per unique broker row returned.

Step 3: Run and export

Click Start. Export your lead list as JSON, CSV or Excel straight from the dataset tab.

That's it! In under a minute, you'll have:

  • A deduplicated broker lead list with direct phones
  • Agency, title and profile URLs on every row
  • An HTML report with market KPIs (top agencies, phone coverage)

📥 Input Configuration

FieldTypeRequiredDescription
areastringNo*Quebec city or region to crawl (e.g. "Montréal", "Estrie")
agencystringNo*Agency/brokerage name or prefix (e.g. "RE/MAX")
brokerNamestringNo*Full or partial broker name (e.g. "Tremblay")
languagestringNoLanguage filter — "French", "English", "Spanish", …
maxBrokersintegerNoMax unique broker rows per run (default 100, up to 2000)

* All filters are composable. If you set none of area, agency, or brokerName, the actor defaults to a "Montréal" directory crawl.

Example — city crawl:

{
"area": "Montréal",
"maxBrokers": 200
}

Example — agency roster with language filter:

{
"agency": "RE/MAX",
"area": "Québec",
"language": "English",
"maxBrokers": 500
}

📤 Output

Results are saved to the Apify dataset with 13 fields per broker, including:

FieldTypeDescription
brokerNamestringBroker display name
brokerTitlestringProfessional designation (e.g. "Residential and Commercial Real Estate Broker")
phonestringDirect phone number
agencystringAffiliated agency/brokerage
brokerIdstringStable directory identifier — dedupe & join key
profileUrlstringPublic broker profile page
contactUrlstringPublic contact-form URL
photostringProfile photo URL
languageFilterstringLanguage filter applied (if any)
modestringDiscovery mode: area / agency / name
scrapedAtstringISO collection timestamp

Example:

{
"brokerId": "c1366",
"brokerName": "Gilles Cohen",
"brokerTitle": "Certified Residential and Commercial Real Estate Broker",
"phone": "+1 514-891-2523",
"agency": "RE/MAX ROYAL (JORDAN) INC.",
"photo": "https://mspublic.centris.ca/media.ashx?id=...",
"profileUrl": "https://www.centris.ca/en/real-estate-broker~gilles-cohen~re-max-royal-jordan-inc.-pointe-claire/c1366",
"contactUrl": "https://www.centris.ca/en/contact-broker/c1366",
"languageFilter": null,
"queryLabel": "area:Montréal",
"mode": "area",
"source": "centris.ca",
"scrapedAt": "2026-07-02T14:00:00.000Z"
}

💼 Use Cases & Examples

1. Broker Lead Generation

Lead-gen teams build dialable Quebec broker lists in minutes instead of days of manual directory copying.

Input: {"area": "Montréal", "maxBrokers": 500} Output: 500 unique brokers with direct phones, agencies and titles Use: Feed your dialer or outreach sequences with fresh, deduplicated real estate broker leads

2. Brokerage Recruiting

Recruiters map a competitor agency's full roster before a hiring push.

Input: {"agency": "RE/MAX", "area": "Laval"} Output: Every RE/MAX-affiliated broker in Laval with title and direct phone Use: Rank recruiting targets by professional title and territory

3. Vendor & Proptech Prospecting

SaaS, photography, staging, mortgage and insurance vendors prospect brokers who serve clients in their language.

Input: {"area": "Québec", "language": "English", "maxBrokers": 300} Output: English-serving brokers in Québec City — a pre-qualified niche segment Use: Language-targeted campaigns in Quebec's bilingual market

4. CRM Enrichment & Dedup

CRM ops teams refresh stale broker records against the live directory.

Input: {"brokerName": "Tremblay"} Output: Current agency affiliation and phone for every matching broker, keyed by stable brokerId Use: Detect brokers who switched brokerages; keep phone fields current

5. Market Mapping

Analysts measure agency concentration per region using the built-in cohort KPIs.

Input: {"area": "Gatineau", "maxBrokers": 1000} Output: Full market crawl + HTML report with top-agency breakdown and title distribution Use: Territory planning, franchise expansion analysis, market-share tracking


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/centris-agent-scraper').call({
area: 'Montréal',
maxBrokers: 200
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/centris-agent-scraper').call(
run_input={'area': 'Montréal', 'maxBrokers': 200}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['brokerName'], item['phone'], item['agency'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~centris-agent-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"agency": "RE/MAX", "maxBrokers": 500}'

Automation Workflows (Zapier / Make / n8n)

  1. Trigger: weekly schedule
  2. HTTP Request: start this actor with your target city
  3. Process: fetch new dataset rows, diff on brokerId
  4. Action: push new brokers into your CRM or outreach tool

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 broker rows per run — full feature access, same data quality
  • All four filters included
  • Perfect for testing a market before scaling
  • Up to 2,000 broker rows per run
  • Full-directory crawls with automatic pagination and dedup
  • Pay-per-result: $0.005 per unique broker row + $0.005 per run start

💰 Best price on the market — the closest Centris broker alternative charges $0.02 per broker row; this actor delivers the same phone-bearing rows at a quarter of the price.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many brokers can I extract? A: FREE tier: 25 rows per run. PAID tier: up to 2,000 unique broker rows per run — run per-region crawls to cover the whole province.

Q: Does every row really include a phone number? A: The directory publishes a direct phone on virtually every broker card, and the run report shows exact phone coverage for your cohort.

Q: Can I get broker emails? A: The public directory does not publish emails — each row includes the official contact-form URL (contactUrl) instead, plus the profile URL.

Q: Do the filters combine? A: Yes — city/region, agency, name and language all compose (e.g. English-serving RE/MAX brokers in Québec City).

Q: What output formats are available? A: JSON, CSV, Excel and XML — export directly from the Apify dataset tab or via API.

Q: Am I charged for duplicate brokers? A: No. Rows are deduplicated on brokerId within a run — you are charged once per unique broker returned.

Q: Is this legal? A: The actor only collects business contact data brokers publish on their public directory profiles. See the legal section below.


🐛 Troubleshooting

Run finishes with 0 rows

  • Check the spelling of your filters — try the French spelling for cities (e.g. "Montréal", "Québec")
  • Broaden the search: drop the language filter or use a shorter agency prefix ("RE/MAX" instead of a full office name)

Fewer rows than expected

  • Small markets genuinely have few brokers — the actor stops when the directory is exhausted
  • Raise maxBrokers if you hit your own cap (check the run log for the cap notice)

A broker appears in two different runs

  • Cross-run dedup is up to you — use the stable brokerId field as your merge key

⚠️ Trademark Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Centris or the Quebec Professional Association of Real Estate Brokers (QPAREB/APCIQ). "Centris" is a trademark of its respective owner. All data is collected from publicly accessible broker directory pages.


Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools