# Condos.ca Search API Documentation

<p><strong>Condos.ca Search API</strong> lists condos, townhouses and rentals in one area. Get <code>area_id</code> and <code>area_type</code> from the autocomplete route. Use <code>mode=rent</code> for rentals. Every item matches all filters you send. <code>pagination.page</code> is the page you asked for, and a page past <code>last_page</code> returns an empty <code>items</code> list. Sort is <code>newest</code>, <code>price_asc</code>, <code>price_desc</code> or <code>beds_desc</code>. Contact details of agents are never returned. Failed requests are not billed.</p>

- **Documentation:** [https://scrappa.co/docs/condos-ca-api/condos_ca_search](https://scrappa.co/docs/condos-ca-api/condos_ca_search)
- **API group:** Condos.ca API
- **Endpoint:** `GET https://scrappa.co/api/condos-ca/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `area_id` | integer | Yes | Required. The area_id of an autocomplete item. Example: 1. |
| `area_type` | string | Yes | Required. The area_type of the same autocomplete item: Locality, Sublocality, Neighbourhood, LocalityParent or LocalityGrandparent. |
| `mode` | string | No | sale (default) or rent. Rent prices are monthly. |
| `min_price` | integer | No | Minimum price in CAD. |
| `max_price` | integer | No | Maximum price in CAD. Not below min_price. |
| `beds` | string | No | Comma separated: studio, 1, 1_den, 2, 2_den, 3_plus. Example: 2,2_den. |
| `min_baths` | integer | No | Minimum number of bathrooms. |
| `min_sqft` | integer | No | Minimum interior size in square feet. |
| `max_sqft` | integer | No | Maximum interior size in square feet. |
| `home_type` | string | No | Condo, Townhouse, House or Other. |
| `property_type` | string | No | Comma separated: Condo Apt, Condo Townhouse, Att/Row/Twnhouse, Comm Element Condo, Co-Op Apt, Co-Ownership Apt, Det Condo, Semi-Det Condo, Leasehold Condo, Phased Condo. |
| `parking` | integer | No | Minimum number of parking spots. |
| `locker` | boolean | No | true for units with a locker, false for units without. |
| `balcony` | boolean | No | true for units with a balcony, false for units without. |
| `furnished` | string | No | Yes, No or Part. Most sale listings are No. |
| `exposure` | string | No | Comma separated: N, S, E, W, NE, NW, SE, SW. |
| `amenities` | string | No | Comma separated building amenities that must all be present. Example: Gym,Pool,Concierge. Pool also matches indoor and outdoor pools. |
| `max_maintenance_fee` | integer | No | Maximum monthly maintenance fee in CAD. Listings without a fee are not returned. |
| `max_building_age` | integer | No | Maximum building age in years. |
| `max_days_on_market` | integer | No | Only listings added within this many days. |
| `min_photos` | integer | No | Minimum number of photos. |
| `sort` | string | No | newest (default), price_asc, price_desc or beds_desc. |
| `page` | integer | No | One-based page number. Default 1. A page past the last page returns an empty items list. |
| `per_page` | integer | No | Listings per page, 1 to 100. Default 48. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": 2375394,
                "tax": 2044,
                "url": "https://condos.ca/toronto/mansions-of-humberwood-2-700-humberwood-blvd/unit-219A-W14100176",
                "sqft": {
                    "max": 899,
                    "min": 800,
                    "value": null
                },
                "tags": [
                    "High-Rise"
                ],
                "offer": "Sale",
                "price": 500000,
                "title": "219A - 700 Humberwood Boulevard",
                "images": [
                    "https://cdn.repliers.io/IMG-W14100176_9ac96acb6a64aa15db7c01bde3aa9adbf8eb57a3057586500596da47f98faac2.jpg",
                    "https://cdn.repliers.io/IMG-W14100176_f2f0cdc4dc34caab52815893c3cb94f593d08b102c9aef88c72fb16a37d8308f.jpg"
                ],
                "locker": {
                    "type": "Exclusive",
                    "has_locker": true
                },
                "status": "Active",
                "parking": {
                    "type": "Underground",
                    "spots": 1
                },
                "bed_type": "2",
                "bedrooms": 2,
                "building": {
                    "id": 980,
                    "age": "18",
                    "age_max": 18
                },
                "exposure": "SW",
                "location": {
                    "region": {
                        "id": 1,
                        "name": "Toronto Division"
                    },
                    "street": "Humberwood Boulevard",
                    "country": "Canada",
                    "latitude": 43.7242482,
                    "locality": {
                        "id": 1,
                        "name": "Toronto"
                    },
                    "province": {
                        "id": 9,
                        "name": "Ontario"
                    },
                    "longitude": -79.6162362,
                    "sublocality": {
                        "id": 16,
                        "name": "Etobicoke"
                    },
                    "neighbourhood": {
                        "id": 803,
                        "name": "West Humber | Clairville"
                    }
                },
                "sub_type": "Condo Apartment",
                "tax_year": 2025,
                "tour_url": null,
                "amenities": [
                    "Concierge",
                    "Party Room",
                    "Visitor Parking",
                    "Guest Suites",
                    "Meeting Room"
                ],
                "bathrooms": 1,
                "brokerage": "RE/MAX WEST REALTY INC.",
                "furnished": null,
                "home_type": "Condo",
                "entry_date": "2026-10-20",
                "mls_number": "W14100176",
                "has_balcony": true,
                "open_houses": [],
                "photo_count": 11,
                "unit_number": "219A",
                "bedrooms_plus": null,
                "listing_agent": null,
                "outdoor_space": "Balcony, Patio",
                "property_type": "Condo Apt",
                "thumbnail_url": "https://cdn.repliers.io/IMG-W14100176_9ac96acb6a64aa15db7c01bde3aa9adbf8eb57a3057586500596da47f98faac2.jpg?width=640",
                "date_available": "2027-01-31",
                "days_on_market": 6,
                "pets_permitted": "Restrict",
                "maintenance_fee": 543.9
            }
        ],
        "pagination": {
            "page": 1,
            "total": 1077,
            "per_page": 3,
            "last_page": 359
        },
        "search_metadata": {
            "mode": "sale",
            "sort": "price_asc",
            "area_id": 1,
            "area_type": "Locality"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A parameter is missing or invalid. This response is not billable. |
| 503 | Upstream Unavailable | Condos.ca could not be reached. This response is not billable and is retryable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
