# ViewIt Listing Details API Documentation

Scrappa's `GET /api/viewit/listing` returns the full record of one ViewIt rental.

## What you get

`price` (CAD), `price_from`, `utilities_note`, `address`, `city`, `province`, `postal_code`, `neighbourhood`, `latitude`, `longitude`, `bedrooms`, `bathrooms`, `description`, `amenities` (15 yes/no flags such as air conditioning, parking, laundry, pets and dishwasher), every photo in `images`, `floor_plans`, `videos`, `published_at`, `modified_at`, `company_name` and `contact_name`. Fields a listing does not show are null. Studio and bachelor units have 0 bedrooms.

## How to find a listing

Pass the `listing_id` of a search item as `id`. Pass its `detail_path` as `path` as well when you have it. The phone number, email, deposit and floor area are not public, so this API has none of them.

- **Documentation:** [https://scrappa.co/docs/viewit-api/viewit_listing](https://scrappa.co/docs/viewit-api/viewit_listing)
- **API group:** ViewIt API
- **Endpoint:** `GET https://scrappa.co/api/viewit/listing`

## 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 |
| --- | --- | --- | --- |
| `id` | integer | Yes | listing_id from search, for example 3844. |
| `path` | string | No | Optional detail_path of the search item, for example 468470SummerhillAve-Toronto-2bdrm-VIT=3844. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/viewit/listing?id=3844"
```

## Example response

```json
{
    "success": true,
    "data": {
        "url": "https://www.viewit.ca/468470SummerhillAve-Toronto-2bdrm-VIT=3844",
        "listing_id": 3844,
        "title": "For Rent: 468, 470 Summerhill A Toronto, 2 Bdrm Viewit |3844",
        "price": 2200,
        "price_from": false,
        "currency": "CAD",
        "utilities_note": "Utilities Incl.",
        "address": "468, 470 Summerhill Ave",
        "city": "Toronto",
        "province": "ON",
        "postal_code": null,
        "neighbourhood": "ST.CLAIR-MT. PLEASANT",
        "latitude": 43.686504,
        "longitude": -79.374658,
        "bedrooms_label": "2 Bedroom",
        "bedrooms": 2,
        "bathrooms": 1,
        "description": "Available immediately\nBeautiful Rosedale. Totally renovated 2 bedroom with dishwasher.",
        "amenities": {
            "air_conditioning": false,
            "fridge_stove": true,
            "parking": true,
            "furnished": false,
            "laundry": true,
            "pets_allowed": false,
            "dishwasher": true
        },
        "images": [
            "https://images.viewit.ca/3844/Image058.jpg"
        ],
        "floor_plans": [],
        "videos": [],
        "published_at": "2003-09-19T14:33:00-04:00",
        "modified_at": "2026-09-26T00:00:00-04:00",
        "company_name": "Law Property",
        "contact_name": null
    },
    "meta": {
        "endpoint_family": "listing",
        "billable": true,
        "attempts": 1
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | ViewIt has no listing with this id, or it is no longer available (`NOT_FOUND`). Non-billable. |
| 422 | Validation Error | A query parameter is missing, unknown or unusable. Unknown parameters and unknown values are rejected, never ignored. Non-billable. |
| 503 | Upstream Unavailable | ViewIt could not be reached, refused the request or answered with a page this API could not read (`UPSTREAM_UNAVAILABLE`). Retryable and never billed. Clients are never rate limited. |

## 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)
