Ajoutez llms.txt à votre API pour la découverte de l'IA
llms.txt indique aux LLM ce que fait votre API avec 6 fois moins de jetons que HTML. Didacticiel pas à pas avec format de spécification, approche à deux niveaux et exemple concret.
Vous publiez des documents API au format HTML. Un développeur les lit, copie une commande curl et intègre votre API. Ce flux de travail fonctionne toujours. Mais une part croissante de vos « lecteurs » sont des LLM, et ils traitent votre Les documents HTML ont un coût : une page de documentation typique brûle 12 000 jetons avant que le modèle n'en extrait un URL de point de terminaison unique. Les balises HTML, le chrome de navigation et le JavaScript livrés par votre site n'ajoutent aucune valeur pour un LLM.
llms.txt résout cela. Il s'agit d'un simple fichier Markdown à la racine de votre domaine qui décrit
ce que fait votre API, répertorie vos points de terminaison et des liens vers des documents détaillés. Les LLM l'analysent en 6 fois moins
jetons que le HTML équivalent. Plus de 849 sites l'ont adopté, dont Anthropic, Cloudflare,
Stripe et Mintlify.
Qu'est-ce que llms.txt (et ce qu'il n'est pas)
La llms.txt spécification, proposée par Jeremy Howard, définit un fichier standard à
/llms.txt sur n'importe quel site Web. Il utilise des titres Markdown, des citations et des listes de liens pour
décrire un produit à des modèles de langage.
Pensez-y de cette façon : robots.txt indique aux robots de recherche quelles pages indexer.
llms.txt indique aux modèles de langage ce que fait votre produit et où trouver les détails.
# 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 ne remplace pas votre site de documentation. C'est un index concis,
formaté pour la consommation de la machine. Les humains peuvent le lire aussi, mais le public principal est n'importe quel LLM
qui doit comprendre votre API avant de générer du code ou de répondre à des questions à ce sujet.
Le format des spécifications
Le format est intentionnel pour chaque ligne. Voici la structure :
# 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.
- Rubrique H1 : Le nom de votre produit ou projet. Un par fichier.
- Citation : Une description sur une seule ligne de ce que fait le produit.
- Sections H2 : Regroupez vos liens par catégorie (Documentation, Endpoints, Outils).
- Listes de liens : Chaque ligne comporte un lien Markdown suivi de deux points et d'une description.
Pas de HTML. Pas de front. Aucune syntaxe personnalisée. N'importe quel analyseur Markdown peut le lire, et n'importe quel LLM peut en extraire des informations structurées sans outils spéciaux.
Pourquoi les jetons sont importants : Markdown vs HTML
Chaque LLM a une fenêtre contextuelle. Jetons dépensés en analyse <div class="nav-wrapper">
et <script src="analytics.js"> sont des jetons que le modèle ne peut pas dépenser pour comprendre
votre schéma API. Voici le calcul :
HTML documentation page: ~12,000 tokens
Same content as Markdown: ~2,000 tokens
Savings: ~83% fewer tokens
Une page de documentation HTML contient des barres de navigation, des pieds de page, des barres latérales, des balises méta et des éléments intégrés. scripts. Supprimez tout cela et convertissez-le en Markdown, et vous obtenez les mêmes informations dans environ un sixième des jetons. Pour les LLM fonctionnant près de leur limite de contexte, cette différence détermine si votre référence API complète tient dans une seule invite.
L'approche à deux niveaux : llms.txt + llms-full.txt
La spécification définit deux fichiers avec des rôles distincts :
-
llms.txtest le résumé. Nom du produit, description sur une ligne, et une liste de liens avec de brèves descriptions. Taille cible : moins de 10 Ko. Un LLM lit ceci à comprenez ce que propose votre API et décidez quels liens suivre pour plus de détails. -
llms-full.txtest la référence complète. Il intègre le contenu ces liens pointent vers un seul fichier. Schémas de requête, exemples de réponses, authentification flux, codes d’erreur. Taille cible : moins de 100 Ko. Un LLM lit ceci lorsqu'il a besoin de générer code fonctionnel par rapport à votre API.
Commencez par llms.txt. Ajouter llms-full.txt une fois que vous voulez que les LLM génèrent
code d'intégration sans suivre de liens externes.
Pas à pas : écrivez votre propre llms.txt
1. Commencez par l'identité du produit
Ouvrez avec un H1 contenant le nom de votre produit, suivi d'une citation qui décrit votre produit en une phrase. Soyez précis. Incluez le nombre de points de terminaison, les fonctionnalités clés et tout différenciateur.
# 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
Ce fichier prend moins de 800 jetons à analyser. Un LLM sait désormais que l'API Acme gère les paiements et en possède 12 points de terminaison et pouvez suivre trois liens pour obtenir des informations plus détaillées.
2. Répertoriez vos points de terminaison avec des méthodes et des URL
Pour les produits API, répertoriez chaque point de terminaison avec sa méthode HTTP et son URL complète. C'est le plus précieux
section pour la génération de code. Un LLM qui sait POST https://api.acme.com/v1/charges
peut générer une commande curl ou un appel SDK fonctionnel sans lire votre documentation complète.
3. Lien vers des spécifications lisibles par machine
Si vous publiez une spécification OpenAPI, associez-la dans votre llms.txt. Les LLM peuvent analyser OpenAPI JSON
et extrayez les schémas de paramètres, les champs obligatoires et les types de réponse. Idem pour les manifestes de l'outil MCP ou
Points de terminaison de l’introspection GraphQL.
4. Créez llms-full.txt pour un contexte approfondi
Prenez chaque point de terminaison de votre résumé et développez-le avec des exemples de requêtes/réponses :
# 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
Incluez des charges utiles réalistes, et non des données d'espace réservé. Un LLM générant du code d'intégration doit voir les noms de champs exacts, les types et l’imbrication renvoyés par votre API.
5. Servir avec les bons en-têtes
Servez les deux fichiers avec text/markdown ou text/plain Type de contenu. Si vous
utilisez 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";
}
Sur Cloudflare Pages, Vercel ou Netlify, déposez les fichiers dans votre public/ annuaire.
La plate-forme d'hébergement leur sert le type MIME correct à partir de l'extension de fichier.
Exemple réel : llms.txt de Botoi
Botoi serves llms.txt à botoi.com/llms.txt
et llms-full.txt à botoi.com/llms-full.txt.
Voici une vue condensée du fichier récapitulatif :
# 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
Le fichier complet répertorie tous les outils, plus de 150 points de terminaison d'API avec méthodes et URL, le serveur MCP configuration pour cinq éditeurs AI et la commande d'installation du SDK TypeScript. Un LLM lisant ceci file peut répondre "Comment valider un email avec botoi ?" sans visiter une seule page Web.
Récupérez-le vous-même :
curl -s https://botoi.com/llms.txt | head -20
Optimisation générative des moteurs : au-delà du référencement traditionnel
Le référencement traditionnel optimise le robot d'exploration de Google. L'optimisation générative du moteur (GEO) optimise pour Modèles d'IA qui synthétisent les réponses provenant de plusieurs sources. Lorsqu'un développeur demande à ChatGPT "Quelle API puis-je utiliser pour la validation des e-mails ?", le modèle s'appuie sur des sources qu'il a analysées ou qu'il peut récupérer.
llms.txt fait partie d’une stratégie GEO. L’image complète comprend :
-
llms.txtetllms-full.txtpour la consommation directe LLM. - Spécification OpenAPI sur une URL publique afin que les LLM puissent analyser vos schémas de point de terminaison.
-
Découverte du serveur MCP via
/.well-known/mcp/server-card.jsondonc l'IA les assistants peuvent trouver et se connecter à vos outils. - Données structurées (JSON-LD) sur vos pages pour une extraction plus riche.
-
robots.txtconfiguré pour autoriser les robots d'exploration IA (GPTBot, ClaudeBot, PerplexitéBot).
Chaque couche cible une manière différente pour les LLM de découvrir et d'utiliser votre API. llms.txt est
le point de départ nécessitant le moins d’effort et l’impact le plus élevé.
Liste de contrôle de déploiement
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
Gardez votre llms.txt dans le contrôle de version aux côtés du code source de votre API. Mettez-le à jour
dans la même demande d'extraction où vous ajoutez un nouveau point de terminaison. Documentation obsolète, que ce soit pour les humains
ou des machines, érode la confiance.
Points clés
- Les LLM lisent vos documents avant les humains. Agents IA, assistants de codage et chat les interfaces analysent la documentation de l'API pour générer du code et répondre aux questions. Donnez-leur un format propre.
- Markdown coûte 6 fois moins de jetons que HTML. Supprimez la navigation, les scripts et le style. Proposez le contenu dont les LLM ont besoin dans le format qu'ils traitent le plus efficacement.
-
Deux fichiers couvrent les deux cas d'utilisation.
llms.txtest l’index récapitulatif.llms-full.txtest la référence complète. Commencez par le résumé ; ajouter la version complète lorsque vous souhaitez que les LLM génèrent un code d'intégration fonctionnel. -
Plus de 849 sites ont adopté le format. Anthropique, Cloudflare, Stripe et Mintlify
tous servent
llms.txt. Le format gagne du terrain en tant que standard GEO. - Voyez-le en action. Aller chercher botoi.com/llms.txt pour voir plus de 150 API de point de terminaison décrites dans un seul fichier Markdown.
FAQ
- Qu'est-ce que llms.txt et comment ça marche ?
- llms.txt est un fichier Markdown servi dans /llms.txt sur votre domaine. Il décrit votre produit, les points de terminaison de l'API et les liens de documentation dans un format structuré que les LLM peuvent analyser avec un minimum de jetons. Considérez-le comme robots.txt pour l'IA : robots.txt indique aux robots d'exploration ce qu'il faut indexer, llms.txt indique aux modèles de langage ce que propose votre site.
- Combien de jetons llms.txt enregistre-t-il par rapport aux documents HTML ?
- Markdown utilise environ 6 fois moins de jetons que le contenu HTML équivalent. Une page de documentation qui coûte 12 000 jetons en HTML peut être compressée à moins de 2 000 jetons en Markdown. Cela est important car les LLM ont des fenêtres de contexte finies et chaque jeton dépensé pour le formatage est un jeton non dépensé pour comprendre votre API.
- Ai-je besoin à la fois de llms.txt et de llms-full.txt ?
- llms.txt est le résumé : nom du produit, description et liste de liens. llms-full.txt contient le contenu complet de la documentation vers laquelle pointent les liens, intégré dans un seul fichier. Commencez par llms.txt. Ajoutez llms-full.txt lorsque vous souhaitez que les LLM aient un contexte approfondi sans suivre plusieurs liens.
- Quels outils d'IA lisent le fichier llms.txt aujourd'hui ?
- Claude, ChatGPT, Perplexity et Cursor lisent tous llms.txt lors de la navigation ou du référencement de la documentation. Les agents basés sur MCP et les assistants de codage le récupèrent également pour la découverte d'outils. Plus de 849 sites ont adopté le format début 2026, dont Anthropic, Cloudflare, Mintlify et Stripe.
- Où dois-je héberger le fichier llms.txt ?
- Servez-le à la racine de votre domaine : https://votredomaine.com/llms.txt. Utilisez text/markdown ou text/plain comme Content-Type. Si vous disposez d'un sous-domaine API, envisagez de le diffuser à la fois sur le domaine principal et sur le sous-domaine API. Conservez le fichier sous 10 Ko pour la version résumée.
Commencez a construire avec botoi
150+ endpoints API pour la recherche, le traitement de texte, la generation d'images et les utilitaires pour developpeurs. Offre gratuite, sans carte bancaire.