# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/immoscout24-switzerland/`
**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 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/credits/immoscout24-switzerland/get-listing-company \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/immoscout24-switzerland/get-listing-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/immoscout24-switzerland/get-listing-images \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/immoscout24-switzerland/get-property-types \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/immoscout24-switzerland/search-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/immoscout24-switzerland/search-office-listings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","offer_type":"<string>","page":"<integer>"}'
```

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