---
title: "OpenAI crawlers (4) — AI Crawler Index"
description: "Every crawler OpenAI operates, its robots.txt token, and what blocking it costs."
canonical: "https://www.pathwren.workers.dev/operator/openai.html"
url: "https://www.pathwren.workers.dev/operator/openai.md"
format: "markdown"
source: "the bytes of /operator/openai.html, in the build that wrote the page"
generator: "surfaces/ai-crawler-index/build.py"
generated: "2026-09-14T09:49:20+00:00"
license: "CC0-1.0"
---

# OpenAI

> Every crawler OpenAI operates, its robots.txt token, and what blocking it costs.

4 crawler(s) · [json](https://www.pathwren.workers.dev/operator/openai.json)

| Crawler | Token | Category | robots.txt |
| --- | --- | --- | --- |
| [ChatGPT Agent](https://www.pathwren.workers.dev/crawler/chatgpt-agent.html) | `ChatGPT-User` | User-triggered fetchers | obeys robots.txt (documented) |
| [ChatGPT-User](https://www.pathwren.workers.dev/crawler/chatgpt-user.html) | `ChatGPT-User` | User-triggered fetchers | obeys robots.txt (documented) |
| [GPTBot](https://www.pathwren.workers.dev/crawler/gptbot.html) | `GPTBot` | AI training crawlers | obeys robots.txt (documented) |
| [OAI-SearchBot](https://www.pathwren.workers.dev/crawler/oai-searchbot.html) | `OAI-SearchBot` | AI search crawlers | obeys robots.txt (documented) |

## Published IP ranges

| Endpoint | IPv4 | IPv6 | Operator timestamp |
| --- | --- | --- | --- |
| [GPTBot](https://www.pathwren.workers.dev/ip-ranges/openai-gptbot.html) | 21 | 0 | 2025-10-30T11:00:00.000000 |
| [OAI-SearchBot](https://www.pathwren.workers.dev/ip-ranges/openai-searchbot.html) | 39 | 0 | 2026-01-02T11:00:00.000000 |
| [ChatGPT-User](https://www.pathwren.workers.dev/ip-ranges/openai-chatgpt-user.html) | 213 | 0 | 2026-09-11T18:40:00.858765 |

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

```bash
curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=openai&s=client-dossiers'
```

- [`/tools/verification-methods?crawler=openai`](https://www.pathwren.workers.dev/tools/verification-methods?crawler=openai&s=client-dossiers) **How do I prove a request really is one of OpenAI's crawlers?** Every crawler OpenAI operates in one call, each with the verification method that operator publishes for it.
- [`/tools/verify-crawler?ip=132.196.86.0&ua=GPTBot`](https://www.pathwren.workers.dev/tools/verify-crawler?ip=132.196.86.0&ua=GPTBot&s=client-dossiers) **Is 132.196.86.0 really GPTBot?** 132.196.86.0 is the first address of 132.196.86.0/24, from the GPTBot list shown on this page. The call checks it against every prefix this host mirrors.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error. [All of them](https://www.pathwren.workers.dev/tools/index.html?s=client-dossiers).

Documentation: [https://platform.openai.com/docs/bots](https://platform.openai.com/docs/bots)

## Sitemap

- [Full sitemap (XML)](https://www.pathwren.workers.dev/sitemap.xml) — every page, with dates
- [Full sitemap (markdown)](https://www.pathwren.workers.dev/sitemap.md) — the same map, readable
- [llms.txt](https://www.pathwren.workers.dev/llms.txt) — the whole host in one text file
- [documents.json](https://www.pathwren.workers.dev/documents.json) — every document, with its ETag
- [A2A agents](https://www.pathwren.workers.dev/a2a.html)
- [About and method](https://www.pathwren.workers.dev/about.html)
- [API](https://www.pathwren.workers.dev/api.html)
- [/c/<channel>/](https://www.pathwren.workers.dev/c)
- [Changelog](https://www.pathwren.workers.dev/changelog.html)
- [Compliance](https://www.pathwren.workers.dev/compliance)
- [Contact](https://www.pathwren.workers.dev/contact)
- [Impressum · Anbieterkennzeichnung](https://www.pathwren.workers.dev/impressum)
- [AI Crawler Index](https://www.pathwren.workers.dev/index.html)
- [No model runs here](https://www.pathwren.workers.dev/inference.html)
- [Legal](https://www.pathwren.workers.dev/legal)
- [MCP server](https://www.pathwren.workers.dev/mcp-doctor.html)
- [MCP server](https://www.pathwren.workers.dev/mcp-lint.html)
- [MCP server](https://www.pathwren.workers.dev/mcp-markdown.html)
- [MCP server](https://www.pathwren.workers.dev/mcp-netcheck.html)
- [MCP server](https://www.pathwren.workers.dev/mcp-robots.html)
- [MCP transport: the GET and HEAD leg](https://www.pathwren.workers.dev/mcp-transport.html)
- [MCP server](https://www.pathwren.workers.dev/mcp-triage.html)
- [MCP server](https://www.pathwren.workers.dev/mcp.html)
- [Packages](https://www.pathwren.workers.dev/packages.html)
- [Pricing](https://www.pathwren.workers.dev/pricing)
- [Privacy](https://www.pathwren.workers.dev/privacy.html)
- [API reference](https://www.pathwren.workers.dev/reference)
- [Access, keys and sign-up](https://www.pathwren.workers.dev/register)
- [Security posture](https://www.pathwren.workers.dev/security.html)
- [Services](https://www.pathwren.workers.dev/services)
- [Upstream status](https://www.pathwren.workers.dev/status.html)
- [Terms of use](https://www.pathwren.workers.dev/terms.html)
- [Trust](https://www.pathwren.workers.dev/trust)

## Machine copies of this page

- [HTML (canonical)](https://www.pathwren.workers.dev/operator/openai.html)
- [JSON](https://www.pathwren.workers.dev/operator/openai.json)
- [Markdown](https://www.pathwren.workers.dev/operator/openai.md) — this document

This document is a markdown rendering of [https://www.pathwren.workers.dev/operator/openai.html](https://www.pathwren.workers.dev/operator/openai.html), generated from that page's own bytes in the same build. The HTML page is canonical.
