---
title: "Room preview"
method: GET
path: "/room/{room_id_or_alias}"
tags: ["catalog"]
---

# Room preview

`GET /room/{room_id_or_alias}`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/etkecc/apis/matrix-rooms-search-api/docs/room/:room_id_or_alias/get.ts> (a function with typed inputs; its response is checked against the schema)

Room preview by ID or alias: like the Matrix client-server room preview, but enriched with everything MRS knows about a room (language and so on). We try our own index first, then fall back to a live MSC3266 summary, and when that fallback fires we set the `X-MRS-MSC3266: true` response header so you can tell. Marked EXPERIMENT in the source, so treat the shape as not yet frozen.

## Path parameters

- `room_id_or_alias` string, required

## Query parameters

- `via` string

## Response `200`

Room data

- GithubComEtkeccMrsInternalModelMatrixRoom
  - `avatar_url` string
  - `avatar_url_http` string
  - `canonical_alias` string
  - `email` string
  - `guest_can_join` boolean
  - `join_rule` string
  - `language` string
  - `name` string
  - `num_joined_members` integer
  - `parsed_at` string
  - `room_id` string
  - `room_type` string
  - `server` string: Parsed (custom) fields
  - `servers` string[]
  - `topic` string
  - `world_readable` boolean

## Other responses

- `404`: Room not found anywhere we looked
- `500`: Internal error reading the room

## Changes

- **2026-07-08** `ae3c2fd65492`: 1 info
  - endpoint added
- **2024-08-20** `4009b08a3a5a`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/etkecc/apis/matrix-rooms-search-api/changes/room/:room_id_or_alias/get.md)

---

[API](https://skmtc.dev/etkecc/apis/matrix-rooms-search-api.md) - [All operations](https://skmtc.dev/etkecc/apis/matrix-rooms-search-api/llms.txt) - [OpenAPI document](https://skmtc.dev/etkecc/apis/matrix-rooms-search-api/revisions/fafe2e40cd8c?raw)
