APIs / Real estate / ViewIt

1 credit per call4 endpoints16 datapoints

ViewIt API

ViewIt API for Canadian rental listings by city, with rents, bedrooms, unit types, photos, listing details and landlords as JSON. 1 credit per successful call.

ViewIt
GET/v1/viewit/search?city_id=14&bedrooms=2&price_max=2500
{
  "success": true,
  "data": {
    "items": [
      {
        "listing_id": 21302,
        "detail_path": "37OrioleRd-Toronto-2bdrm-VIT=21302",
        "url": "https://www.viewit.ca/37OrioleRd-Toronto-2bdrm-VIT=21302",
        "address": "37 Oriole Rd",
        "bedrooms_label": "2 bds",
        "bedrooms": 2,
        "unit_type": "apartment",
        "price": 2200,
        "price_from": false,
        "currency": "CAD",
        "latitude": 43.688249,
        "longitude": -79.400144,
        "photo": "https://images.viewit.ca/21302/IMG_4927.jpg",
        "description": "Bright, clean, beautiful and well maintained 2 bedroom available Nov 1st. Centrally located in charming neighbourhood. Hardwood floor, quiet buildin...",
        "sponsored": false,
        "has_video": false
      },
      {
        "listing_id": 184238,
        "detail_path": "670ParliamentStreet-Toronto-2bdrm-VIT=184238",
        "url": "https://www.viewit.ca/670ParliamentStreet-Toronto-2bdrm-VIT=184238",
        "address": "670 Parliament Street",
        "bedrooms_label": "2 bds",
        "bedrooms": 2,
        "unit_type": "apartment",
        "price": 2495,
        "price_from": false,
        "currency": "CAD",
        "latitude": 43.670627,
        "longitude": -79.370942,
        "photo": "https://images.viewit.ca/184238/00_hiyyz05j.jpg",
        "description": "Live, work, play. These days it's all about downtown living. Spacious suites set on manicured grounds, the large bachelor, one bedroom and two bedro...",
        "sponsored": false,
        "has_video": false
      },
      {
        "listing_id": 244248,
        "detail_path": "670ParliamentStreet-Toronto-2bdrm-VIT=244248",
        "url": "https://www.viewit.ca/670ParliamentStreet-Toronto-2bdrm-VIT=244248",
        "address": "670 Parliament Street",
        "bedrooms_label": "2 bds",
        "bedrooms": 2,
        "unit_type": "apartment",
        "price": 2495,
        "price_from": false,
        "currency": "CAD",
        "latitude": 43.670636,
        "longitude": -79.371559,
        "photo": "https://images.viewit.ca/244248/00_ocu0rtpc.jpg",
        "description": "Live, work, play. These days it's all about downtown living. Spacious suites set on manicured grounds, the large bachelor, one bedroom and two bedro...",
        "sponsored": false,
        "has_video": false
      }
    ],
    "pagination": {
      "page": 1,
      "per_page": 5,
      "total": 27,
      "total_pages": 6,
      "max_pages": 20,
      "capped": false,
      "range_from": 1,
      "range_to": 5,
      "has_next_page": true
    },
    "items_dropped": 1,
    "total_includes_dropped": true,
    "applied_filters": {
      "city_id": 14,
      "bedrooms": "2",
      "price_max": "2500"
    }
  },
  "meta": {
    "endpoint_family": "search",
    "attempts": 1,
    "items_dropped": 1,
    "request_id": "req_500dc04b404c4e07b00fea9e9d077ecf",
    "credits_charged": 1,
    "credits_remaining": 1804
  }
}
200 OKJSONX-Credits-Used: 1
Recorded from our API and shortened.

Sample data

What one call returns

A recorded run of search: the fields and shapes you will get, shortened to 3 items.

#listing_idintegerdetail_pathstringurlurladdressstringbedrooms_labelstringbedroomsintegerunit_typestringpriceintegerprice_frombooleancurrencystringlatitudenumberlongitudenumberphotourldescriptionstringsponsoredbooleanhas_videoboolean
12130237OrioleRd-Toronto-2bdrm-VIT=21302https://www.viewit.ca/37OrioleRd-Toronto-2bdrm-VIT=2130237 Oriole Rd2 bds2apartment2200falseCAD43.688249-79.400144https://images.viewit.ca/21302/IMG_4927.jpgBright, clean, beautiful and well maintained 2 bedroom available Nov 1st. Centrally located in charming neighbourhood. Hardwood floor, quiet buildin...falsefalse
2184238670ParliamentStreet-Toronto-2bdrm-VIT=184238https://www.viewit.ca/670ParliamentStreet-Toronto-2bdrm-VIT=184238670 Parliament Street2 bds2apartment2495falseCAD43.670627-79.370942https://images.viewit.ca/184238/00_hiyyz05j.jpgLive, work, play. These days it's all about downtown living. Spacious suites set on manicured grounds, the large bachelor, one bedroom and two bedro...falsefalse
3244248670ParliamentStreet-Toronto-2bdrm-VIT=244248https://www.viewit.ca/670ParliamentStreet-Toronto-2bdrm-VIT=244248670 Parliament Street2 bds2apartment2495falseCAD43.670636-79.371559https://images.viewit.ca/244248/00_ocu0rtpc.jpgLive, work, play. These days it's all about downtown living. Spacious suites set on manicured grounds, the large bachelor, one bedroom and two bedro...falsefalse

Recorded from our API · 3 items shown · 16 datapoints per itemGET /v1/viewit/search?city_id=14&bedrooms=2&price_max=2500

16 datapoints

Identity

  • listing_idinteger
  • unit_typestring

Contact

  • urlurl

Location

  • addressstring
  • latitudenumber
  • longitudenumber

Reputation

  • photourl

Price

  • priceinteger
  • price_fromboolean
  • currencystring

Other

  • detail_pathstring
  • bedrooms_labelstring
  • bedroomsinteger
  • descriptionstring
  • sponsoredboolean
  • has_videoboolean

Playground

Run this API

cURLshell
curl "https://api.perceptlayer.com/v1/viewit/search?city_id=14&bedrooms=2&price_max=2500" \
  -H "X-API-Key: $API_KEY"

ViewIt · 4 endpoints

Endpoints

Every endpoint takes the same key. Open one for its parameters and an example request.

EndpointRequired parametersCost
GET/v1/viewit/agency
id+1 optional
1 credit
GET/v1/viewit/autocomplete
query
1 credit
GET/v1/viewit/listing
id+1 optional
1 credit
GET/v1/viewit/search
city_id+9 optional
1 credit

Overview

About the ViewIt API

What you can get

The ViewIt API returns ViewIt rental data as JSON through 4 endpoints.

  • Search: search takes a city_id, with page, bedrooms, price_min, price_max, keyword, and furnished, loft, retirement and short_term (true or 1).
  • Listings: listing takes an id, with path.
  • Agencies: agency takes an id, with page.
  • Autocomplete: autocomplete takes a query.

The recorded search for 2-bedroom rentals in Toronto (city_id=14) up to $2,500 returns items, each with listing_id, detail_path, url, address, bedrooms, unit_type, price, price_from, currency, latitude, longitude, photo, description, sponsored and has_video. It also returns pagination with a total of 27, total_pages, max_pages, capped and has_next_page, and items_dropped.

How a call works

Search a city: GET /v1/viewit/search?city_id=14&bedrooms=2&price_max=2500 with your key in the X-API-Key header. Each item's listing_id is what listing takes as id, and its detail_path is what it takes as path. Check has_next_page before asking for the next page. Every successful call costs 1 credit; failed calls cost nothing.

Real estateJSONRESTMCP

More real estate APIs

Use cases

Track asking rents by bedroom count in Toronto and other Canadian cities

Use the ViewIt API to track asking rents by bedroom count in Toronto and other Canadian cities

Find furnished, loft, retirement or short-term rentals

Use the ViewIt API to find furnished, loft, retirement or short-term rentals

Search listing text for a building or street with `keyword`

Use the ViewIt API to search listing text for a building or street with `keyword`

List a landlord's or property manager's units with `agency`

Use the ViewIt API to list a landlord's or property manager's units with `agency`

FAQ

Questions

Do I need a ViewIt account?

No. You call this ViewIt API with your Perceptlayer key in the `X-API-Key` header, with no ViewIt login.

How much does the ViewIt API cost?

Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.

What format are responses in?

Every endpoint returns JSON, with no HTML parsing on your side.

Is the result count capped?

`pagination` says so in `max_pages` and `capped`. The recorded Toronto search reports `capped` false, with all 27 results reachable.

Should I build a ViewIt scraper instead?

You can, but a ViewIt scraper is code you maintain: page changes break it, requests get blocked, and ViewIt's terms govern how you collect data. The ViewIt API gives you 4 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.

Try the ViewIt API with 100 free credits

No credit card. Failed calls are never billed.