---
title: "Endpoints"
manual: "LLMs.txt & Markdown for AI"
version: "main"
permalink: "https://docs.typo3.org/permalink/woit/si-llms-txt:endpoints@main"
source: "Endpoints/Index.rst"
rendered: "2026-10-16T12:46:27+00:00"
---

# Endpoints {#endpoints}

All URLs below are answered for every site that uses the site set. For a site
with the languages `/de/` (default) and `/en/`:

| URL | Content |
| --- | --- |
| `/llms.txt` | Index of the default language (same as `/de/llms.txt`) |
| `/de/llms.txt`, `/en/llms.txt` | Index of one language |
| `/llms-full.txt` | Full file of the default language (same as `/de/llms-full.txt`) |
| `/de/llms-full.txt` | Markdown of all listed pages (and news) of one language |
| `/de/<page>.md` | One page as Markdown |
| `/de/index.md` | The root page of the language as Markdown |

All text responses use `X-Robots-Tag: noindex` so that search engines do
not index them as duplicates of the HTML pages.

## Discovery links {#endpoints-discovery}

As recommended by [llmstxt.org](https://llmstxt.org/), every included page
points to its Markdown version and to the `llms.txt` of its language,
both in the HTML `<head>` and as HTTP `Link` header:

```html
<link rel="alternate" type="text/markdown" title="Markdown" href="https://example.com/de/pricing.md">
<link rel="describedby" type="text/plain" href="https://example.com/de/llms.txt">
```

```text
Link: <https://example.com/de/pricing.md>; rel="alternate"; type="text/markdown", <https://example.com/de/llms.txt>; rel="describedby"
```

The Markdown responses themselves get only the `describedby` link.
Excluded pages get neither.

## llms.txt {#endpoints-llms-txt}

1.  Heading with the website title, then the intro of the language
    (see [llms.txt intro per language](https://docs.typo3.org/permalink/woit/si-llms-txt:configuration-site-language@main))
1.  Section with the root page and top-level pages without subpages
1.  One section per top-level page with its subpages (title = page title,
    or folder title)
1.  Section "Articles": article pages, newest first
1.  Section "News" (only with [EXT:news (tx_news)](https://docs.typo3.org/permalink/woit/si-llms-txt:news@main))
1.  Section "Languages": links to the `llms.txt` of the other languages
1.  Section "Optional": link to `llms-full.txt`

Each entry links the `.md` URL and adds the LLM description or meta
description:

```markdown
- [Pricing](https://example.org/en/pricing.md): Plans and prices …
```

## Markdown of a page {#endpoints-md}

Add `.md` to the URL of a page. For the root page of a language use
`index.md`. Example output:

```markdown
---
title: "Pricing"
description: "Plans and prices …"
language: "en"
lastmod: "2026-10-11"
canonical: "https://example.org/en/pricing"
source: "generated"
generator: "TYPO3 si_llms_txt"
---

# Start now …
```

`source` is `editor` when the field "LLM Markdown" is used.

A `.md` URL returns 404 (plain text) when the page does not exist, is
excluded, or has no translation in that language.

## llms-full.txt {#endpoints-full}

Contains the header and intro of `llms.txt` and then, for every listed
page, a separator, the source URL and its Markdown (without frontmatter).
It is built by requesting every `.md` URL from the server itself and is
cached afterwards; the first request after a cache flush takes longer.
