# Immoscout24 (Switzerland) — 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 residential and commercial property listings on ImmoScout24 by location, price, and room count, then access detailed information including images, company details, and property types. Find your ideal property with comprehensive filtering options and complete listing data all in one place.

**Category:** Real Estate | **Website:** [immoscout24.ch/](https://immoscout24.ch/) | **Docs:** [parse.bot/marketplace/eaf5d748-8944-4344-976c-96277370522f/immoscout24-ch-api](https://parse.bot/marketplace/eaf5d748-8944-4344-976c-96277370522f/immoscout24-ch-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-immoscout24-ch-api-eaf5d748/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_listing_company

Get the company/agency information for a listing by its ID. Returns the agency name, logo, address, and subscription tier.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The unique listing ID from search_listings or search_office_listings results. |

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

### get_listing_details

Get full details for a specific listing by its ID. Returns price, rooms, address with geocoordinates, HTML description, title, image URLs, and company/agency information. The listing_id is obtained from search_listings or search_office_listings results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The unique listing ID from search_listings or search_office_listings results. |

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

### get_listing_images

Get all image URLs for a specific listing by its ID. Returns the complete set of images associated with the listing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listing_id` | string | Yes | The unique listing ID from search_listings or search_office_listings results. |

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

### get_property_types

Get a static list of available property type categories used across listings on the platform.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immoscout24-ch-api-eaf5d748/get_property_types \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_listings

Search for residential property listings for rent or buy on immoscout24.ch. Returns paginated results ordered by top listing score. Each page contains up to 20 listings with full address, price, characteristics, and image data. Pagination via the page parameter; total pages available in the response.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | No | Location slug for geographic filtering (e.g. 'city-zurich', 'canton-geneva', '8048'). |
| `offer_type` | string | No | Listing offer type. |
| `page` | integer | No | Page number for pagination. |
| `price_from` | number | No | Minimum price in CHF. |
| `price_to` | number | No | Maximum price in CHF. |
| `rooms_from` | number | No | Minimum number of rooms. |
| `rooms_to` | number | No | Maximum number of rooms. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immoscout24-ch-api-eaf5d748/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","offer_type":"<string>","page":"<integer>","price_from":"<number>","price_to":"<number>","rooms_from":"<number>","rooms_to":"<number>"}'
```

### search_office_listings

Search for commercial office, retail, and industrial property listings. Returns paginated results with the same structure as search_listings but scoped to commercial categories. Pagination via the page parameter.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | No | Location slug for geographic filtering (e.g. 'city-zurich', 'canton-geneva', '8048'). |
| `offer_type` | string | No | Listing offer type. |
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immoscout24-ch-api-eaf5d748/search_office_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","offer_type":"<string>","page":"<integer>"}'
```
