Property Search
/api/condos-ca/search
Search condos for sale or for rent
Scrappa's Condos.ca API returns structured JSON from Condos.ca, a Canadian condo marketplace. Search condos and townhouses for sale and for rent by area with price, bedroom, bathroom, size and amenity filters, open a listing by MLS number for rooms, fees and photos, and look up areas, buildings and agents.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/condos-ca/search?area_id=1&area_type=Locality&mode=sale&beds=2&min_price=500000&max_price=800000&sort=price_asc" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"search_metadata": { "mode": "sale", "sort": "price_asc", "area_id": 1, "area_type": "Locality" },
"pagination": { "page": 1, "per_page": 48, "total": 1065, "last_page": 23 },
"items": [
{
"mls_number": "W14115546",
"title": "904 - 55 Eglinton Avenue W",
"price": 599999,
"maintenance_fee": 759.23,
"bedrooms": 2,
"bathrooms": 2,
"sqft": { "min": 800, "max": 899, "value": 876 }
}
]
},
"meta": { "endpoint_family": "search", "billable": true }
}
Structured data for real applications. Here are some ideas.
Track asking prices, maintenance fees and rents by area, building, bedrooms and size across Toronto, Vancouver, Calgary and more.
Page through filtered searches of 48 listings per page and open each listing by MLS number for its rooms, fees and photos.
Compare buildings by year built, units, floors, amenities and price range.
Plot condo listings on a map with latitude and longitude per item.
Condos.ca scraper API
The Condos.ca API is built for real-estate analytics, listing tools and market research. Each search item carries the price in CAD, maintenance fee, bedrooms, bathrooms, size range, parking, amenities, coordinates, MLS number, brokerage and photos. Listing detail adds the description, rooms with sizes, fees included, address with postal code and the full photo gallery.
One search route for sale and rent listings, 48 per page.
Filters are always honoured: items that break a filter are never returned.
Pagination returns the real page; a page past the last one is empty, never page 1 under another number.
A valid empty result is a successful, billable response; failures are never billed.
Resolve a place name to an area id and area type, then pass both into search.
Open Condos.ca Autocomplete API docsAdd price, bedroom, size and amenity filters, choose a sort order, then page through the results.
Open Condos.ca Search API docsPass the MLS number of a search result to get the description, rooms, fees and photos.
Open Condos.ca Listing API docsEverything you need in one API.
/api/condos-ca/search
Search condos for sale or for rent
/api/condos-ca/listing
Get the full record of one listing by MLS number
/api/condos-ca/autocomplete
Find cities and neighbourhoods by name
/api/condos-ca/buildings
Search buildings or get one building by id
/api/condos-ca/agents
Find agents by name
/api/condos-ca/agent
Get one agent profile
See how Scrappa compares to the official API.
| Feature | Scrappa | ScrapingBee / ScraperAPI |
|---|---|---|
| Condos.ca listing data as JSON | Build your own parser | |
| Sale and rent in one route | Separate scrapers | |
| Filters guaranteed on every item | Not available | |
| Price per 1k requests | From $0.20 | Varies by plan |
| Unified API key | Yes (80+ APIs) | Scraping only |
| Free tier | 500 credits/month | Trial credits only |
No. Scrappa is an independent service and is not affiliated with or endorsed by Condos.ca. The API returns structured JSON from public listing data through a Scrappa API key.
No. Email addresses and phone numbers are private data and are never returned. Listings and agent profiles show names, titles, brokerage and public profile links only.
Call the autocomplete endpoint with a place name. It returns an area id and an area type. Send both to the search endpoint.
No. Only successful responses are billed. A valid empty result is successful and billable.