Property Search
Search for real estate listings on Immowelt with filters for location, property type, price range, rooms, and size.
Endpoint
/api/immowelt/search
Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Parameters
string
Required
City name, postal code, or location ID (e.g., "Berlin", "10115", "1")
string
Optional
Property type: apartment-rent, apartment-buy, house-rent, house-buy (default: apartment-rent)
integer
Optional
Minimum price in EUR
integer
Optional
Maximum price in EUR
number
Optional
Minimum number of rooms
number
Optional
Maximum number of rooms
integer
Optional
Minimum size in m^2
integer
Optional
Maximum size in m^2
integer
Optional
Page number for pagination
integer
Optional
Number of results per page (max: 50, default: 20)
Request Examples
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'x-api-key: YOUR_API_KEY_HERE',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
<?php
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent');
return $response->json();
fetch('https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
const axios = require('axios');
axios.get('https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent', {
headers: {
'x-api-key': 'YOUR_API_KEY_HERE'
}
})
.then(response => console.log(response.data))
.catch(error => console.error('Error:', error));
import requests
headers = {
'x-api-key': 'YOUR_API_KEY_HERE'
}
response = requests.get('https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse('https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts JSON.parse(response.body)
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/immowelt/search?location=Berlin&type=apartment-rent' \
-H 'x-api-key: YOUR_API_KEY_HERE'
Response Schema
{
"success": true,
"total_results": 1234,
"page": 1,
"total_pages": 62,
"results": [
{
"id": "123456",
"title": "Sample listing in Berlin",
"price": 2440,
"price_formatted": "2.440 EUR",
"rooms": 4,
"size_m2": 137,
"address": "Berlin, Germany",
"lat": 52.52,
"lon": 13.405,
"image_url": "https://pictures.immowelt.de/sample.jpg",
"url": "https://www.immowelt.de/expose/123456",
"is_private": false,
"published": "2024-01-15T10:00:00Z"
}
]
}