Realtor.ca Scraper avatar

Realtor.ca Scraper

Pricing

$3.00 / 1,000 listing returneds

Go to Apify Store
Realtor.ca Scraper

Realtor.ca Scraper

Scrape Realtor.ca (Canada national MLS) — full property details, search listings by location/postal code/coordinates/polygon/URL, agent profiles, and search-box autocomplete. Backed by realtyapi.io real-time API.

Pricing

$3.00 / 1,000 listing returneds

Rating

0.0

(0)

Developer

ONE API

ONE API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape Realtor.ca (Canada's national MLS listings site) — full property details, search listings, agent profiles, and search-box autocomplete — all from one Actor. Backed by realtyapi.io's real-time Realtor.ca API.

⭐️ Found this useful? Please leave 5 stars! Issues / requests: 📬 support@realtyapi.io


What you can do

SectionWhat it doesInput format
🏠 Property DetailsFull details for a specific listingRealtor.ca property_id digits, listing URL, or full street address — auto-detected per row
🔎 Search ListingsPaginated search with filterslocation string, Canadian postal code, lat,lng,radius_mi, polygon (lon lat,lon lat,...), or Realtor.ca search URL
🔍 AutocompleteSearch-box suggestions (cities, postal codes, MLS, addresses)partial query string
👤 Agent SearchFind agents by name or locationfree-text query
👤 Agent DetailsFull agent profile (bio, specialties, areas served, listings)agentId from any agent search row

You can fill any combination of sections in a single run — leave the others empty.


Output

Each listing / property / agent / autocomplete suggestion is pushed as one dataset row, flattened to friendly columns plus a Raw column with the original JSON.

ModeInput GivenProperty IDMLS NumberPriceBedsBathsAddressProvincePostal CodeAgent NameOrganization NameListing URLRaw
search/bylocationToronto, Ontario (p1)29729754W13108736$529,999221811 - 30 ELM DRIVE W|Mississauga (Fairview), Ontario L5B0N6OntarioL5B0N6Jane SmithRoyal LePagehttps://www.realtor.ca/...{...}
details/byid2972975429729754W13108736$529,999221811 - 30 ELM DRIVE W|MississaugaOntarioL5B0N6Jane SmithRoyal LePagehttps://www.realtor.ca/...{...}

Plus: Price Raw (numeric), Half Baths, Size Interior, Land Size, Property Type, Ownership Type, Transaction Type, Latitude, Longitude, Time on Realtor, Inserted Date, Last Updated, Photos (cover URL), Photo Count, Agent Phone.

For nested/large fields (full photo arrays, building amenities, all agents, history, etc.) the complete upstream JSON is in the Raw column.


Sample input

{
"property_inputs": [
"29729754",
"https://www.realtor.ca/real-estate/29729754/1811-30-elm-drive-w-mississauga-fairview",
"30 Elm Drive W, Mississauga, ON"
],
"search_inputs": ["Toronto, Ontario", "M5V 2T6", "43.6532,-79.3832,3"],
"searchType": "For_Sale",
"propertyType": "Residential",
"priceRange": "min:500000,max:1500000",
"beds": "2+",
"sortOrder": "Newest",
"pages": 2,
"resultCount": 50,
"autocomplete_inputs": ["Yorkville"],
"agent_search_inputs": ["Toronto"],
"agent_detail_inputs": ["1633952"]
}

Search filters (apply to all search_inputs)

  • searchTypeFor_Sale (default) | For_Rent | Sold
  • propertyType — comma list of Residential, Recreational, Condo, Land, Agriculture, Parking, MultiFamily, Business, Retail, Industrial, Office, Hospitality, Institutional (Realtor.ca only accepts one PropertySearchTypeId per call; if you supply multiple, the first wins)
  • priceRange / sqftRange / lotSizeRange / yearBuiltRangemin:X | max:Y | min:X,max:Y
  • beds / baths3 (3+), 3+, or min:3,max:5
  • sortOrderNewest, Oldest, Price_Low_to_High, Price_High_to_Low, Open_Houses_First, More_Photos_First, Virtual_Tour_First
  • pages — how many pages to fetch (1–50). Each page = resultCount listings.
  • resultCount — 1–200 per page, default 50
  • ownershipAny | Freehold | Condo | TimeShare | Leasehold
  • soldWithinDays — only when searchType=Sold; 30 / 90 / 365 / empty
  • openHouseOnly / hasGarage / hasPool / hasFireplace / hasAirConditioning / publicOffersOnly — toggles
  • keywords — free-text amenities (e.g. waterfront, finished basement)

Filters apply to every search_inputs row in the run.


Pricing

Pay per result — you only pay for dataset items the Actor pushes. Failed inputs return a row with Status: ERROR: ... and are billed the same as a successful row.

To cap spend, set Max paid dataset items on the run page.


Tips

  • Need just one property? Use the property_inputs section — auto-detects property_id, URL, or address.
  • Pull all listings in a city? Use search_inputs: ["City, Province"] and crank pages (each page is up to 200 results).
  • Use a lat/lng circle? Format: 43.6532,-79.3832,3 (last value is radius in miles).
  • Polygon? lon lat,lon lat,lon lat,... — note longitude first (GeoJSON convention).
  • Resolve a Realtor.ca URL? Drop a search or detail URL straight into the matching section — both byurl modes parse the URL into the right call internally.
  • Looking up agents? Use agent_search_inputs for discovery, then take id values from the result and feed them into agent_detail_inputs for the full profile.