Fuse room data for apps and AI assistants
Every Fuse room in Budapest and Riga, its monthly price for each contract length, when it is free, its address and its page, as data an app or an AI assistant can read. It is the live listing the room pages show, public and read only.
Rooms feed: rooms.json
Every room in Budapest and Riga, grouped by city, with the terms that apply to every room.
- rooms.json: https://fusestays.com/rooms.json (GET, JSON)
What it returns
- version, generatedAt (when this file was built), provider, currency (EUR)
- terms: what the monthly price includes, the fair use rule, the contract lengths and start days, the membership fee, the deposit rule per city and how to book
- cities: each city's name, page and lowest monthly price, with its rooms; failed is true when that city's list could not be read just now, and its rooms are then empty because they are unknown, not because there are none; saved is true when its rooms or their details are from the last good read, up to a day old, because the live listing did not fully answer just now
Each room
| Field | What it holds |
|---|---|
id | The room's id, as in its page address. |
url | The room's page on fusestays.com, where the student books it. |
bookUrlTemplate | The same page with a start date and contract length chosen: ?start={yyyy-mm-dd}&len={months}. |
city, building, district | Where it is. |
address | street, postalCode, locality and country (ISO code). |
coordinates | lat and lng of the building, when known. |
homeType, roomType | Flatshare, Coliving or Private apartment, and the room type as the site names it. |
sizeSqm, bed, floor | Room size in square metres, bed size and floor, when known. |
sharedWith, forGender | For a shared room: how many people share it besides the student, and female or male when it is for one gender only. |
monthlyPriceByContractMonths | Monthly price in EUR, all inclusive, keyed by contract length in months ("5", "6", "10", "12"). |
anyLengthOfferMonthly | The Riga offer: one monthly rate for any contract length, when the room has it. |
depositOn12Months | The deposit in EUR on the 12 month price. |
availableNow, availableFrom | Free to move in now, or the first free day (yyyy-mm-dd). |
nearbyUniversities | name, distance and travel time, as the listing gives them. |
photo | One photo of the room, when it has one. |
- Freshness
- The site reads the live listing at most every five minutes, so a copy is usually up to ten minutes old. When the listing does not fully answer, a city's rooms or their details can come from the last good read, up to a day old: saved is then true for that city. generatedAt is when the file was built, not when the listing was read. A shared cache may keep a copy for up to 5 minutes, never one made while a city's list was missing or came from the last good read.
- Limits
- No key needed. Open to any origin.
Rooms as schema.org data: rooms.jsonl
The same rooms as schema.org data, one per line, built with the same structured data as the room pages.
- rooms.jsonl: https://fusestays.com/rooms.jsonl (GET, one JSON object per line)
What it returns
- One Accommodation per line: a Room, or an Apartment for a studio, with its name, page, address, size and photo
- An Offer for each contract length: the monthly price in EUR, the contract length and its availability (InStock when free now, PreOrder with availabilityStarts when it frees up later)
- One more Offer on rooms with the Riga offer: one rate for any contract length
- When a city's rooms cannot be read and no saved list is left: 503 with Retry-After, never an empty or partial feed
- Freshness
- The site reads the live listing at most every five minutes, so a copy is usually up to ten minutes old. When the listing does not fully answer, a city's rooms or their details can come from the last good read, up to a day old. A shared cache may keep a copy for up to 5 minutes, never one made while a city's list was missing or came from the last good read. Listed in /schemamap.xml, which robots.txt names.
- Limits
- No key needed. Open to any origin.
Ask in plain words: /ask
A question or a search in plain words, answered as NLWeb (version 0.55) defines it: matching rooms, buildings and FAQ answers, each with its schema.org object.
- /ask: https://fusestays.com/ask?query=private+room+in+Riga (GET ?query=, or POST {"query": "..."} as JSON)
What it returns
- _meta: the version, the filters the question was understood as, when the answer was built (data_read_at) and a message when nothing fits
- results: each with its page (url), name, score, a short description and its schema.org object
- As one JSON document, or as a text/event-stream when streaming is asked for (streaming=true, or Accept: text/event-stream)
What it takes
| Field | What it holds |
|---|---|
query | The question, up to 300 characters. Required. |
prev | Earlier questions of the same conversation, so a follow up keeps their filters. |
mode | list (the default), summarize or generate: the last two add a short summary of the best match. |
num | How many results, 1 to 25. Default 10. |
streaming | true for a text/event-stream. |
- Freshness
- Never cached itself. The site reads the live listing at most every five minutes, so a copy is usually up to ten minutes old. When the listing does not fully answer, a city's rooms or their details can come from the last good read, up to a day old. data_read_at is when the answer was built, not when the listing was read.
- Limits
- 30 requests a minute per client. Past that it answers 429 with Retry-After.
MCP servers
Two Model Context Protocol servers: JSON-RPC by POST, stateless, no sessions and no key (protocol versions 2025-11-25, 2025-06-18, 2025-03-26). Add either to an MCP client by its address.
- Rooms server:
https://fusestays.com/mcp(POST, Streamable HTTP) - Docs server:
https://fusestays.com/mcp/docs(POST, Streamable HTTP) - Rooms server card: https://fusestays.com/mcp/server-card (GET, also at /.well-known/mcp/server-card.json)
- Docs server card: https://fusestays.com/mcp/docs/server-card (GET)
What it returns
- Rooms server tools: search_rooms, get_room_details, get_prices_and_availability, answer_faq, get_booking_steps. Each is marked read only and describes its result with an output schema. Clients that support MCP Apps show search_rooms and get_room_details results as room cards.
- Docs server tools: search_docs, get_docs_page, list_docs, over every page's markdown.
- A room's link is its page on fusestays.com, where the student books it.
The tools
| Field | What it holds |
|---|---|
search_rooms | Rooms by city, move in date, budget, room type, home type and contract length, cheapest first, each with its page. |
get_room_details | One room's price for each contract length, deposit, fees, dates, address and nearby universities. |
get_prices_and_availability | The price range per city and room type, and when a room of each type is free. |
answer_faq | Answers from the site's FAQ and city guides, each with the page that shows it. |
get_booking_steps | The booking steps, documents and payments, as the site runs them. |
search_docs | Finds pages and FAQ answers by words. |
get_docs_page | One page as markdown, word for word. |
list_docs | Every page, by part of the site. |
- Freshness
- Never cached itself. The site reads the live listing at most every five minutes, so a copy is usually up to ten minutes old. When the listing does not fully answer, a city's rooms or their details can come from the last good read, up to a day old: the room tools then name that city in saved_cities. Their data_read_at is when the answer was built, not when the listing was read. The docs server's page index is kept for five minutes, then rebuilt.
- Limits
- 60 requests a minute per client for each server. Past that it answers 429 with Retry-After and a JSON-RPC error.
Terms
- Read only: nothing here books, holds, pays, uploads or signs. Only the student books, on the room's own page.
- Book: the booking includes an identity check that the student does themselves, with their own ID document.
- Public and free to use, with no key.
- Prices are monthly, in euros and all inclusive: rent, utilities and Wi-Fi. Contracts run for 5, 6, 10 or 12 months; shorter contracts cost more a month. Rooms and prices change, so read them fresh and say when they were read.
- No personal data is served anywhere.
- Questions about the data: support@fusestays.com.
More for AI assistants: Agent guide, llms.txt, Agent catalog, Prices.