curl -s https://www.pathwren.workers.dev/status.json   # this page, as JSON

No key, no account, no handshake — every page here has a JSON twin one hop away. Machine doors: 6 keyless GET tools · documents.json · changes · llms.txt · openapi.json · agent card · mcp · a2a

Upstream status

15/15 endpoints answered · 1997 IPv4 + 1062 IPv6 prefixes · refreshed 2026-09-14T03:51:08+00:00 · json

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.

Measured here, not asserted: How a 100,000-request/day free plan gets spent in eight hours — 178,877 requests against a 100,000 ceiling, the platform’s own hourly counter, and the residual of 124,901 nobody can name. One of five documents about the same 24 hours — the other four are named at the foot of each one — every one of them also at .md and .json, with the figures and the SQL under the data index beside them.

To follow this without re-downloading anything: /changes.json 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.

SourceStateHTTPPrefixesOperator timestampFetchedChanged
openai-gptbotok200212025-10-30T11:00:002026-09-14T03:51:03no
openai-searchbotok200392026-01-02T11:00:002026-09-14T03:51:03no
openai-chatgpt-userok2002132026-09-11T18:40:002026-09-14T03:51:04no
google-googlebotok2003172026-09-11T14:46:082026-09-14T03:51:05no
google-specialok2002722026-09-11T14:46:082026-09-14T03:51:05no
google-user-triggeredok20010582026-09-11T14:46:072026-09-14T03:51:06no
google-user-triggered-googleok2004962026-09-11T14:46:082026-09-14T03:51:07no
bing-bingbotok200282024-01-03T10:00:002026-09-14T03:51:07no
apple-applebotok200332026-07-31T10:00:002026-09-14T03:51:07no
duckduckgo-duckduckbotok2004862026-09-01T12:44:582026-09-14T03:51:08no
perplexity-botok20082025-02-07T16:56:002026-09-14T03:51:08no
perplexity-userok20042025-10-17T10:17:002026-09-14T03:51:08no
google-user-triggered-agentsok20042026-03-03T10:00:002026-09-14T03:51:08no
commoncrawl-ccbotok20052026-08-11T13:40:002026-09-14T03:51:08no
ahrefs-crawlerok20081—2026-09-14T03:51:08no

This page as markdown: /status.md — the same text, no markup to strip, no JavaScript, no key, CC0. Every page here has one: add .md to any address (also .mdx, <page>.html.md, <page>.html.mdx), or send Accept: text/markdown to this one. All of them in a single index: /sitemap.md.