# Casavo — 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 and browse property listings across Italy on Casavo.it, access detailed information including photos, locations, and property valuations. Find your next home or investment property by searching specific cities or exploring all available listings with comprehensive details.

**Category:** Real Estate | **Website:** [casavo.it/](https://casavo.it/) | **Docs:** [parse.bot/marketplace/c5f8d1c6-fb62-4dcc-b952-a78f46697010/casavo-it-api](https://parse.bot/marketplace/c5f8d1c6-fb62-4dcc-b952-a78f46697010/casavo-it-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-casavo-it-api-c5f8d1c6/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_all_listings

Browse the entire catalogue of listings across all cities. Returns paginated results sorted by publication date. Each page contains up to 18 listings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/get_all_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### get_listing_detail

Get full details for a single property listing by its ID. Returns comprehensive property information including description, location coordinates, features, photos, and agent details. The listing ID is obtainable from search_listings results via the objectID field.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The unique numeric ID of the listing (e.g. '60301'). Obtainable from search_listings results via objectID field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/get_listing_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listing_id":"<string>"}'
```

### get_listing_photos

Get all photos for a single property listing. Returns full-size image URLs for every photo associated with the listing. The listing ID is obtainable from search_listings results via the objectID field.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The unique numeric ID of the listing (e.g. '60301'). Obtainable from search_listings results via objectID field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/get_listing_photos \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listing_id":"<string>"}'
```

### get_property_valuation

Search for location IDs, coordinates, and boundary polygons for a given location name. Works with city names and municipality names. Returns municipality and submunicipality matches with encoded polygon geometries.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | Yes | Location name to search for (e.g. 'Milano', 'Roma', 'Bologna'). Works best with city or municipality names. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/get_property_valuation \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"<string>"}'
```

### search_listings

Search for property listings with optional city filter and pagination. Returns paginated results sorted by publication date. Each page contains up to 18 listings. When city is omitted, returns listings from all cities.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug in lowercase (e.g. 'milano', 'roma', 'bologna'). Omitting returns listings from all cities. |
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","page":"<integer>"}'
```

### search_listings_by_city

Search for listings in a specific city. Returns paginated results for the given city sorted by publication date. Each page contains up to 18 listings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | Yes | City name or slug in lowercase (e.g. 'milano', 'roma', 'bologna', 'genova'). |
| `page` | integer | No | Page number for pagination (1-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-casavo-it-api-c5f8d1c6/search_listings_by_city \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","page":"<integer>"}'
```
