---
title: "Upstream status — AI Crawler Index"
description: "15 of 15 operator IP-range endpoints answered on the last refresh. Machine copy at /status.json."
canonical: "https://www.pathwren.workers.dev/status.html"
url: "https://www.pathwren.workers.dev/status.md"
format: "markdown"
source: "the bytes of /status.html, in the build that wrote the page"
generator: "surfaces/ai-crawler-index/build.py"
generated: "2026-09-03T06:29:54+00:00"
license: "CC0-1.0"
---

# Upstream status

> 15 of 15 operator IP-range endpoints answered on the last refresh. Machine copy at /status.json.

15/15 endpoints answered · 1984 IPv4 + 1062 IPv6 prefixes · refreshed 2026-09-03T02:42:02+00:00 · [json](https://www.pathwren.workers.dev/status.json)

```bash
curl -s https://www.pathwren.workers.dev/status.json | jq '.sources_ok, .sources_failed'
```

A source that stops answering keeps its last known prefixes and is marked failed rather than emptied, because a prefix list that silently shrinks is worse than one that is visibly stale.

To follow this without re-downloading anything: [/changes.json](https://www.pathwren.workers.dev/changes.json?since=0) is a since-cursor feed of every real change — prefixes added or removed, upstreams that failed or recovered, records edited. Read `cursor` from the response, send it back as `since`, and an unchanged answer is a 304 with no body.

| Source | State | HTTP | Prefixes | Operator timestamp | Fetched | Changed |
| --- | --- | --- | --- | --- | --- | --- |
| openai-gptbot | ok | 200 | 21 | 2025-10-30T11:00:00 | 2026-09-03T02:41:55 | no |
| openai-searchbot | ok | 200 | 35 | 2026-01-02T11:00:00 | 2026-09-03T02:41:55 | no |
| openai-chatgpt-user | ok | 200 | 204 | 2026-08-14T20:03:38 | 2026-09-03T02:41:55 | no |
| google-googlebot | ok | 200 | 317 | 2026-09-02T14:45:50 | 2026-09-03T02:41:55 | no |
| google-special | ok | 200 | 272 | 2026-09-02T14:45:54 | 2026-09-03T02:41:56 | no |
| google-user-triggered | ok | 200 | 1058 | 2026-09-02T14:45:44 | 2026-09-03T02:42:00 | no |
| google-user-triggered-google | ok | 200 | 496 | 2026-09-02T14:45:50 | 2026-09-03T02:42:00 | no |
| bing-bingbot | ok | 200 | 28 | 2024-01-03T10:00:00 | 2026-09-03T02:42:01 | no |
| apple-applebot | ok | 200 | 33 | 2026-07-31T10:00:00 | 2026-09-03T02:42:01 | no |
| duckduckgo-duckduckbot | ok | 200 | 486 | 2026-09-01T12:44:58 | 2026-09-03T02:42:01 | no |
| perplexity-bot | ok | 200 | 8 | 2025-02-07T16:56:00 | 2026-09-03T02:42:01 | no |
| perplexity-user | ok | 200 | 4 | 2025-10-17T10:17:00 | 2026-09-03T02:42:01 | no |
| google-user-triggered-agents | ok | 200 | 4 | 2026-03-03T10:00:00 | 2026-09-03T02:42:02 | no |
| commoncrawl-ccbot | ok | 200 | 5 | 2026-08-11T13:40:00 | 2026-09-03T02:42:02 | no |
| ahrefs-crawler | ok | 200 | 81 | — | 2026-09-03T02:42:02 | no |

## 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)
- [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-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)
- [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/status.html)
- [JSON](https://www.pathwren.workers.dev/status.json)
- [Markdown](https://www.pathwren.workers.dev/status.md) — this document

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