Back to blog

OpenAI and llms.txt: does ChatGPT read your file, and how to use OpenAI's

Does OpenAI use llms.txt? What OpenAI documents, what server logs show for its crawlers, and how to load OpenAI's own llms.txt and Docs MCP into your agent

llms.txt
LLM SEO
AI SEO
OpenAI and llms.txt: does ChatGPT read your file, and how to use OpenAI's

OpenAI has not said that ChatGPT or its crawlers use the llms.txt file on your site. Its crawler documentation explains how to manage its bots with robots.txt and says nothing about reading your llms.txt. Server logs show OpenAI's bots fetch the file now and then: 7 times across 83 sites in one 12-week study, against 3,990 fetches of robots.txt. The useful direction runs the other way, because OpenAI publishes llms.txt files and a docs server so your coding agent can read current OpenAI documentation.

Quick summary

If you added llms.txt to get into ChatGPT answers, nothing OpenAI has published supports that, and the logs show its crawlers rarely open the file. What decides whether ChatGPT search can use your pages is OAI-SearchBot access in robots.txt. If you build with OpenAI's API, its llms.txt files and Docs MCP server are worth five minutes of setup, and the commands are below.

OpenAI and llms.txt: the short answer

QuestionAnswer in October 2026Evidence
Does ChatGPT search use your llms.txt?Not documentedOpenAI's crawler page covers robots.txt rules only
Do OpenAI's bots fetch llms.txt?Sometimes, far less often than robots.txtTwo public log reports, 2025 and 2026
Does OpenAI publish its own llms.txt?Yes, for its developer, Codex and Agents SDK docsSeven files, listed below
How do I give a coding agent OpenAI's docs?Connect OpenAI's Docs MCP server, or point the agent at an llms.txt fileOpenAI's Docs MCP page

What OpenAI says about its crawlers

OpenAI's crawler page describes three bots that matter for most websites:

  • OAI-SearchBot finds pages for ChatGPT search. OpenAI says opted-out sites "will not be shown in ChatGPT search answers, though can still appear as navigational links."
  • GPTBot collects content that may be used to train OpenAI's foundation models.
  • ChatGPT-User visits a page when a person asks ChatGPT something. OpenAI's note on it reads: "Because these actions are initiated by a user, robots.txt rules may not apply."

OpenAI tells site owners to manage OAI-SearchBot and GPTBot with robots.txt user-agent rules, and each setting is independent of the others. We read the page on October 23, 2026, and it says nothing about reading llms.txt from your site; the only llms.txt link in its Markdown copy points to OpenAI's own documentation index. So if your goal is to appear in ChatGPT search, the documented step is to allow OAI-SearchBot and serve your content as HTML it can fetch, as covered in our LLM SEO guide.

What server logs show

Two public reports have looked at OpenAI's bots and llms.txt from the website side.

In July 2025, Search Engine Roundtable reported that SEO consultant Ray Martinez saw OpenAI fetching llms.txt on a few of his sites "every 15 minutes" in his server logs. The same article noted that Google's Gary Illyes said Google doesn't support llms.txt and isn't planning to.

In 2026, EZY.ai, a company that sells AI visibility tools, watched server logs on 83 sites that had llms.txt live from April 27 to July 19, 2026. It counted how often each crawler fetched robots.txt and llms.txt on the same sites in the same weeks.

Crawlerrobots.txt fetchesllms.txt fetches
OpenAI (GPTBot family)3,9907
Anthropic (ClaudeBot)3,1209
PerplexityBot7750
Googlebot5,12567
Meta-ExternalAgent172193

Read both reports for what they are. EZY says its panel "skews toward small-business sites whose owners sought an AI-visibility tool", and Martinez's report covers a few of his own sites. A fetch also proves only that a bot downloaded the file. Neither report shows ChatGPT using llms.txt to decide what to say or which page to cite.

Check your own logs

You can run the same comparison on your own site. This loop counts how often each AI crawler requested robots.txt and llms.txt in an Nginx or Apache access log in the default combined format, where the request path is the seventh field.

for bot in GPTBot OAI-SearchBot ChatGPT-User ClaudeBot Claude-SearchBot Claude-User PerplexityBot Googlebot meta-externalagent; do
  awk -v bot="$bot" 'index($0, bot) {
      split($7, path, "?")
      if (path[1] == "/robots.txt") robots++
      if (path[1] == "/llms.txt") llms++
    }
    END { printf "%-20s robots.txt %6d   llms.txt %6d\n", bot, robots, llms }' access.log
done

Each line of output shows one crawler. On a small test log, the GPTBot line looked like this:

GPTBot               robots.txt      2   llms.txt      1

The counts trust the user agent string, which anyone can copy. To confirm that a request really came from OpenAI, match its IP address against the ranges OpenAI publishes for OAI-SearchBot, GPTBot and ChatGPT-User.

OpenAI's own llms.txt files

Developers asked for these early. In November 2024, a community forum thread asked whether OpenAI had an llms.txt for its API docs, because generated code kept using old model names. The only reply pointed to the OpenAPI spec.

In April 2025, a GitHub issue asked for llms.txt in the Agents SDK docs. Both files exist now.

We fetched each URL below on October 23, 2026.

FileWhat it coversSize
developers.openai.com/llms.txtIndex of every OpenAI developer doc set6 KB
developers.openai.com/api/docs/llms.txtAPI guides, each with a Markdown copy at the same path plus .md44 KB
developers.openai.com/api/docs/llms-full.txtAll API guides in one file5.5 MB
developers.openai.com/llms-full.txtEvery doc set in one file9.1 MB
learn.chatgpt.com/docs/llms.txtCodex and ChatGPT docs33 KB
openai.github.io/openai-agents-python/llms.txtAgents SDK for Python7 KB
openai.github.io/openai-agents-js/llms.txtAgents SDK for TypeScript, with small and full versionsUnder 1 KB

Two older addresses redirect: platform.openai.com/docs/llms.txt goes to the API docs file, and developers.openai.com/codex/llms.txt goes to the Codex file. Two guesses fail: openai.com/llms.txt returns 403 and platform.openai.com/llms.txt returns 404.

The top of OpenAI's main index shows how it wants agents to read it:

# OpenAI Developers

> Complete documentation hub for OpenAI API, Ads, Sign in with ChatGPT, Plugins, Workspace Agents, Codex, Agentic Commerce, the developer blog, Cookbook, learning resources, and learning tracks.

Start with the product index that matches your task. Product indexes route to detailed pages; documentation indexes also provide Markdown pages and full-document exports.

The first lines of developers.openai.com/llms.txt, October 23, 2026.

Look at the last paragraph. The file sends an agent to one product index and then to individual Markdown pages, instead of loading 9.1 MB of docs at once. If you write an llms.txt for your own documentation, that routing is the part to copy.

Use OpenAI's docs in Codex, Claude Code, Cursor or VS Code

OpenAI also runs a read-only Docs MCP server at https://developers.openai.com/mcp. It searches and returns pages from developers.openai.com, platform.openai.com and learn.chatgpt.com, and OpenAI says it "does not call the OpenAI API on your behalf". When we connected on October 23, 2026, it offered tools to search the docs, fetch a page, list API endpoints and return the OpenAPI spec.

For Codex, add it from the CLI:

codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcp

For Claude Code:

claude mcp add --transport http openaiDeveloperDocs https://developers.openai.com/mcp

For Cursor, add the server to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "openaiDeveloperDocs": {
      "url": "https://developers.openai.com/mcp"
    }
  }
}

For VS Code with GitHub Copilot in agent mode, add it to .vscode/mcp.json in your project:

{
  "servers": {
    "openaiDeveloperDocs": {
      "type": "http",
      "url": "https://developers.openai.com/mcp"
    }
  }
}

OpenAI's page adds one tip: put a line in your AGENTS.md telling the agent to use the Docs MCP server for OpenAI questions, or it may not call the server unless you ask. If your tool has no MCP support, give the agent the API docs llms.txt URL, or any docs page URL with .md on the end.

How other AI companies handle llms.txt

OpenAI is not unusual. We checked the crawler documentation and the docs sites of four other AI companies on October 23, 2026.

CompanySays its crawlers use your llms.txtPublishes llms.txt for its own docsllms.txt fetches in the EZY logs
OpenAINo statement in its crawler docsdevelopers.openai.com/llms.txt7
AnthropicNo statement in its crawler help articleplatform.claude.com/llms.txt9
GoogleGoogle Search does not use itGemini API docs llms.txt67
PerplexityNo statement in its crawler docsdocs.perplexity.ai/llms.txt0
xAIWe found no crawler statementdocs.x.ai/llms.txtNot in the study

Google is the only one to address the question directly. Its AI optimization guide says you don't need AI text files "to appear in Google Search (including its generative AI capabilities), as Google Search itself doesn't use them."

The pattern holds across all five. AI companies publish llms.txt so developers' tools can read their API documentation. None of them documents reading yours when it writes an answer.

Should you publish an llms.txt?

Publish one if people build on your product with coding agents. If you have API docs, SDKs or a developer platform, an llms.txt is a small file that agents can follow, and OpenAI's own index is a good model.

Don't expect it to change what ChatGPT says about you. For ChatGPT search, the documented controls are OAI-SearchBot in robots.txt and pages it can fetch. Our LLM SEO guide walks through both.

If the real question behind your llms.txt is whether ChatGPT mentions your brand, check the answers instead. Ask the same buyer questions on a schedule and record whether OpenAI's models name you, where, and which pages they cite. Subscription tools such as Semrush's AI Visibility Toolkit track this for ChatGPT, Google AI Mode and Gemini; see what the Semrush toolkit costs before you commit.

Query Multiple LLMs in One Call
Try heeb. Send the same buyer question to OpenAI, Anthropic, xAI, Perplexity and Google AI Mode and get each answer's brand mentions, positions and cited pages as JSON.

FAQs

Does llms.txt replace robots.txt?

No. robots.txt tells crawlers what they may fetch, and it is the file OpenAI's crawler page refers to. llms.txt is a Markdown reading list, so access rules such as Disallow have no meaning inside it.

Does GPTBot use llms.txt for training?

OpenAI has not said. The documented way to keep your content out of OpenAI's model training is to disallow GPTBot in robots.txt.

Where is OpenAI's llms-full.txt?

The complete export is at developers.openai.com/llms-full.txt, and the API docs alone are at developers.openai.com/api/docs/llms-full.txt. At 9.1 MB and 5.5 MB, both are far more than most models can take in one request, so start with an index file or the Docs MCP server.

Next step

Run the log check above on the last 30 days of your access logs. If OpenAI's bots request robots.txt far more often than llms.txt, spend your time on what they do read: your robots.txt rules and the pages themselves.

Elias Vance

Written by Elias Vance

Ready to build your next AI app?