Discover/Condos API
live

Condos APIcondos.ca

Access condo listings, pre-construction developments, neighbourhood market stats, mortgage rates, and building details from Condos.ca via 7 structured endpoints.

Endpoint health
verified 13h ago
search_listings
get_listing_detail
get_mortgage_rates
get_neighbourhood_stats
get_building_detail
7/7 passing latest checkself-healing
Endpoints
7
Updated
22d ago

What is the Condos API?

The Condos.ca API exposes 7 endpoints covering active condo listings, pre-construction developments, building pages, neighbourhood market statistics, and Canadian mortgage rates. The search_listings endpoint returns paginated MLS results with asking price, bed type, square footage, and neighbourhood name, while get_neighbourhood_stats delivers historical sold/leased price data and current market averages for any Toronto-area locality or neighbourhood.

Try it
Bedrooms filter in range format: '1-1' for 1BD, '1.1-1.9' for 1+1, '2-2' for 2BD, '3-3' for 3BD. The decimal represents den presence.
Listing mode.
Page number (0-indexed).
Sort order.
Max results per page.
Text search query.
Maximum square footage.
Minimum square footage.
Maximum price filter.
Minimum price filter.
Locality ID (1 for Toronto).
Neighbourhood ID to filter by.
Neighbourhood URL slug (e.g., 'toronto/king-west') to auto-resolve neighbourhood or locality ID.
api.parse.bot/scraper/76380264-a705-4e8f-a5ac-70c7c676e2e7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/76380264-a705-4e8f-a5ac-70c7c676e2e7/search_listings?beds=1-1&mode=Sale&page=0&sort=newest&limit=5&locality_id=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace condos-ca-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Condos.ca SDK — search listings, explore buildings, mortgage tools."""
from parse_apis.condos_ca_api import Condos, Sort, ListingMode, Beds, ListingNotFound

condos = Condos()

# Search rental listings filtered by 1-bedroom, sorted cheapest first
for listing in condos.listings.search(mode=ListingMode.RENT, sort=Sort.CHEAPEST, beds=Beds._1_1, limit=5):
    print(listing.title, listing.asking_price, listing.bed_type, listing.neighbourhood_name)

# Drill into a single listing's full detail page
listing = condos.listings.search(mode=ListingMode.SALE, sort=Sort.NEWEST, limit=1).first()
if listing:
    detail = listing.details()
    print(detail.component, detail.area_type)

# Search pre-construction developments
for building in condos.buildings.search(query="king", limit=3):
    print(building.name, building.construction_status, building.developers)

# Constructible neighbourhood — get stats and browse listings
king_west = condos.neighbourhood("toronto/king-west")
stats = king_west.stats()
print(stats.display_name, stats.sold_count, stats.sold_avg_price)

# Get current mortgage rates
for rate in condos.mortgagerates.list(purchase_price=800000, down_payment=160000, limit=3):
    print(rate.lender_name, rate.rate, rate.mortgage_term, rate.monthly_payment)

# Calculate a mortgage payment
calc = condos.mortgagecalculations.calculate(price=800000, down_payment=160000, rate=5.0, years=25)
print(calc.principal, calc.monthly_payment, calc.total_interest)

# Typed error handling
try:
    bad = condos.neighbourhood("toronto/nonexistent-area-xyz")
    bad.stats()
except ListingNotFound as exc:
    print(f"Area not found: {exc.slug}")

print("exercised: listings.search / listing.details / buildings.search / neighbourhood.stats / mortgagerates.list / mortgagecalculations.calculate")
All endpoints · 7 totalmissing one? ·

Search active condo listings via Algolia index. Supports filtering by bedrooms, price range, square footage, and locality/neighbourhood. Returns paginated results sorted by date, price ascending, or price descending. Each hit includes MLS number, asking price, bed type, sqft, neighbourhood, and a URL slug usable with get_listing_detail.

Input
ParamTypeDescription
bedsstringBedrooms filter in range format: '1-1' for 1BD, '1.1-1.9' for 1+1, '2-2' for 2BD, '3-3' for 3BD. The decimal represents den presence.
modestringListing mode.
pageintegerPage number (0-indexed).
sortstringSort order.
limitintegerMax results per page.
querystringText search query.
max_sqftintegerMaximum square footage.
min_sqftintegerMinimum square footage.
max_priceintegerMaximum price filter.
min_priceintegerMinimum price filter.
locality_idintegerLocality ID (1 for Toronto).
neighbourhood_idintegerNeighbourhood ID to filter by.
neighbourhood_slugstringNeighbourhood URL slug (e.g., 'toronto/king-west') to auto-resolve neighbourhood or locality ID.
Response
{
  "type": "object",
  "fields": {
    "hits": "array of listing objects with mls_number, title, asking_price, bed_type, sqft, neighbourhood_name, url, and other listing details",
    "page": "integer current page number",
    "nbHits": "integer total number of matching results",
    "nbPages": "integer total number of pages",
    "hitsPerPage": "integer results per page"
  },
  "sample": {
    "data": {
      "hits": [
        {
          "id": 2230534,
          "url": "toronto/bristol-house-10-tobermory-dr/unit-1206-W13423826",
          "sqft": 996,
          "title": "1206 - 10 Tobermory Drive",
          "bed_type": "3",
          "bathrooms": 2,
          "mls_number": "W13423826",
          "asking_price": 549999,
          "locality_name": "Toronto",
          "parking_spots": 1,
          "neighbourhood_name": "Black Creek"
        }
      ],
      "page": 0,
      "nbHits": 7205,
      "nbPages": 1441,
      "hitsPerPage": 5
    },
    "status": "success"
  }
}

About the Condos API

Listing Search and Detail

The search_listings endpoint queries active condo listings with filters for bedroom count (using range format strings like '1-1' for 1BD or '1.1-1.9' for 1+1), price range, square footage (min_sqft, max_sqft), and free-text query. Results are 0-indexed and sortable by date, price ascending, or price descending. Each hit includes mls_number, asking_price, bed_type, sqft, neighbourhood_name, and a url slug. That slug feeds directly into get_listing_detail, which returns the full initial state for a listing page — including lookups (component ID, area type, header tags) and an areasData object describing the neighbourhood hierarchy.

Pre-Construction and Building Data

search_preconstruction queries new development projects and returns each building's construction_status, sales_status, developers, price_min, price_max, and average_psf. The locality_id parameter (1 = Toronto) scopes results geographically. Each hit carries a url slug passable to get_building_detail, which returns the building-level initial state including component info and neighbourhood hierarchy — the same structural pattern as get_listing_detail.

Neighbourhood Statistics

get_neighbourhood_stats accepts a slug (e.g., 'toronto/king-west'), a locality_id, or a neighbourhood_id. The data response contains summary_stats, area_stats with historical chart data broken down by year and bed type, and an insights object with current averages for price, price per square foot, and days on market. Area descriptions are also included.

Mortgage Tools

get_mortgage_rates returns live rates from Canadian lenders, parameterised by purchase_price and down_payment. Each rate object includes lender_name, rate, rate_type (fixed or variable), mortgage_term, monthly_payment, rate_hold_days, and a logo_url. calculate_mortgage runs the standard Canadian mortgage formula (semi-annual compounding) locally and returns principal, monthly_payment, total_interest, and total_mortgage for any combination of price, down_payment, rate, and amortization years.

Reliability & maintenanceVerified

The Condos API is a managed, monitored endpoint for condos.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when condos.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official condos.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
13h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a condo search portal filtered by bed type and price range using search_listings MLS data.
  • Track pre-construction launch pricing and developer names across Toronto developments with search_preconstruction.
  • Display historical sold price trends by bedroom type for any neighbourhood using get_neighbourhood_stats chart data.
  • Compare current Canadian mortgage rates by term and type for a given purchase price via get_mortgage_rates.
  • Embed a mortgage affordability calculator using calculate_mortgage with semi-annual compounding.
  • Resolve neighbourhood hierarchy and area metadata for a specific listing using the areasData field from get_listing_detail.
  • Show average price-per-square-foot and days on market for a locality to support investment research with get_neighbourhood_stats insights.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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 Condos.ca have an official developer API?+
Condos.ca does not publish a public developer API or documented REST interface for third-party use. This Parse API provides structured access to the same listing, building, and market data available on the site.
How does the bedroom filter work in `search_listings`?+
The beds parameter takes a range string rather than a plain integer. Use '1-1' for 1-bedroom, '1.1-1.9' for 1-bedroom-plus-den, '2-2' for 2-bedroom, and '3-3' for 3-bedroom. The decimal range notation distinguishes den configurations from whole-bedroom counts.
What geographic coverage does `get_neighbourhood_stats` support?+
The endpoint focuses on Toronto-area localities and neighbourhoods. If neither a slug nor a neighbourhood_id is supplied, it defaults to locality_id 1 (Toronto). Coverage outside the Toronto market is not currently documented in the response schema. You can fork the API on Parse and revise it to add additional locality IDs or regions if the underlying data supports them.
Does the API return sold transaction history or only active listings?+
search_listings returns active listings only. Historical sold and leased price data is available at the aggregate level through get_neighbourhood_stats (in the area_stats field, broken down by year and bed type), but individual sold transaction records are not exposed. You can fork the API on Parse and revise it to add a sold-listings endpoint if that granularity is needed.
Are listing images or floor plans returned by any endpoint?+
The current endpoints do not return image galleries or floor plan files. get_listing_detail and get_building_detail return structural metadata — component IDs, area types, neighbourhood hierarchy — rather than media assets. You can fork the API on Parse and revise it to include media fields if they are accessible from the listing page state.
Page content last updated . Spec covers 7 endpoints from condos.ca.
Related APIs in Real EstateSee all →
rentals.ca API
Search and browse rental listings across Canada by city or neighbourhood, and view detailed property information including prices, amenities, and availability. Find your next home by filtering thousands of rental properties on Rentals.ca in real-time.
rew.ca API
Search rental and for-sale properties across Canada, get detailed listing information, explore neighbourhoods, and find real estate agents in your area. Access property details, agent profiles, and neighbourhood data all in one place.
realtor.ca API
Search Canadian real estate listings and retrieve detailed property information including photos, prices, descriptions, and agent details from REALTOR.ca. Browse available properties with comprehensive listing data across Canada.
centris.ca API
Search and retrieve real estate listings from Centris.ca, Canada's largest real estate platform. Filter by location, property type, price range, and keywords to find houses, condos, plexes, and multi-generational properties across Quebec. Get detailed listing information including price, address, room counts, and photos.
zoocasa.com API
Search Canadian real estate listings on Zoocasa and retrieve detailed property information including active listings, sold homes, and rental properties. Access comprehensive listing details and discover comparable properties by location, property type, and listing status.
housing.com API
Search and retrieve real estate listings on Housing.com. Browse properties for sale, rent, plots, and commercial spaces across major Indian cities with filtering by locality and property type.
realtor.com API
Search millions of real estate listings on Realtor.com, view detailed property information, find qualified agents in your area, and access market analytics to understand pricing trends. Get location suggestions and property insights all in one place to help you make informed decisions about buying, selling, or investing in real estate.
commonfloor.com API
Search and browse property listings, projects, and real estate market trends from CommonFloor with access to detailed property information, amenities, location data, and agent contacts. Discover properties across multiple cities, compare market insights, and get comprehensive project details to help with your property search or investment decisions.