# Zoocasa — 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 Canadian real estate listings on Zoocasa and retrieve detailed property information including active listings, sold homes, and rental properties. Access comprehensive listing details and discover comparable properties by location, property type, and listing status.

**Category:** Real Estate | **Website:** [zoocasa.com/](https://zoocasa.com/) | **Docs:** [parse.bot/marketplace/237febcf-dd62-45fc-a0be-a7bb813ccd3b/zoocasa-com-api](https://parse.bot/marketplace/237febcf-dd62-45fc-a0be-a7bb813ccd3b/zoocasa-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/zoocasa/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get listing details

Retrieve full details for a specific property listing using its API slug. Returns comprehensive property attributes including price, bedrooms, bathrooms, address, description, MLS number, maintenance fees, taxes, and more. The slug is obtained from search_listings results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | The API slug of the listing from search_listings results (e.g., '1905-125-blue-jays-way-toronto-on') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/zoocasa/get-listing-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get similar listings

Get a list of similar or comparable property listings for a given listing. Returns full listing details for each similar property, useful for market comparison and pricing analysis. The listing_id is obtained from get_listing_details results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The numeric ID of the property listing from get_listing_details results (e.g., '85045406') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/zoocasa/get-similar-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"listing_id":"<string>"}'
```

### Search listings

Search for real estate listings in a specific location (city and province). Supports active and sold listings, rental listings, and property type filtering. Returns listing paths and API slugs for use with get_listing_details. Paginates by page number; each page returns up to ~20 listings. The location slug follows the pattern city-province (e.g. 'toronto-on', 'mississauga-on').

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_status` | string | No | Listing status filter |
| `listing_type` | string | No | Transaction type |
| `location` | string | Yes | City and province slug (e.g., 'toronto-on', 'mississauga-on', 'vancouver-bc') |
| `page` | integer | No | Page number for pagination |
| `property_type` | string | No | Filter by home type |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/zoocasa/search-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"listing_status":"<string>","listing_type":"<string>","location":"<string>","page":"<integer>","property_type":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.