Realtor.ca Scraper — MLS Listings, Prices & Details | Map URL avatar

Realtor.ca Scraper — MLS Listings, Prices & Details | Map URL

Pricing

from $7.00 / 1,000 listing records

Go to Apify Store
Realtor.ca Scraper — MLS Listings, Prices & Details | Map URL

Realtor.ca Scraper — MLS Listings, Prices & Details | Map URL

Scrape Realtor.ca MLS listings from any map search URL: price, address, beds/baths, sqft, brokerage, photos + optional detail pages (property taxes, rooms, features, agents). Pagination built in. Export JSON/CSV/Excel.

Pricing

from $7.00 / 1,000 listing records

Rating

0.0

(0)

Developer

Ocrad

Ocrad

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

1

Monthly active users

11 days ago

Last modified

Security

Limited permissions

Share

Realtor.ca Property Scraper


By providing any Realtor.ca map search URL, you can retrieve structured property data across multiple result pages.


📝 Example Output

Basic record (detailedInfo: false):

{
"id": "29702422",
"url": "https://www.realtor.ca/real-estate/29702422/33-richmond-street-brantford",
"mlsNumber": "40821620",
"title": "33 RICHMOND Street, Brantford, Ontario",
"price": "$475,000",
"address": "33 RICHMOND Street",
"city": "Brantford",
"province": "Ontario",
"typeAndIntro": null,
"availability": null,
"tags": ["1 hour ago"],
"imageUrl": "https://cdn.realtor.ca/listings/TS639135846646700000/reb41/medres/0/40821620_1.jpg",
"bedrooms": "3",
"bathrooms": "2",
"squareFeet": "1248",
"brokerage": "Re/Max Escarpment Realty Inc.",
"scrapedAt": "2026-05-05T19:24:42.909Z"
}

Detailed record (detailedInfo: true, additional fields):

{
"typeAndIntro": "Residential Freehold — House",
"propertySummary": {
"Property Type": "Residential Freehold",
"Building Type": "House",
"Storeys": "1.5",
"Square Footage": "1100 - 1500 sqft",
"Land Size": "27 ft ,6 in x 66 ft",
"Annual Property Taxes": "$2,688.69",
"Parking Type": "Detached Garage"
},
"featureGroups": [
{
"groupName": "Interior Features",
"items": [
{ "label": "Appliances Included", "value": "Dryer, Stove, Washer, Refrigerator" },
{ "label": "Basement Type", "value": "Full (Finished)" }
]
},
{
"groupName": "Heating & Cooling",
"items": [
{ "label": "Cooling", "value": "Central air conditioning" },
{ "label": "Heating Type", "value": "Forced air (Natural gas)" }
]
}
],
"rooms": [
{ "name": "Living Room", "storey": "Main", "dimensions": "4.57 x 3.35 m", "flooring": "Hardwood" }
],
"agentNames": ["DANIEL LAMBKIN"],
"officeName": "RE/MAX TWIN CITY REALTY INC.",
"description": "Welcome to this beautifully maintained home..."
}

⚙️ Configuration

ParameterTypeDefaultDescription
urlString(required)Realtor.ca map search URL with filters pre-applied. Must contain a # hash with search parameters.
maxPagesInteger1Number of result pages to scrape (1–1000). Each page typically contains 12–20 listings.
detailedInfoBooleanfalseVisit each listing's detail page for full property data (slower, more data).
proxyConfigurationObjectApify RESIDENTIAL, country CARealtor.ca blocks datacenter IPs, so runs go through Canadian residential proxies by default. Residential traffic carries a small per-run and per-page surcharge (see below).

Example Input

{
"url": "https://www.realtor.ca/map#view=list&CurrentPage=1&Sort=6-D&GeoIds=g30_dpwvmr78&GeoName=Brantford%2C%20ON&PropertyTypeGroupID=1&TransactionTypeId=2&PropertySearchTypeId=1&Currency=CAD",
"maxPages": 5,
"detailedInfo": false,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "CA" }
}

Proxy and pricing

Realtor.ca answers every request from datacenter IPs with HTTP 403, so the Actor uses Apify residential proxies in Canada by default - the only way it returns listings. Residential traffic is billed per gigabyte, which is why runs through it are charged two small extra events on top of the per-record price:

EventWhen
Residential proxy - runonce per run that uses the RESIDENTIAL group
Residential proxy - pageonce per search-results page or listing detail page loaded through it

The Actor blocks images, fonts, map tiles and trackers while browsing, so each page moves as little data as possible. If you set the proxy to another group or turn it off, no surcharge applies, but Realtor.ca will normally block the run and return nothing. Runs that return no listings save a screenshot of the page as DEBUG_LISTING_PAGE in the run's key-value store.

Getting your search URL

  1. Go to realtor.ca
  2. Apply your filters (location, price, property type, transaction type, etc.)
  3. Switch to List view
  4. Copy the full URL from your browser address bar — it will contain a # fragment with all your filters
  5. Paste it as the url input

💬 Support and Feedback

Need help or have suggestions? Reach out via Apify support channels or leave feedback on the Actor's page.


It is legal to scrape publicly available data such as property prices, addresses, and listing details. However, you should be aware that results may contain personal information (agent names, contact details).

Personal data is protected by PIPEDA (Canada) and other regulations. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, please consult your lawyers. You can also read Apify's blog post on the legality of web scraping.