# Immowelt — 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 real estate listings across Germany on Immowelt.de, with access to property details, images, and features for both rentals and sales. Filter results by location and sorting preferences to find properties that match your needs.

**Category:** Real Estate | **Website:** [immowelt.de/](https://immowelt.de/) | **Docs:** [parse.bot/marketplace/85d19e78-ff7e-4272-9650-9b7a845d02c8/immowelt-de-api](https://parse.bot/marketplace/85d19e78-ff7e-4272-9650-9b7a845d02c8/immowelt-de-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-immowelt-de-api-85d19e78/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_listing_details

Retrieve full details for a specific property listing by its UUID. Returns title, address, price, key facts, description, features, and image URLs. The UUID is obtainable from search_listings results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | The UUID of the listing (e.g. '7847437c-82b4-4347-a6b6-452ecc09f62d'), obtainable from search_listings results[*].uuid. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immowelt-de-api-85d19e78/get_listing_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### get_listing_images

Retrieve only image URLs for a specific property listing. A convenience endpoint that returns the listing UUID and its associated image URLs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `id` | string | Yes | The UUID of the listing (e.g. '7847437c-82b4-4347-a6b6-452ecc09f62d'), obtainable from search_listings results[*].uuid. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immowelt-de-api-85d19e78/get_listing_images \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"<string>"}'
```

### search_listings

Search for real estate listings (rent or buy) with optional filters. Returns paginated listing cards with basic info including price, rooms, area, and address. The location parameter must be a full path as used in Immowelt URLs, including city name, district/ZIP, and geoid. Each page returns up to ~20 listings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `location` | string | Yes | Location path including city, district/ZIP, and geoid (e.g. 'berlin/berlin-10115/ad08de8634'). Forms part of the URL path and must match Immowelt's internal location format. |
| `order` | string | No | Sort order for results. |
| `page` | integer | No | Page number for pagination. |
| `price_max` | integer | No | Maximum price filter. |
| `price_min` | integer | No | Minimum price filter. |
| `property_type` | string | No | Property type to search for. |
| `rooms_min` | integer | No | Minimum number of rooms. |
| `space_min` | integer | No | Minimum living area in square meters. |
| `transaction` | string | No | Transaction type. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-immowelt-de-api-85d19e78/search_listings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"location":"<string>","order":"<string>","page":"<integer>","price_max":"<integer>","price_min":"<integer>","property_type":"<string>","rooms_min":"<integer>","space_min":"<integer>","transaction":"<string>"}'
```
