2026-08 · Machine-readable API
More and more requests to a product page do not come from a browser but from a program — a script comparing prices, or an AI assistant someone asked about an integration. Until now both received exactly what a human receives: HTML with navigation, buttons and layout, from which they first have to extract the content.
Two additions change that.
The homepage and the blog are available as Markdown
Ask with Accept: text/markdown and qr3.app answers in Markdown instead of
HTML — same content, no scaffolding:
curl -H "Accept: text/markdown" https://qr3.app/en/
This covers the homepage and the blog — the pages that change. The remaining pages are generated once at build time and then served straight from disk; they never reach this negotiation step and stay HTML for now.
Nothing changes for people. A browser still asks for HTML and still gets HTML.
A catalog names the entry points
https://qr3.app/.well-known/api-catalog holds a directory following
RFC 9727. It names the REST API, points to its OpenAPI 3.1 description and
to the documentation:
curl https://qr3.app/.well-known/api-catalog
The value lies in the fixed address. Anyone building an integration no longer
has to hunt for the OpenAPI file in the documentation — their tooling finds it
where such directories conventionally live. Alongside it,
https://qr3.app/llms.txt describes the developer resources in a form language
models can read directly.
What you need to do
Nothing. Existing integrations keep working unchanged; both additions sit alongside what was already there and change no existing behaviour.