DormBix Public API

The Public API from DormBix — 3 operation(s) for public.

Operations 4

GET /api/public/ai/search Search for dormitories with intent mapping #
GET /api/public/ai/availability Check the last-saved vacancy status of up to 10 listings #
POST /api/public/ai/availability Same as checkAvailability, with the ids in a JSON body #
GET /api/public/ai/dorm/{id} Get exhaustive dorm details and room inventory #

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/dormbix-com:dormbix-com-public-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

dormbix-com-public-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DormBix — Dorm Search & Availability API (Thailand) Public…
  description: 'The public, no-auth SEARCH surface of DormBix, a Thai dorm-management platform. It lets AI agents help renters find apartments and dormitories: listing name, location, pricing, amenities and contact details. Vacancy status exists only for the subset of listings whose owner runs the DormBix management system, and it is the value that owner last saved — each result carries its own update time, so check it and tell the user to confirm with the dorm. Totals and scope: https://www.dormbix.com/llms.txt. NOTE: dorm MANAGEMENT for owners (rooms, meters, billing, tenants) is a separate authenticated surface via Model Context Protocol at https://www.dormbix.com/api/mcp (overview at https://www.dormbix.com/ai) — not part of this search API.'
  version: 2.2.0
  contact:
    name: DormBix AI Team
    url: https://www.dormbix.com
servers:
- url: https://www.dormbix.com
  description: Production Server
tags:
- name: Public
paths:
  /api/public/ai/search:
    get:
      operationId: searchDorms
      summary: Search for dormitories with intent mapping
      description: 'Primary tool to find dorms in Thailand. Use this when users ask for housing near landmarks or with specific features. INTENT MAPPING: the `keyword` parameter understands Thai context like "หอถูก" (cheap), "เลี้ยงสัตว์ได้" (pet-friendly), and university abbreviations. Listings whose owner runs the DormBix management system are returned first, because they are the only ones that carry a vacancy figure.'
      parameters:
      - name: province
        in: query
        required: false
        schema:
          type: string
        description: Province name in Thai (e.g., นครปฐม, กรุงเทพ)
      - name: nearby
        in: query
        required: false
        schema:
          type: string
        description: Landmark or university name (e.g., ม.ศิลปากร, มหิดล)
      - name: keyword
        in: query
        required: false
        schema:
          type: string
        description: Natural language search. Can include multiple criteria in one string.
      - name: price_max
        in: query
        required: false
        schema:
          type: integer
        description: Budget limit in Thai Baht (THB)
      - name: pet_friendly
        in: query
        required: false
        schema:
          type: boolean
        description: If true, only shows properties allowing pets.
      - name: available_now
        in: query
        required: false
        schema:
          type: boolean
        description: 'IMPORTANT: If true, filters out properties with no current vacancies.'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          maximum: 20
      responses:
        '200':
          description: Search results including intent mapping confirmation
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  count:
                    type: integer
                  dorms:
                    type: array
                    items:
                      type: object
                      properties:
                        dorm_id:
                          type: string
                        name:
                          type: string
                        tier:
                          type: string
                          enum:
                          - verified
                          - listing
                        vacant_rooms:
                          type: integer
                          nullable: true
                        min_rent:
                          type: number
                        canonical_url:
                          type: string
                          format: uri
      tags:
      - Public
  /api/public/ai/availability:
    get:
      operationId: checkAvailability
      summary: Check the last-saved vacancy status of up to 10 listings
      description: 'Pass dorm_id values taken from searchDorms. Each result carries updated_at and age_days: the status is what the dorm owner last saved in DormBix, not a live reservation feed, so tell the user to confirm with the dorm. Listings that are not published on DormBix, or whose owner opted out of AI access, come back with status "not_listed".'
      parameters:
      - name: dorm_ids
        in: query
        required: true
        schema:
          type: string
        description: Comma-separated dorm_id values (UUID), at most 10. May also be repeated.
        example: 4ab547d7-a217-4415-9d52-310e337d0713
      responses:
        '200':
          $ref: '#/components/responses/AvailabilityResult'
        '400':
          $ref: '#/components/responses/BadRequest'
      tags:
      - Public
    post:
      operationId: batchCheckAvailability
      summary: Same as checkAvailability, with the ids in a JSON body
      description: Identical behaviour to the GET form. Use whichever your client supports; the GET form works for agents that can only browse URLs.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - dorm_ids
              properties:
                dorm_ids:
                  type: array
                  items:
                    type: string
                    format: uuid
                  maxItems: 10
                  description: dorm_id values (UUID) from search results.
                  example:
                  - 4ab547d7-a217-4415-9d52-310e337d0713
      responses:
        '200':
          $ref: '#/components/responses/AvailabilityResult'
        '400':
          $ref: '#/components/responses/BadRequest'
      tags:
      - Public
  /api/public/ai/dorm/{id}:
    get:
      operationId: getDormDetails
      summary: Get exhaustive dorm details and room inventory
      description: Get full details for a specific dorm including specific room types, inventory, and property policies. Use this when a user selects a specific dorm and wants to see everything about it.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Dorm unique identifier (id or slug)
      responses:
        '200':
          description: Comprehensive dorm profile
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  dorm:
                    type: object
                  vacancy:
                    type: object
      tags:
      - Public
components:
  responses:
    AvailabilityResult:
      description: Last-saved vacancy status per listing
      content:
        application/json:
          schema:
            type: object
            properties:
              ok:
                type: boolean
              generated_at:
                type: string
                format: date-time
              availability:
                type: array
                items:
                  type: object
                  properties:
                    dorm_id:
                      type: string
                      format: uuid
                    name:
                      type: string
                      nullable: true
                    status:
                      type: string
                      enum:
                      - available
                      - full
                      - contact_required
                      - not_listed
                    vacant_count:
                      type: integer
                      nullable: true
                      description: Only present when the owner chose to disclose room counts.
                    updated_at:
                      type: string
                      format: date-time
                      nullable: true
                    age_days:
                      type: integer
                      nullable: true
                      description: Days since the owner last changed this listing or its rooms.
                    note:
                      type: string
                      description: Wording to pass on to the user (Thai).
    BadRequest:
      description: dorm_ids missing or not UUID values
      content:
        application/json:
          schema:
            type: object
            properties:
              ok:
                type: boolean
              error:
                type: string
              invalid_ids:
                type: array
                items:
                  type: string