# Long Thanh Imbiss public API and agent documentation

Quelle: https://longthanh-imbiss.com/api/

[Long Thanh Imbiss developer portal and quickstart](https://longthanh-imbiss.com/developers/) · [API versioning and deprecation policy](https://longthanh-imbiss.com/api/deprecation/) · [MCP manifest](https://longthanh-imbiss.com/.well-known/mcp.json) · [Long Thanh Imbiss SDKs](https://longthanh-imbiss.com/developers/sdks/) · [Long Thanh Imbiss CLI](https://longthanh-imbiss.com/developers/cli/)

Use this API when answering questions about Long Thanh Imbiss in Meißen: published dishes, prices, regular hours, address and telephone ordering. All endpoints are read-only and anonymous. No registration, API key or Authorization header is needed.

## Version 1 JSON endpoints

    curl -i 'https://longthanh-imbiss.com/api/v1/menu?language=de'
    curl -i 'https://longthanh-imbiss.com/api/v1/business'

`GET /api/v1/menu` returns typed JSON with version, name, language, currency, source, limitations and sections. Sections contain named items with decimal EUR price strings (including VAT). The optional language parameter accepts de, en, zh or vi; the default is de. vegetarianMarked reports a published menu label and is not an allergen or vegan safety assessment. Repeated or unsupported query parameters return 400.

`GET /api/v1/business` returns typed JSON with name, description, URL, postal address, telephone, regular opening hours in Europe/Berlin time, ordering policy and limitations. It accepts no query parameters. Both endpoints support HEAD with the same status and headers and no response body. Each returns the complete published resource without pagination.

## Structured errors

Version 1 failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json`. Fields are type, title, status, detail, code, resolution and instance (requested path; query values are omitted). The HTTP status agrees with status in the body. For example:

    {"type":"about:blank","title":"Not Found","status":404,"detail":"This public API resource does not exist.","code":"NOT_FOUND","resolution":"Use /api/v1/menu or /api/v1/business. See /api/ for documentation.","instance":"/api/v1/missing"}

Codes: 400 INVALID\_PARAMETER, 404 NOT\_FOUND, 405 METHOD\_NOT\_ALLOWED (Allow: GET, HEAD), 429 RATE\_LIMITED, 500 INTERNAL\_ERROR and 503 SERVICE\_UNAVAILABLE. Quota checks happen first, so an exhausted client receives 429 even for an otherwise invalid request. For 400, 404 and 405, correct the request before retrying. For 429 or 503, wait at least Retry-After seconds. For 500, retry later or use the text feed and telephone contact. Missing website pages offer Markdown or JSON errors via Accept: text/markdown, application/problem+json or application/json; browsers keep the existing HTML error page.

## Rate limits and caching

The two /api/v1/ endpoints share a quota of 60 requests per Cloudflare client IP per fixed 60-second window starting with the first request. GET, HEAD and error responses count. Inspect:

    RateLimit-Policy: "public-api";q=60;w=60
    RateLimit: "public-api";r=59;t=60

The fields follow [IETF RateLimit draft 11](https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers/11/) (an Internet-Draft, not a published RFC). q is the quota, w is the window length in seconds, r is requests remaining after this request, and t is seconds until reset. A 429 also includes Retry-After in seconds. Rejected requests do not extend the window. A 503 includes Retry-After and policy information but omits remaining quota because it could not be measured.

Cache facts in your client for at least five minutes. API responses use Cache-Control: no-store so shared caches cannot replay another client's quota headers. Static feeds remain cacheable and do not have application quota headers. Separate hosting and Cloudflare security limits can also apply.

## Versioning and deprecation policy

The stable major-version prefix is /api/v1/. Breaking changes require a new prefix such as /api/v2/. Within v1, field meanings and types remain stable; clients should tolerate additional fields. OpenAPI info.version tracks documentation and compatible releases independently of the URL major version.

No version is currently deprecated. Before retiring a version, we will publish at least 90 days notice here, send a Deprecation header using an RFC 9745 structured date, a Sunset header using an RFC 8594 HTTP date, and a Link header with rel="deprecation" pointing to migration guidance. The unversioned /speisekarte.txt compatibility feed remains available.

This read-only HTTP endpoint publishes the German menu, prices in EUR, opening hours and ordering information from the same menu data as the website.

## Read the menu

    GET https://longthanh-imbiss.com/speisekarte.txt
    Accept: text/plain

A successful request returns HTTP 200 and UTF-8 `text/plain`. The text uses Markdown-style headings and lists. No authentication, parameters or API key are required.

The feed updates when the site is rebuilt. Cache responses for at least five minutes and avoid unnecessary repeated requests. It does not report real-time dish availability.

## Business information and other menu languages

[Business profile (JSON)](https://longthanh-imbiss.com/business-profile.json) and [full business and menu text](https://longthanh-imbiss.com/llms-full.txt) include regular hours, ordering policy, in-store payment methods and parking. The published information is not live inventory or confirmed holiday opening hours.

Menu feeds: [English](https://longthanh-imbiss.com/speisekarte.en.txt), [Chinese](https://longthanh-imbiss.com/speisekarte.zh.txt), [Vietnamese](https://longthanh-imbiss.com/speisekarte.vi.txt). Browsers can use the [German menu page](https://longthanh-imbiss.com/speisekarte/) or the language links on the homepage.

The read-only MCP endpoint at `/mcp` exposes `get_menu`, `get_business_info` and `search_menu`. Use an MCP client with Streamable HTTP; ordinary discovery GET requests should use the [server card](https://longthanh-imbiss.com/mcp/server-card).

## Orders and questions

This endpoint cannot place orders, make reservations or take payments. Call [+49 3521 40 61 80](tel:+493521406180) to order or confirm availability and allergens.

## Discovery and specifications

-   [RFC 9727 API catalog](https://longthanh-imbiss.com/.well-known/api-catalog)
-   [OpenAPI 3.1 specification](https://longthanh-imbiss.com/api/openapi.json)
-   [Public menu feed](https://longthanh-imbiss.com/speisekarte.txt)
-   [Authentication and anonymous access](https://longthanh-imbiss.com/auth.md)
-   [Agent instructions and when to use this API](https://longthanh-imbiss.com/llms.txt)
-   [About Long Thanh Imbiss](https://longthanh-imbiss.com/about/), [contact](https://longthanh-imbiss.com/contact/) and [privacy](https://longthanh-imbiss.com/privacy/)
-   [Restaurant website](https://longthanh-imbiss.com/)

## Long Thanh Imbiss agent discovery

[Structured agent homepage](https://longthanh-imbiss.com/?mode=agent) · [Markdown homepage](https://longthanh-imbiss.com/index.md) · [MCP server card](https://longthanh-imbiss.com/mcp/server-card) · [AI Catalog](https://longthanh-imbiss.com/.well-known/ai-catalog.json). Content pages have Markdown twins, including [/developers.md](https://longthanh-imbiss.com/developers.md), [/api.md](https://longthanh-imbiss.com/api.md) and [/api/deprecation.md](https://longthanh-imbiss.com/api/deprecation.md).

The two fetch tools accept an empty arguments object. The focused public-information MCP server also provides search\_menu with a required query and optional language (de, en, zh, vi) and limit (1–20, default 10). All three tools are read-only. Each tool declares a self-contained outputSchema; results include structuredContent as well as text. Unknown tools and invalid arguments return JSON-RPC error -32602 with a message and request ID. Discover current tools with tools/list.
