GraphQL API for German real estate listings aggregated from Immobilienscout24, Immowelt, Immonet, Kleinanzeigen, and more.
Somantic.net is a GraphQL API that aggregates property listings from the major German real estate platforms including Immobilienscout24, Immowelt, Immonet, Kleinanzeigen, Ohne Makler, and several others. Query houses and apartments for sale or rent, filter by federal state, city, or ZIP code, get average prices per square meter, total listing counts, and rental market statistics. A companion web UI is available at https://www.somantic.net.
/graphqlQuery apartment listings with filters for action (kaufen/mieten), location, state, city, ZIP code, and platform. Supports pagination.
| Name | Type | Required | Description |
|---|---|---|---|
order_by | string | Optional | Sort field, e.g. "-uptime_date" or "-price" |
per_page | number | Optional | Results per page (max 100) |
page | number | Optional | Page number for pagination |
filters.action | string | Optional | "kaufen" (buy) or "mieten" (rent) |
filters.location | string | Optional | Federal state slug, e.g. "bl-bayern" or "bl-baden-wuerttemberg" |
filters.city | string | Optional | City name, e.g. "Hagen" |
filters.zipcode_in | number | Optional | ZIP code, e.g. 23552 |
filters.spider | string | Optional | Platform slug, e.g. "kleinanzeigen", "immowelt", "immobilienscout24" |
filters.is_active | boolean | Optional | Filter active listings only |
query AppartmentQuery {
all_appartments(
order_by: "-uptime_date"
per_page: 10
page: 1
filters: {
is_active: true
action: "kaufen"
location: "bl-bayern"
spider: "kleinanzeigen"
}
) {
edges {
node {
uptime_date
url
square_meter
price
}
}
}
}/graphqlQuery house listings with filters for action, location, platform, and ordering. Supports pagination.
| Name | Type | Required | Description |
|---|---|---|---|
order_by | string | Optional | Sort field, e.g. "-price" for descending price |
per_page | number | Optional | Results per page (max 100) |
page | number | Optional | Page number for pagination |
filters.action | string | Optional | "kaufen" (buy) or "mieten" (rent) |
filters.location | string | Optional | Federal state slug, e.g. "bl-baden-wuerttemberg" |
filters.spider | string | Optional | Platform slug, e.g. "immowelt" |
filters.is_active | boolean | Optional | Filter active listings only |
query HouseQuery {
all_houses(
order_by: "-price"
per_page: 20
page: 1
filters: {
is_active: true
action: "kaufen"
location: "bl-baden-wuerttemberg"
spider: "immowelt"
}
) {
edges {
node {
uptime_date
url
square_meter
price
}
}
}
}/graphqlGet the average price or rent per square meter for apartments in a given region.
| Name | Type | Required | Description |
|---|---|---|---|
filters.action | string | Required | "kaufen" (buy) or "mieten" (rent) |
filters.location | string | Optional | Federal state slug or city name |
filters.is_active | boolean | Optional | Filter active listings only |
query ActiveApartmentAveragePriceBWQuery {
avg_appartments(
filters: {
is_active: true
action: "kaufen"
location: "bl-baden-wuerttemberg"
}
) {
edges {
node {
avg_price_per_square_meter
}
}
}
}/graphqlGet the total number of active listings matching the given filters.
| Name | Type | Required | Description |
|---|---|---|---|
filters.action | string | Required | "kaufen" (buy) or "mieten" (rent) |
filters.location | string | Optional | Federal state slug or city name, e.g. "hamburg" |
filters.is_active | boolean | Optional | Filter active listings only |
query ActiveRentApartmentCountHHQuery {
total_appartments_count(
filters: {
is_active: true
action: "mieten"
location: "hamburg"
}
)
}