Properties
| Name | Type | Description |
|---|---|---|
| bedroomMin | integer | Minimum number of bedrooms in the property. |
| bedroomMax | integer | Maximum number of bedrooms in the property. |
| budgetMax | number | Maximum budget for the property. |
| budgetMin | number | Minimum budget for the property. |
| endpointRecipient | string | HTTPS webhook that receives `match` payloads whenever a property satisfies the search. Requires `notificationEnabled=true`. |
| eventEndpoint | string | HTTPS webhook that receives advert `event` payloads (price changes, expirations, etc.). Requires `notificationEnabled=true` and at least one entry in `subscribedEvents`. |
| excludedCities | array | Cities to be excluded. |
| excludedSites | array | Source sites to be excluded. |
| excludedSiteCategories | array | Site categories to be excluded. |
| expressions | array | Full text matching including/excluding words & phrases in the title or the description of the property. |
| furnished | boolean | Whether the property is furnished or not. |
| geoAccuracy | number | Geocoding confidence level. Use `1` to keep only house-number level matches and `2` to include neighborhood-level approximations. Leave empty to allow both. |
| geoShapes | array | Filters properties within specified geographic areas (arrays of `[lon, lat]` points forming polygons). |
| hidePropertyContact | boolean | Whether to hide property contact information or not. |
| includedCities | array | Included cities. Use the location autocomplete endpoint to get the desired city IRIs. |
| includedDepartments | array | Included departments. Use the location autocomplete endpoint to get the desired department IRIs. |
| includedSiteCategories | array | Included site categories. |
| includedSites | array | Source sites to be included. |
| includedZipcodes | array | Included zipcodes. |
| includedZipcodesInsee | array | Included INSEE codes (used to infer the cities associated with the search). |
| landSurfaceMax | number | Maximum land surface. |
| landSurfaceMin | number | Minimum land surface. |
| lat | number | Latitude of the center point used for radial filtering. Provide together with `lon`. |
| lon | number | Longitude of the center point used for radial filtering. Provide together with `lat`. |
| notificationEnabled | boolean | Enables delivery of matches and events either by webhook (`endpointRecipient`, `eventEndpoint`) or by email (`notificationRecipient`). |
| notificationRecipient | string | Email address that receives alert summaries when `notificationEnabled=true`. |
| pricePerMeterMax | number | Maximum price per meter. |
| pricePerMeterMin | number | Minimum price per meter. |
| propertyTypes | array | Type of property. Apartment `0`, House `1`, Building `2`, Parking `3`, Office `4`, Land `5`, Shop `6`. |
| publisherTypes | array | Type of publisher. Individual `0`, Professional `1`. |
| radius | number | Distance in kilometers around the provided `lat`/`lon`. |
| roomMin | integer | Minimum number of rooms. |
| roomMax | integer | Maximum number of rooms. |
| subscribedEvents | array | Event codes you want to receive on the `eventEndpoint`. |
| surfaceMax | number | Maximum property surface area. |
| surfaceMin | number | Minimum property surface area. |
| title | string | Title of the created search. |
| transactionType | integer | Type of transaction. Sell `0`, Rent `1`. |
| withCoherentPrice | booleannull | Price coherence filter. `true` returns adverts whose price passes our coherence checks; `false` returns adverts flagged as incoherent — both also include adverts whose price has not been assessed. Set |
| withVirtualTour | boolean | Whether the property includes a virtual tour. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/stream-estate/json-schema/stream-estate-search-input-schema.json",
"title": "SearchInput",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/stream-estate-openapi.json#/components/schemas/SearchInput",
"type": "object",
"required": [
"propertyTypes",
"title",
"transactionType"
],
"properties": {
"bedroomMin": {
"type": "integer",
"description": "Minimum number of bedrooms in the property."
},
"bedroomMax": {
"type": "integer",
"description": "Maximum number of bedrooms in the property."
},
"budgetMax": {
"type": "number",
"description": "Maximum budget for the property."
},
"budgetMin": {
"type": "number",
"description": "Minimum budget for the property."
},
"endpointRecipient": {
"type": "string",
"format": "uri",
"description": "HTTPS webhook that receives `match` payloads whenever a property satisfies the search. Requires `notificationEnabled=true`."
},
"eventEndpoint": {
"type": "string",
"format": "uri",
"description": "HTTPS webhook that receives advert `event` payloads (price changes, expirations, etc.). Requires `notificationEnabled=true` and at least one entry in `subscribedEvents`."
},
"excludedCities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cities to be excluded."
},
"excludedSites": {
"type": "array",
"items": {
"type": "string"
},
"description": "Source sites to be excluded."
},
"excludedSiteCategories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Site categories to be excluded."
},
"expressions": {
"type": "array",
"description": "Full text matching including/excluding words & phrases in the title or the description of the property.",
"items": {}
},
"furnished": {
"type": "boolean",
"description": "Whether the property is furnished or not."
},
"geoAccuracy": {
"type": "number",
"description": "Geocoding confidence level. Use `1` to keep only house-number level matches and `2` to include neighborhood-level approximations. Leave empty to allow both."
},
"geoShapes": {
"type": "array",
"items": {},
"description": "Filters properties within specified geographic areas (arrays of `[lon, lat]` points forming polygons)."
},
"hidePropertyContact": {
"type": "boolean",
"description": "Whether to hide property contact information or not."
},
"includedCities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Included cities. Use the location autocomplete endpoint to get the desired city IRIs."
},
"includedDepartments": {
"type": "array",
"items": {
"type": "string"
},
"description": "Included departments. Use the location autocomplete endpoint to get the desired department IRIs."
},
"includedSiteCategories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Included site categories."
},
"includedSites": {
"type": "array",
"items": {
"type": "string"
},
"description": "Source sites to be included."
},
"includedZipcodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Included zipcodes."
},
"includedZipcodesInsee": {
"type": "array",
"items": {
"type": "string"
},
"description": "Included INSEE codes (used to infer the cities associated with the search)."
},
"landSurfaceMax": {
"type": "number",
"description": "Maximum land surface."
},
"landSurfaceMin": {
"type": "number",
"description": "Minimum land surface."
},
"lat": {
"type": "number",
"description": "Latitude of the center point used for radial filtering. Provide together with `lon`."
},
"lon": {
"type": "number",
"description": "Longitude of the center point used for radial filtering. Provide together with `lat`."
},
"notificationEnabled": {
"type": "boolean",
"default": false,
"description": "Enables delivery of matches and events either by webhook (`endpointRecipient`, `eventEndpoint`) or by email (`notificationRecipient`)."
},
"notificationRecipient": {
"type": "string",
"description": "Email address that receives alert summaries when `notificationEnabled=true`."
},
"pricePerMeterMax": {
"type": "number",
"description": "Maximum price per meter."
},
"pricePerMeterMin": {
"type": "number",
"description": "Minimum price per meter."
},
"propertyTypes": {
"type": "array",
"description": "Type of property. Apartment `0`, House `1`, Building `2`, Parking `3`, Office `4`, Land `5`, Shop `6`.",
"items": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6
]
}
},
"publisherTypes": {
"type": "array",
"description": "Type of publisher. Individual `0`, Professional `1`.",
"items": {
"type": "integer",
"enum": [
0,
1
]
}
},
"radius": {
"type": "number",
"description": "Distance in kilometers around the provided `lat`/`lon`."
},
"roomMin": {
"type": "integer",
"description": "Minimum number of rooms."
},
"roomMax": {
"type": "integer",
"description": "Maximum number of rooms."
},
"subscribedEvents": {
"type": "array",
"description": "Event codes you want to receive on the `eventEndpoint`.",
"items": {
"type": "string",
"enum": [
"ad.update.price",
"ad.update.surface",
"ad.update.pictures",
"ad.update.expired",
"property.ad.create",
"property.ad.update"
]
}
},
"surfaceMax": {
"type": "number",
"description": "Maximum property surface area."
},
"surfaceMin": {
"type": "number",
"description": "Minimum property surface area."
},
"title": {
"type": "string",
"description": "Title of the created search."
},
"transactionType": {
"type": "integer",
"description": "Type of transaction. Sell `0`, Rent `1`.",
"enum": [
0,
1
]
},
"withCoherentPrice": {
"type": [
"boolean",
"null"
],
"description": "Price coherence filter. `true` returns adverts whose price passes our coherence checks; `false` returns adverts flagged as incoherent — both also include adverts whose price has not been assessed. Set to `null` (or send an empty value) to disable filtering. If omitted, defaults to `true`."
},
"withVirtualTour": {
"type": "boolean",
"description": "Whether the property includes a virtual tour."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stream-estate-search-input"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.