Realtor.ca Scraper
Pricing
from $10.00 / 1,000 results
Realtor.ca Scraper
Scrapes Realtor.ca property listings with filters for location, property type, price, bedrooms, bathrooms, and transaction type. Extracts property details, pricing, agent information, photos, and listing URLs. Exports data in JSON, CSV, Excel, XML, or RSS.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
An Apify actor that scrapes property listings from Realtor.ca.
Features
- Search by city preset (Toronto, Vancouver, Montreal, Calgary, Ottawa, Edmonton, Winnipeg, Quebec City, Hamilton, Halifax) or a custom map bounding box.
- Filter by transaction type (sale / rent), property type, price range, min beds, and min baths.
- Configurable sort order, records per page, max pages, and a hard max items cap.
- Browser TLS/JA3 + HTTP2 fingerprint impersonation via
curl_cffi, with automatic fingerprint rotation and backoff on403 / 429 / 503. - Apify proxy integration (residential recommended).
Input
All fields are optional; sensible defaults are applied. Example:
{"searchMode": "city","city": "toronto","transactionType": "sale","propertyType": "any","priceMin": 500000,"priceMax": 1500000,"bedsMin": 2,"maxPages": 2,"maxItems": 50,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
| Field | Type | Default | Notes |
|---|---|---|---|
searchMode | city | boundingBox | city | How the search area is defined. |
city | enum | toronto | Used in city mode. |
latitudeMax/Min, longitudeMax/Min | string | — | Used in boundingBox mode (all four required). |
transactionType | sale | rent | sale | |
propertyType | enum | any | residential, condo, multi_family, vacant_land, etc. |
priceMin / priceMax | integer | — | CAD. |
bedsMin / bathsMin | integer | — | Minimum count. |
sort | enum | 6-D | Price high→low / low→high, date newest / oldest. |
recordsPerPage | integer | 50 | Max 200. |
maxPages | integer | 3 | Result pages to fetch. |
maxItems | integer | 0 | Total cap; 0 = no cap. |
proxyConfiguration | object | Apify residential |
Custom bounding box mode
Set searchMode to boundingBox and supply all four coordinates (north/south latitude, east/west longitude). You can grab these from the realtor.ca map URL for any area you like.
{"searchMode": "boundingBox","latitudeMax": "43.90","latitudeMin": "43.50","longitudeMax": "-79.10","longitudeMin": "-79.70"}
Output
Each dataset item looks like:
{"mlsNumber": "X1234567","address": "123 King St W, Toronto, ON","latitude": "43.6481","longitude": "-79.3802","price": "$1,200,000","priceUnformatted": "1200000","transactionType": "For sale","propertyType": "Single Family","ownershipType": "Freehold","bedrooms": "3","bathrooms": "2","sizeInterior": "1500 sqft","stories": "2","publicRemarks": "...","parkingType": "Garage","photoUrl": "https://...jpg","photoCount": 12,"brokerage": "Example Realty","agent": "Jane Doe","postalCode": "M5V","listingId": "27123456","url": "https://www.realtor.ca/real-estate/27123456/..."}