rew.ca APIrew.ca ↗
Search rental and for-sale listings, get property details, browse neighbourhoods, and find real estate agents across Canada via the REW.ca API.
curl -X GET 'https://api.parse.bot/scraper/f86f34d8-ec8e-41a9-8207-b755a31cdc49/search_rental_listings?page=1&city_area=toronto-on' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for rental listings in a specific city/area with filters. Returns paginated results with up to 20 listings per page.
| Param | Type | Description |
|---|---|---|
| page | string | Page number for pagination. |
| sort | string | Sort order for results. |
| bedrooms | string | Number of bedrooms to filter by (e.g. '2'). |
| max_sqft | string | Maximum square footage. |
| min_sqft | string | Minimum square footage. |
| bathrooms | string | Number of bathrooms to filter by. |
| city_area | string | City/area slug (e.g. 'vancouver-bc', 'toronto-on'). |
| furnished | string | Set to 'true' for furnished listings only. |
| max_price | string | Maximum monthly rent. |
| min_price | string | Minimum monthly rent. |
| pets_allowed | string | Set to 'true' for pet-friendly listings only. |
| property_type | string | Property type filter. Value is case-insensitive and will be lowercased before querying (e.g. 'house', 'condo', 'townhouse', 'duplex'). |
| in_suite_laundry | string | Set to 'true' for in-suite laundry listings only. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"listings": "array of listing objects with listing_id, url, price, address, neighbourhood, beds, baths, sqft, property_type, agent_name",
"total_listings": "integer, total number of matching listings"
},
"sample": {
"data": {
"page": 1,
"listings": [
{
"url": "https://www.rew.ca/rentals/7225159/838-west-hastings-street-vancouver-bc",
"beds": "2 bd",
"sqft": "1754 sf",
"baths": "2 ba",
"price": "$5,700/month",
"address": "838 West Hastings Street",
"agent_name": "John Doe",
"listing_id": "7225159",
"neighbourhood": "Downtown West",
"property_type": "Apt/Condo"
}
],
"total_listings": 500
},
"status": "success"
}
}About the rew.ca API
The REW.ca API covers 6 endpoints for accessing Canadian real estate data, including rental listings, for-sale properties, neighbourhood directories, and agent profiles. The search_rental_listings endpoint accepts filters like bedrooms, bathrooms, square footage, furnished status, and city area slug, returning paginated results with price, address, neighbourhood, and agent name per listing.
Listing Search
Both search_rental_listings and search_for_sale_listings accept a city_area slug (e.g. vancouver-bc, toronto-on) along with filters for bedrooms, bathrooms, min_price/max_price, and property_type. Each paginated response (up to 20–21 results per page) returns an array of listing objects containing listing_id, url, price, address, neighbourhood, beds, baths, sqft, property_type, and agent_name, plus a total_listings count for building pagination logic.
Listing Detail
get_listing_detail accepts a full listing URL and returns a structured facts object with categorized property details (price details, home facts, agent details, listing details), the price and address strings, an optional description, and a nearby_schools array with each school's name, details, and distance. This endpoint works for both rental and for-sale listings.
Neighbourhoods and Agents
list_neighbourhoods_for_city returns the complete list of neighbourhoods for a given city_area slug, with each entry including name, url, and slug for use in downstream filtering or display. For agent discovery, search_agents supports filtering by city_area and last_name_initial, returning name, brokerage, url, experience, and recommendations per agent. get_agent_detail retrieves a full agent profile by URL, adding phone, bio, and a stats object covering experience, languages, awards, and recommendations.
- Aggregate Canadian rental listings by city and bedroom count for a rental comparison tool.
- Build a neighbourhood-level property price tracker using for-sale listing data filtered by
city_areaandproperty_type. - Display nearby school information from
get_listing_detailalongside property listings in a family-focused search app. - Populate an agent directory with brokerage, experience, and recommendation data from
search_agentsandget_agent_detail. - Monitor total listing counts per city over time using
total_listingsfrom paginated search results. - Generate neighbourhood browsing pages using slugs and URLs returned by
list_neighbourhoods_for_city. - Filter furnished rentals in a specific Vancouver or Toronto area for corporate relocation tooling.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does REW.ca have an official developer API?+
What does `get_listing_detail` return beyond what the search endpoints include?+
facts object (price details, home facts, agent details, listing details), a description field when the listing includes one, and a nearby_schools array with school name, details string, and distance. The search endpoints only return summary fields like price, address, beds, baths, sqft, and agent name.Does the API cover sold/historical listing data or only active listings?+
Can I retrieve listings for a specific neighbourhood rather than an entire city?+
search_rental_listings and search_for_sale_listings endpoints currently accept a city_area slug as the geographic filter; neighbourhood-level search scoping is not a direct input parameter. list_neighbourhoods_for_city returns neighbourhood slugs and URLs, but passing a neighbourhood slug directly into a listing search is not supported by the current endpoints. You can fork the API on Parse and revise it to add neighbourhood-scoped listing search.How does pagination work across the search endpoints?+
page integer, a listings array (up to 20 results for rentals, up to 21 for for-sale), and a total_listings count. Pass the page string parameter to step through results. Divide total_listings by the per-page count to determine the number of pages available for a given query.