Operations 2
GET
/api/public/v1/listings/{id}/intelligence
Full public listing evidence for assistants, with JSON, Markdown or a…
#
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/chathome-lu:chathome-lu-listings-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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.
openapi: 3.2.0
info:
title: Chathome Lu Listings API
version: 1.2.0
contact:
name: ChatHome
url: https://chathome.lu/en/mission
license:
name: Terms of use
url: https://chathome.lu/en/legal/terms
description: 'Operations tagged Listings across 2 of this provider''s published API definitions: chathome-lu-openapi.json, chathome-lu-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://chathome.lu
description: Production
tags:
- name: Listings
description: Read one property.
paths:
/api/public/v1/listings/{id}/intelligence:
get:
tags:
- Listings
operationId: getListingIntelligence
summary: Full public listing evidence for assistants, with JSON, Markdown or a…
parameters:
- name: id
in: path
required: true
schema:
type: string
pattern: ^[A-Za-z0-9_-]{1,128}$
- name: locale
in: query
required: false
description: Language for sourced page text and the review prompt
schema:
type: string
enum:
- en
- fr
- de
- lu
- pt
default: en
- name: format
in: query
schema:
type: string
enum:
- json
- markdown
- review
default: json
responses:
'200':
description: The same public evidence as MCP get_listing. Section presence does not imply all fields are known. No model call or account.
content:
application/json:
schema:
type: object
required:
- schemaVersion
- listing
- listingPage
- listingPageContext
- pageText
- listingTools
- sectionPresence
- links
- trust
properties:
schemaVersion:
type: string
const: listing-intelligence.v1
listing:
type: object
description: 'AgentListing v2: numeric EUR prices, monthly/annual cost fields, source evidence, location precision and explicit unknowns.'
properties:
id:
type: string
url:
type: string
format: uri
status:
type: string
const: active
price:
type:
- number
- 'null'
currency:
type: string
const: EUR
areaSqm:
type:
- number
- 'null'
source:
type:
- object
- 'null'
properties:
listingUrl:
type: string
lastSeenAt:
type:
- string
- 'null'
location:
type: object
properties:
precision:
type: string
enum:
- exact_address
- street
- district
- commune_only
- unknown
address:
type:
- string
- 'null'
rent:
type:
- object
- 'null'
properties:
monthlyTotal:
type:
- number
- 'null'
knownMonthlyLowerBound:
type:
- number
- 'null'
exactUpfrontCost:
type:
- number
- 'null'
unknownComponents:
type: array
items:
type: string
missingFields:
type: array
items:
type: string
fieldProvenance:
type: object
additionalProperties: true
propertyChecks:
type:
- object
- 'null'
transport:
type:
- object
- 'null'
additionalProperties: true
listingPage:
type: object
additionalProperties: true
description: Fail-closed public listing record; no internal or user-specific data.
listingPageContext:
type:
- object
- 'null'
properties:
priceHistory:
type:
- object
- 'null'
priceEvolution:
type:
- object
- 'null'
familyAmenities:
type:
- object
- 'null'
neighborhoodFacts:
type:
- object
- 'null'
countryEvidence:
type:
- object
- 'null'
transitSummary:
type:
- object
- 'null'
commuteSummary:
type:
- object
- 'null'
passport:
type:
- object
- 'null'
propertyChecks:
type:
- object
- 'null'
parcelDossier:
type:
- object
- 'null'
storedPlanning:
type:
- object
- 'null'
storedCommute:
type:
- object
- 'null'
currentSale:
type:
- object
- 'null'
pageText:
type: object
additionalProperties: true
listingTools:
type:
- object
- 'null'
description: Saved, dated financial examples and their completeness flags; not personal advice.
sectionPresence:
type: object
additionalProperties:
type: boolean
description: Payload presence only. Nested status/coverage and unknown fields determine whether any usable evidence exists.
links:
type: object
properties:
listing:
type: string
format: uri
json:
type: string
format: uri
markdown:
type: string
format: uri
mcp:
type: string
format: uri
trust:
type: object
additionalProperties: true
text/markdown:
schema:
type: string
text/plain:
schema:
type: string
'400':
description: Invalid ID, language or format
content:
application/json:
schema:
type: object
additionalProperties: true
'404':
description: Listing not found or no longer public
content:
application/json:
schema:
type: object
additionalProperties: true
'429':
description: Rate limited; see Retry-After
content:
application/json:
schema:
type: object
additionalProperties: true
'503':
description: Evidence temporarily unavailable
content:
application/json:
schema:
type: object
additionalProperties: true
servers:
- url: https://chathome.lu
description: Production
/api/listings/public/{id}:
get:
tags:
- Listings
operationId: getPublicListing
summary: Get one listing's public facts
description: Source-checked public facts for a single property, with gallery photos and the canonical chathome.lu URL. Facts without source evidence are returned as unknown rather than guessed.
parameters:
- name: id
in: path
required: true
description: Listing id (letters, digits, hyphen, underscore).
schema:
type: string
pattern: ^[A-Za-z0-9_-]{1,128}$
- name: lang
in: query
required: false
description: Translate the listing copy into this language.
schema:
type: string
enum:
- en
- fr
- de
- lu
- pt
responses:
'200':
description: The listing.
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
id:
type: string
title:
type:
- string
- 'null'
price:
type:
- number
- 'null'
listingType:
type:
- string
- 'null'
location:
type:
- object
- 'null'
properties:
city:
type:
- string
- 'null'
district:
type:
- string
- 'null'
country:
type:
- string
- 'null'
additionalProperties: true
signedImages:
type: array
items:
type: string
description: 'Listing document: identity, price, specs, location, images, agency contact target, and per-fact source evidence.'
'400':
description: Malformed listing id.
content:
application/json:
schema:
type: object
additionalProperties: true
'404':
description: No data for this identifier.
content:
application/json:
schema:
type: object
description: Standard public-API error envelope used by /api/public/v1 routes.
properties:
error:
type: object
properties:
code:
type: string
enum:
- RATE_LIMIT_EXCEEDED
- UNAUTHORIZED
- NOT_FOUND
- BAD_REQUEST
- INTERNAL_ERROR
message:
type: string
details:
type: object
additionalProperties: true
required:
- code
- message
status:
type: integer
required:
- error
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
type: object
additionalProperties: true
servers:
- url: https://chathome.lu
description: Production
externalDocs:
description: Agent-facing overview, MCP setup, and data sources
url: https://chathome.lu/llms.txt
x-refined-from:
- chathome-lu-openapi.json
- chathome-lu-openapi.yml