Discover/realtor.ca API
live

realtor.ca APIrealtor.ca

Search and retrieve Canadian real estate listings from REALTOR.ca. Get MLS data, property details, photos, pricing, agent info, and pagination via 2 endpoints.

Endpoints
2
Updated
10d ago
Try it
Sort order: 6-D (price descending), 6-A (price ascending), 1-A (newest first)
Maximum price filter. Omitting returns all prices above price_min.
Minimum price filter
Minimum number of bedrooms. Omitting returns all bedroom counts.
Page number for pagination
Maximum latitude of search bounding box
Minimum latitude of search bounding box
Maximum longitude of search bounding box
Minimum longitude of search bounding box
Building type filter ID. Omitting returns all building types.
Number of results per page (max 50)
Transaction type: 2 (for sale), 3 (for rent)
Property type group: 1 (residential)
Property search type: 1 (residential), 0 (all)
api.parse.bot/scraper/74c62a3e-07d2-4eb2-a736-d1542f09450d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/74c62a3e-07d2-4eb2-a736-d1542f09450d/search_listings?current_page=1&records_per_page=3' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalclick to expand

Search for property listings within a geographic bounding box with price and property filters. Returns paginated results.

Input
ParamTypeDescription
sortstringSort order: 6-D (price descending), 6-A (price ascending), 1-A (newest first)
price_maxstringMaximum price filter. Omitting returns all prices above price_min.
price_minstringMinimum price filter
bedrooms_minstringMinimum number of bedrooms. Omitting returns all bedroom counts.
current_pagestringPage number for pagination
latitude_maxstringMaximum latitude of search bounding box
latitude_minstringMinimum latitude of search bounding box
longitude_maxstringMaximum longitude of search bounding box
longitude_minstringMinimum longitude of search bounding box
building_type_idstringBuilding type filter ID. Omitting returns all building types.
records_per_pagestringNumber of results per page (max 50)
transaction_type_idstringTransaction type: 2 (for sale), 3 (for rent)
property_type_group_idstringProperty type group: 1 (residential)
property_search_type_idstringProperty search type: 1 (residential), 0 (all)
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing objects with id, mls_number, url, address, price, bedrooms, bathrooms, photos, agents, and more",
    "pagination": "object containing current_page, total_pages, total_records, records_per_page, records_showing"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": "29713601",
          "url": "https://www.realtor.ca/real-estate/29713601/6123-edenwood-drive-mississauga-meadowvale",
          "media": [
            {
              "url": "https://edenwood6123.lovable.app/",
              "type": "VideoTourWebsite"
            }
          ],
          "price": "$1,349,900",
          "agents": [
            {
              "name": "Jane Doe",
              "phones": [
                {
                  "type": "Telephone",
                  "number": "+1 (555) 012-3456"
                }
              ],
              "position": "Salesperson",
              "brokerage": {
                "logo": "",
                "name": "EXP REALTY",
                "phones": [
                  {
                    "type": "Telephone",
                    "number": "+1 (555) 012-3456"
                  }
                ],
                "address": "4711 YONGE ST 10TH FLR|TORONTO, Ontario M2N6K8",
                "website": "",
                "designation": "Brokerage"
              },
              "has_email": true,
              "last_name": "Doe",
              "first_name": "Jane",
              "profile_url": "https://www.realtor.ca/agent/2095298/jane-doe-..."
            }
          ],
          "photos": [
            {
              "low_res": "https://cdn.realtor.ca/listings/TS639137400819030000/reb82/lowres/8/w13094378_1.jpg",
              "med_res": "https://cdn.realtor.ca/listings/TS639137400819030000/reb82/medres/8/w13094378_1.jpg",
              "high_res": "https://cdn.realtor.ca/listings/TS639137400819030000/reb82/highres/8/w13094378_1.jpg"
            }
          ],
          "address": "6123 EDENWOOD DRIVE|Mississauga (Meadowvale), Ontario L5N2Y6",
          "parking": [
            "Attached Garage"
          ],
          "stories": "2",
          "bedrooms": "4",
          "latitude": "43.5691963",
          "lot_size": "46.3 x 151.7 FT",
          "province": "Ontario",
          "bathrooms": "4",
          "longitude": "-79.7457792",
          "price_raw": "1349900",
          "status_id": "1",
          "floor_area": "2000+ sqft",
          "mls_number": "W13094378",
          "description": "Welcome to 6123 Edenwood Dr...",
          "listed_time": "19 min ago",
          "postal_code": "L5N2Y6",
          "lot_frontage": "46 ft ,3 in",
          "building_type": "House",
          "property_type": "Single Family",
          "size_interior": "185.8045 m2",
          "half_bathrooms": "1",
          "ownership_type": "Freehold",
          "parking_spaces": "4"
        }
      ],
      "pagination": {
        "total_pages": 200,
        "current_page": 1,
        "total_records": 6250,
        "records_showing": 600,
        "records_per_page": 3
      }
    },
    "status": "success"
  }
}

About the realtor.ca API

The REALTOR.ca API provides access to Canadian MLS property listings through 2 endpoints: search_listings for geographic bounding-box searches with price, bedroom, and sort filters, and get_listing_details for full property data on a specific MLS number. Responses include structured fields for price, address, bedrooms, bathrooms, parking, agent contacts, brokerage details, and multi-resolution photo URLs.

Search Listings by Geography and Filters

The search_listings endpoint accepts a geographic bounding box defined by latitude_min, latitude_max, and longitude_max (along with implied longitude minimum) to return MLS listings within that area. You can narrow results with price_min, price_max, and bedrooms_min, and control ordering with the sort parameter — 6-D for price descending, 6-A for price ascending, or 1-A for newest first. Pagination is handled via current_page, and every response includes a pagination object with current_page, total_pages, total_records, and records_per_page so you can walk through large result sets.

Listing Detail Fields

The get_listing_details endpoint takes a single required input — property_id, which is an MLS number such as W13040146 — and returns a full property record. That record includes price (formatted with currency symbol), address, bedrooms, stories, parking (as an array of type strings), photos with high_res, med_res, and low_res URL variants, and media as an array of typed media objects. Agent data comes back as an array under agents, with each entry containing name, position, phones, and brokerage details.

MLS Number Lifecycle

MLS numbers are tied to active listings and expire when a property is removed from the market. Passing an expired or invalid property_id to get_listing_details returns a stale_input response with kind input_not_found rather than an error. For any production use, MLS numbers should be sourced from fresh search_listings results via results[*].mls_number to minimize stale lookups.

Coverage Scope

The API covers publicly listed properties across Canada on REALTOR.ca, including residential listings with bedroom, bathroom, parking, and multi-resolution photo data. Listing URLs are returned in both endpoints, pointing directly to the canonical REALTOR.ca page for each property.

Common use cases
  • Build a Canadian property search map using bounding-box coordinates and price filters from search_listings
  • Display MLS listing cards with multi-resolution photos and formatted price from get_listing_details
  • Track agent and brokerage contact details for lead generation or CRM enrichment
  • Monitor new listings in a target area by polling search_listings sorted by 1-A (newest first)
  • Filter properties by minimum bedroom count and maximum price for a buyer-facing search tool
  • Paginate through large metropolitan result sets using the pagination.total_pages field
  • Build a listing detail page with parking type arrays, stories, and full agent phone data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does REALTOR.ca have an official developer API?+
REALTOR.ca does not offer a public developer API. Data access is restricted to its member MLS boards and affiliated brokerages through proprietary RETS or DDF feeds, which require a membership agreement and are not generally available to independent developers.
What does `search_listings` return beyond basic price and address?+
Each listing object in the results array includes the MLS number, a direct URL to the listing on REALTOR.ca, bedroom and bathroom counts, photos (with multiple resolution tiers), and an agents array with name and brokerage data. The pagination object in the response tells you total_records and total_pages so you can iterate through result sets page by page.
What happens when I request details for a listing that has been sold or removed?+
The get_listing_details endpoint returns a stale_input response with kind input_not_found for any MLS number that is expired or invalid. To reduce stale lookups, always source property_id values from recent search_listings results rather than storing MLS numbers long-term.
Does the API return rental listings or commercial properties?+
The current endpoints are designed around residential MLS listings and their associated fields (bedrooms, bathrooms, parking, stories). Rental-specific or commercial property filtering is not currently exposed as a distinct parameter. You can fork this API on Parse and revise it to add endpoints or filter parameters targeting those listing types.
Is historical listing data or sold price history available?+
Not currently. Both endpoints return data for active listings only — there is no sold price history, days-on-market, or delisted property record in the response fields. You can fork the API on Parse and revise it to add an endpoint targeting historical or sold listing data if that surface becomes accessible.
Page content last updated . Spec covers 2 endpoints from realtor.ca.
Related APIs in Real EstateSee all →
padmapper.com API
Search and browse rental listings across cities with detailed property information including prices, contact details, and market trends. Discover apartments and homes through city-wide searches or map-based exploration, and access comprehensive listing details to help you find your next rental.
casa.it API
Search and browse property listings from Casa.it, Italy's real estate marketplace. Retrieve listings by location, price, size, property type, and transaction type (sale or rent), and fetch full details for individual properties including descriptions, photos, features, and publisher information.
catastro.minhap.es API
Search Spanish property records by address, coordinates, or cadastral reference to find detailed land parcel information, ownership details, and location data across all Spanish provinces and municipalities. Browse the complete hierarchy of Spanish geographic and administrative divisions including provinces, municipalities, and streets to pinpoint exact property locations.
immobiliare.it API
Search Italian property listings for sale or rent, browse real estate agencies, and explore price trends across Italian cities — all via immobiliare.it.
amberstudent.com API
Search student accommodation listings across popular cities and access comprehensive property information including room types, pricing trends, and tenant reviews. Get detailed insights into student housing options to compare amenities, prices, and community feedback all in one place.
zapimoveis.com.br API
Search and filter real estate listings across Brazil on ZAP Imóveis — the country's largest property portal. Retrieve listings for sale or rent with detailed attributes including price, location, size, bedrooms, bathrooms, parking, and amenities. Supports location autocomplete, property type discovery, and full listing detail retrieval.
homes.com API
Search for real estate agents and properties available for sale or rent, while accessing detailed agent profiles with their 1-year transaction history, active listings, and performance statistics. Get comprehensive property details and agent information all in one place to help you find the right agent or property that matches your needs.
idealista.pt API
Search and filter property listings across Portugal by location, price, and size, then access detailed information about each property including its characteristics and pricing history. Monitor how property prices change over time to help you make informed decisions about buying or selling real estate.