Adicione llms.txt à sua API para descoberta de IA
llms.txt informa aos LLMs o que sua API faz em 6x menos tokens do que HTML. Tutorial passo a passo com formato de especificação, abordagem em duas camadas e um exemplo do mundo real.
Você publica documentos de API em HTML. Um desenvolvedor os lê, copia um comando curl e integra sua API. Esse fluxo de trabalho ainda funciona. Mas uma parcela cada vez maior de seus “leitores” são LLMs e processam seus Documentos HTML têm um custo: uma página de documentação típica queima 12.000 tokens antes que o modelo extraia um URL de terminal único. As tags HTML, cromo de navegação e JavaScript que seu site envia agregam valor zero para um LLM.
llms.txt resolve isso. É um arquivo Markdown simples na raiz do seu domínio que descreve
o que sua API faz, lista seus endpoints e links para documentos detalhados. LLMs analisam-no em 6x menos
tokens do que o HTML equivalente. Mais de 849 sites o adotaram, incluindo Anthropic, Cloudflare,
Stripe e Mintlify.
O que é llms.txt (e o que não é)
O llms.txt especificação, proposta por Jeremy Howard, define um arquivo padrão em
/llms.txt em qualquer site. Ele usa títulos Markdown, citações e listas de links para
descrever um produto para modelos de linguagem.
Pense desta forma: robots.txt informa aos rastreadores de pesquisa quais páginas indexar.
llms.txt informa aos modelos de linguagem o que seu produto faz e onde encontrar os detalhes.
# robots.txt - tells crawlers what to index
User-agent: *
Allow: /
# llms.txt - tells LLMs what your product does
# Served at /llms.txt as structured Markdown
llms.txt não substitui o seu site de documentação. É um índice conciso,
formatado para consumo da máquina. Os humanos também podem ler, mas o público principal é qualquer LLM
que precisa entender sua API antes de gerar código ou responder perguntas sobre ela.
O formato de especificação
O formato é intencional em cada linha. Aqui está a estrutura:
# Product Name
> One-line product description with key capabilities.
## Section Name
- [Link Title](https://example.com/page): Brief description
- [Another Link](https://example.com/other): Brief description
## Optional: Additional sections
More structured content as needed.
- Título H1: O nome do seu produto ou projeto. Um por arquivo.
- Citação em bloco: Uma descrição de uma linha do que o produto faz.
- Seções H2: Agrupe seus links por categoria (Documentação, Endpoints, Ferramentas).
- Listas de links: Cada linha possui um link Markdown seguido por dois pontos e uma descrição.
Sem HTML. Sem assunto inicial. Nenhuma sintaxe personalizada. Qualquer analisador Markdown pode lê-lo e qualquer LLM pode extrair dele informações estruturadas sem ferramentas especiais.
Por que os tokens são importantes: Markdown vs. HTML
Todo LLM possui uma janela de contexto. Tokens gastos na análise <div class="nav-wrapper">
e <script src="analytics.js"> são tokens que o modelo não pode gastar em compreensão
seu esquema de API. Aqui está a matemática:
HTML documentation page: ~12,000 tokens
Same content as Markdown: ~2,000 tokens
Savings: ~83% fewer tokens
Uma página de documentação HTML contém barras de navegação, rodapés, barras laterais, meta tags e recursos incorporados. roteiros. Retire tudo isso e converta para Markdown, e você obterá as mesmas informações em aproximadamente um sexto dos tokens. Para LLMs operando perto do seu limite de contexto, essa diferença determina se a referência completa da API cabe em um único prompt.
A abordagem de duas camadas: llms.txt + llms-full.txt
A especificação define dois arquivos com funções distintas:
-
llms.txté o resumo. Nome do produto, descrição em uma linha, e uma lista de links com breves descrições. Tamanho alvo: menos de 10 KB. Um LLM lê isso para entenda o que sua API oferece e decida quais links seguir para obter detalhes. -
llms-full.txté a referência completa. Ele incorpora o conteúdo esses links apontam para um único arquivo. Esquemas de solicitação, exemplos de resposta, autenticação fluxos, códigos de erro. Tamanho alvo: menos de 100 KB. Um LLM lê isso quando precisa gerar código de trabalho em sua API.
Comece com llms.txt. Adicionar llms-full.txt uma vez que você deseja que LLMs gerem
código de integração sem seguir links externos.
Passo a passo: escreva seu próprio llms.txt
1. Comece com a identidade do produto
Abra com um H1 contendo o nome do seu produto, seguido por uma citação que descreve o seu produto em uma frase. Seja específico. Inclua o número de endpoints, os principais recursos e quaisquer diferenciais.
# Acme API
> REST API for payment processing. 12 endpoints covering charges, refunds, subscriptions, and webhooks.
## Documentation
- [API Reference](https://docs.acme.com/api): Full endpoint reference with request/response schemas
- [Authentication](https://docs.acme.com/auth): API key setup, OAuth 2.0 flows, and webhook signing
- [Quickstart](https://docs.acme.com/quickstart): Send your first charge in 5 minutes
## Endpoints
- Create charge: POST https://api.acme.com/v1/charges
- Get charge: GET https://api.acme.com/v1/charges/:id
- Create refund: POST https://api.acme.com/v1/refunds
- List subscriptions: GET https://api.acme.com/v1/subscriptions
- Create webhook: POST https://api.acme.com/v1/webhooks
Esse arquivo leva menos de 800 tokens para ser analisado. Um LLM agora sabe que a API Acme lida com pagamentos, tem 12 endpoints e pode seguir três links para obter informações mais detalhadas.
2. Liste seus endpoints com métodos e URLs
Para produtos de API, liste cada endpoint com seu método HTTP e URL completo. Este é o mais valioso
seção para geração de código. Um LLM que sabe POST https://api.acme.com/v1/charges
pode gerar um comando curl funcional ou uma chamada de SDK sem ler a documentação completa.
3. Link para especificações legíveis por máquina
Se você publicar uma especificação OpenAPI, vincule-a em seu llms.txt. LLMs podem analisar OpenAPI JSON
e extrair esquemas de parâmetros, campos obrigatórios e tipos de resposta. O mesmo para manifestos da ferramenta MCP ou
Terminais de introspecção GraphQL.
4. Crie llms-full.txt para contexto profundo
Pegue cada endpoint do seu resumo e expanda-o com exemplos de solicitação/resposta:
# Botoi API - Full Documentation
> Complete endpoint reference for all 150+ developer utility endpoints.
## IP Geolocation
POST https://api.botoi.com/v1/ip/lookup
Returns city, region, country, ISP, coordinates, and timezone for any IP address.
**Request:**
\`\`\`json
{ "ip": "8.8.8.8" }
\`\`\`
**Response:**
\`\`\`json
{
"success": true,
"data": {
"ip": "8.8.8.8",
"city": "Mountain View",
"region": "California",
"country": "US",
"isp": "Google LLC",
"lat": 37.386,
"lon": -122.0838
}
}
\`\`\`
## Email Validation
POST https://api.botoi.com/v1/email/validate
...full documentation for every endpoint
Inclua cargas realistas, não dados de espaço reservado. Um código de integração gerador de LLM precisa ver os nomes exatos dos campos, tipos e aninhamento dos retornos da sua API.
5. Sirva com os cabeçalhos certos
Servir ambos os arquivos com text/markdown ou text/plain Tipo de conteúdo. Se você
use Nginx:
# Serve llms.txt with correct Content-Type
location = /llms.txt {
default_type text/markdown;
add_header X-Robots-Tag "noindex";
}
location = /llms-full.txt {
default_type text/markdown;
add_header X-Robots-Tag "noindex";
}
Em Cloudflare Pages, Vercel ou Netlify, solte os arquivos em seu public/ diretório.
A plataforma de hospedagem fornece o tipo MIME correto da extensão do arquivo.
Exemplo real: llms.txt do botoi
Botoi serve llms.txt no botoi.com/llms.txt
e llms-full.txt no botoi.com/llms-full.txt.
Aqui está uma visão condensada do arquivo de resumo:
# Botoi - Developer Utility API & MCP Server
> One API key, 150+ developer utility endpoints, and a 49-tool
> MCP server for AI agents. IP geolocation, email validation,
> DNS, hashing, JWT, QR codes, PDF generation, and more.
> Sub-50ms from Cloudflare's edge. Free tier included.
## Free Online Tools
- [JSON Formatter](https://botoi.com/tools/json-formatter): Format, beautify, minify, and validate JSON data
- [Base64 Encoder/Decoder](https://botoi.com/tools/base64-encoder-decoder): Encode and decode Base64 strings
- [Hash Generator](https://botoi.com/tools/hash-generator): Generate SHA-1, SHA-256, SHA-384, SHA-512 hashes
## Botoi API
- [API Documentation](https://api.botoi.com/docs): Full API reference with interactive playground
- [OpenAPI Spec](https://api.botoi.com/openapi.json): Machine-readable OpenAPI 3.1 specification
- [MCP Tool Manifest](https://api.botoi.com/v1/mcp/tools.json): MCP tool definitions for AI agents
## API Endpoints
- IP geolocation: POST https://api.botoi.com/v1/ip/lookup
- Email validation: POST https://api.botoi.com/v1/email/validate
- DNS lookup: POST https://api.botoi.com/v1/dns/lookup
- Hash generation: POST https://api.botoi.com/v1/hash
...150+ more endpoints listed with method and URL
O arquivo completo lista todas as ferramentas, todos os mais de 150 endpoints de API com métodos e URLs, o servidor MCP configuração para cinco editores de IA e o comando de instalação do SDK TypeScript. Um LLM lendo isso arquivo pode responder "Como faço para validar um e-mail com botoi?" sem visitar uma única página da web.
Busque você mesmo:
curl -s https://botoi.com/llms.txt | head -20
Otimização generativa de mecanismos: além do SEO tradicional
O SEO tradicional é otimizado para o rastreador do Google. A otimização generativa do mecanismo (GEO) otimiza para Modelos de IA que sintetizam respostas de múltiplas fontes. Quando um desenvolvedor pergunta ao ChatGPT "Qual API posso usar para validação de e-mail?", o modelo extrai de fontes que analisou ou pode buscar.
llms.txt é uma parte de uma estratégia GEO. A imagem completa inclui:
-
llms.txtellms-full.txtpara consumo direto de LLM. - Especificação OpenAPI em uma URL pública para que os LLMs possam analisar seus esquemas de endpoint.
-
Descoberta de servidor MCP através de
/.well-known/mcp/server-card.jsonentão IA assistentes podem encontrar e conectar-se às suas ferramentas. - Dados estruturados (JSON-LD) em suas páginas para uma extração mais rica.
-
robots.txtconfigurado para permitir rastreadores de IA (GPTBot, ClaudeBot, PerplexidadeBot).
Cada camada visa uma maneira diferente de os LLMs descobrirem e consumirem sua API. llms.txt é
o ponto de partida de menor esforço e maior impacto.
Lista de verificação de implantação
1. Create /llms.txt with product name, description, and key links
2. Create /llms-full.txt with full endpoint documentation
3. Add both files to your robots.txt sitemap (optional)
4. Set Content-Type to text/markdown or text/plain
5. Keep llms.txt under 10KB and llms-full.txt under 100KB
6. Update both files whenever you ship new endpoints
7. Test: curl -s https://yourdomain.com/llms.txt | wc -c
Mantenha o seu llms.txt no controle de versão junto com o código-fonte da API. Atualize-o
na mesma solicitação pull em que você adiciona um novo endpoint. Documentação obsoleta, seja para humanos
ou máquinas, corrói a confiança.
Pontos-chave
- LLMs leem seus documentos antes dos humanos. Agentes de IA, assistentes de codificação e chat interfaces analisam a documentação da API para gerar código e responder perguntas. Dê-lhes um formato limpo.
- Markdown custa 6x menos tokens que HTML. Navegação, scripts e estilo. Sirva o conteúdo que os LLMs precisam no formato que eles processam com mais eficiência.
-
Dois arquivos cobrem ambos os casos de uso.
llms.txté o índice resumido.llms-full.txté a referência completa. Comece com o resumo; adicione a versão completa quando você deseja que LLMs gerem código de integração funcional. -
Mais de 849 sites adotaram o formato. Antrópico, Cloudflare, Stripe e Mintlify
todos servem
llms.txt. O formato está ganhando força como padrão GEO. - Veja-o em ação. Buscar botoi.com/llms.txt para ver mais de 150 APIs de endpoint descritas em um único arquivo Markdown.
FAQ
- O que é llms.txt e como funciona?
- llms.txt é um arquivo Markdown veiculado em /llms.txt em seu domínio. Ele descreve seu produto, endpoints de API e links de documentação em um formato estruturado que os LLMs podem analisar com o mínimo de tokens. Pense nisso como um robots.txt para IA: o robots.txt informa aos rastreadores o que indexar, o llms.txt informa aos modelos de linguagem o que seu site oferece.
- Quantos tokens o llms.txt salva em comparação com documentos HTML?
- Markdown usa aproximadamente 6x menos tokens do que conteúdo HTML equivalente. Uma página de documentação que custa 12.000 tokens em HTML pode ser compactada para menos de 2.000 tokens em Markdown. Isso é importante porque os LLMs têm janelas de contexto finitas e cada token gasto na formatação é um token não gasto na compreensão da sua API.
- Preciso de llms.txt e llms-full.txt?
- llms.txt é o resumo: nome do produto, descrição e uma lista de links. llms-full.txt contém o conteúdo completo da documentação para a qual os links apontam, incorporado em um único arquivo. Comece com llms.txt. Adicione llms-full.txt quando desejar que os LLMs tenham um contexto profundo sem seguir vários links.
- Quais ferramentas de IA leem llms.txt hoje?
- Claude, ChatGPT, Perplexity e Cursor leem llms.txt ao navegar ou consultar a documentação. Agentes e assistentes de codificação baseados em MCP também o buscam para descoberta de ferramentas. Mais de 849 sites adotaram o formato no início de 2026, incluindo Anthropic, Cloudflare, Mintlify e Stripe.
- Onde devo hospedar o arquivo llms.txt?
- Sirva-o na raiz do seu domínio: https://seudominio.com/llms.txt. Use text/markdown ou text/plain como Content-Type. Se você tiver um subdomínio de API, considere veiculá-lo tanto no domínio principal quanto no subdomínio de API. Mantenha o arquivo com menos de 10 KB para a versão resumida.
Comece a construir com botoi
150+ endpoints de API para consultas, processamento de texto, geração de imagens e utilitários para desenvolvedores. Plano gratuito, sem cartão de crédito.