# REW.ca — 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 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.

**Category:** Real Estate | **Website:** [rew.ca/](https://rew.ca/) | **Docs:** [parse.bot/marketplace/4ae63faa-3f40-42f2-b4b1-5622c824f7e4/rew-ca-api](https://parse.bot/marketplace/4ae63faa-3f40-42f2-b4b1-5622c824f7e4/rew-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-rew-ca-api-4ae63faa/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_agent_detail

Fetch the full profile of a specific real estate agent by their URL. Returns the agent's name, brokerage, phone number, biography, and stats (experience, languages, website, awards, recommendations).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL or path to the agent profile page (e.g. 'https://www.rew.ca/agents/1833/david-tsen' or '/agents/1833/david-tsen'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/get_agent_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_listing_detail

Fetch full details for a specific rental or for-sale listing by its URL. Returns structured property facts (price details, home facts, agent details, listing details), the listing price, full address, description text when available, and a list of nearby schools with distances.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Full URL or path to the listing page (e.g. 'https://www.rew.ca/properties/208-2321-scotia-street-vancouver-bc' or '/properties/208-2321-scotia-street-vancouver-bc'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### list_neighbourhoods_for_city

List all neighbourhoods available for rentals in a given city/area. Returns neighbourhood names, full URLs to their rental listings page, and URL slugs. Useful for discovering valid area slugs to pass to the search endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city_area` | string | No | City/area slug (e.g. 'vancouver-bc'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/list_neighbourhoods_for_city \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city_area":"<string>"}'
```

### search_agents

Search real estate agents in a city/area. Returns paginated results with agent names, brokerages, profile URLs, years of experience, and recommendation counts. Can optionally filter by last name initial letter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city_area` | string | No | City/area slug (e.g. 'vancouver-bc'). |
| `last_name_initial` | string | No | Filter by last name initial letter (e.g. 'A'). |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/search_agents \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city_area":"<string>","last_name_initial":"<string>","page":"<integer>"}'
```

### search_for_sale_listings

Search properties for sale in a Canadian city/area. Supports filters for price range, bedrooms, bathrooms, and property type. Returns up to 21 listings per page. Pagination via integer page counter; total_listings reports the full result count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bathrooms` | string | No | Number of bathrooms to filter by (e.g. '1', '2', '3', '4'). |
| `bedrooms` | string | No | Number of bedrooms to filter by (e.g. '1', '2', '3', '4', '5'). |
| `city_area` | string | No | City/area slug (e.g. 'vancouver-bc', 'toronto-on'). |
| `max_price` | string | No | Maximum listing price. |
| `min_price` | string | No | Minimum listing price. |
| `page` | integer | No | Page number for pagination. |
| `property_type` | string | No | Property type filter. Value is case-insensitive and will be lowercased before querying (e.g. 'house', 'condo', 'townhouse', 'duplex'). |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/search_for_sale_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bathrooms":"<string>","bedrooms":"<string>","city_area":"<string>","max_price":"<string>","min_price":"<string>","page":"<integer>","property_type":"<string>","sort":"<string>"}'
```

### search_rental_listings

Search rental listings in a Canadian city/area. Supports filters for price range, bedrooms, bathrooms, square footage, pet-friendliness, furnished status, and in-suite laundry. Returns up to 20 listings per page, ordered by the chosen sort. Pagination via integer page counter; total_listings reports the full result count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bathrooms` | string | No | Number of bathrooms to filter by (e.g. '1', '2', '3', '4'). |
| `bedrooms` | string | No | Number of bedrooms to filter by (e.g. '1', '2', '3', '4', '5'). |
| `city_area` | string | No | City/area slug (e.g. 'vancouver-bc', 'toronto-on'). |
| `furnished` | string | No | Set to 'true' for furnished listings only. |
| `in_suite_laundry` | string | No | Set to 'true' for in-suite laundry listings only. |
| `max_price` | string | No | Maximum monthly rent. |
| `max_sqft` | string | No | Maximum square footage. |
| `min_price` | string | No | Minimum monthly rent. |
| `min_sqft` | string | No | Minimum square footage. |
| `page` | integer | No | Page number for pagination. |
| `pets_allowed` | string | No | Set to 'true' for pet-friendly listings only. |
| `property_type` | string | No | Property type filter. Value is case-insensitive and will be lowercased before querying (e.g. 'house', 'condo', 'townhouse', 'duplex'). |
| `sort` | string | No | Sort order for results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-rew-ca-api-4ae63faa/search_rental_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bathrooms":"<string>","bedrooms":"<string>","city_area":"<string>","furnished":"<string>","in_suite_laundry":"<string>","max_price":"<string>","max_sqft":"<string>","min_price":"<string>","min_sqft":"<string>","page":"<integer>","pets_allowed":"<string>","property_type":"<string>","sort":"<string>"}'
```
