ChatHome Listings API

Read one property.

GitHub OpenAPI

Operations 2

GET /api/public/v1/listings/{id}/intelligence Full public listing evidence for assistants, with JSON, Markdown or a… #
GET /api/listings/public/{id} Get one listing's public facts #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/chathome-lu:chathome-lu-listings-api"
All apis
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.

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.

OpenAPI Specification

chathome-lu-listings-api-openapi.yml Raw ↑
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