# Rentals — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> 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.

**Category:** Real Estate | **Website:** [rentals.ca/](https://rentals.ca/) | **Docs:** [parse.bot/marketplace/60b0be15-dd58-4a79-8a6f-3ebd66fdeb69/rentals-ca-api](https://parse.bot/marketplace/60b0be15-dd58-4a79-8a6f-3ebd66fdeb69/rentals-ca-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-rentals-ca-api-60b0be15/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_listing_details

Retrieve full details for a specific rental listing by its base64-encoded ID. Returns comprehensive property information including floor plans with rent/size/availability, amenities grouped by category, contact details, building info, parking options, and property image URLs. The listing_id comes from search_listings or get_listings_by_city results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | Base64-encoded listing ID from search_listings results (e.g., 'cmVudGFsbGlzdGluZzoxMDQzMTc2'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rentals-ca-api-60b0be15/get_listing_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listing_id":"<string>"}'
```

### get_listings_by_city

Get rental listings for a specific Canadian city. Returns paginated listing summaries identical in shape to search_listings but without price/bed/bath filters. Use this for browsing all listings in a city without narrowing criteria.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City slug (e.g., 'toronto', 'montreal', 'vancouver', 'calgary', 'ottawa'). |
| `limit` | integer | No | Number of results per page. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rentals-ca-api-60b0be15/get_listings_by_city \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","limit":"<integer>","page":"<integer>"}'
```

### search_listings

Search for rental listings in a specific Canadian city with optional filters for bedrooms, bathrooms, and price range. Returns paginated results with listing summaries including rent range, bed/bath counts, and location coordinates. The city parameter accepts slugs like 'toronto', 'montreal', 'vancouver'. Pagination advances via the page parameter; total_count in the response gives the full result set size.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bathrooms` | number | No | Filter by minimum number of bathrooms. |
| `bedrooms` | integer | No | Filter by number of bedrooms. |
| `city` | string | No | City slug for the search area (e.g., 'toronto', 'montreal', 'vancouver', 'calgary', 'ottawa'). |
| `limit` | integer | No | Number of results per page. |
| `max_price` | number | No | Maximum rent price filter. |
| `min_price` | number | No | Minimum rent price filter. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rentals-ca-api-60b0be15/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bathrooms":"<number>","bedrooms":"<integer>","city":"<string>","limit":"<integer>","max_price":"<number>","min_price":"<number>","page":"<integer>"}'
```

### search_listings_full

Search for rental listings with full detail for every result. Accepts the same filter parameters as search_listings (city, bedrooms, bathrooms, price range, date range) but returns comprehensive property information for each listing including description, structured address, images, contact, amenities, floor plans, parking, and more. Each listing includes concrete floor_plans[] records rather than aggregate ranges. Makes a single expanded GraphQL query per page. Pagination advances via the page parameter; total_count gives the full result set size.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bathrooms` | number | No | Filter by minimum number of bathrooms. |
| `bedrooms` | integer | No | Filter by number of bedrooms. |
| `city` | string | No | City slug for the search area (e.g., 'toronto', 'montreal', 'vancouver', 'calgary', 'ottawa'). |
| `created_after` | string | No | ISO 8601 datetime string. Returns listings updated/modified on or after this datetime (e.g., '2026-08-07T00:00:00Z'). |
| `created_before` | string | No | ISO 8601 datetime string. Filters results to only include listings originally created before this datetime. Applied client-side on the listing's creation timestamp. |
| `limit` | integer | No | Number of results per page. |
| `max_price` | number | No | Maximum rent price filter. |
| `min_price` | number | No | Minimum rent price filter. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rentals-ca-api-60b0be15/search_listings_full \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bathrooms":"<number>","bedrooms":"<integer>","city":"<string>","created_after":"<string>","created_before":"<string>","limit":"<integer>","max_price":"<number>","min_price":"<number>","page":"<integer>"}'
```
