curl -s https://www.pathwren.workers.dev/crawler/google-read-aloud.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
Google · User-triggered fetchers · json
User-agent: Google-Read-Aloud Disallow: /
| robots.txt token | Google-Read-Aloud |
| User-agent contains | Google-Read-Aloud |
| Operator | |
| Category | User-triggered fetchers |
| robots.txt | not governed by robots.txt (user-initiated, by operator policy) |
| Verify by | published IP ranges |
| Published ranges | 529 IPv4 + 529 IPv6 · json · source |
Fetches a page so Google can read it out loud with text-to-speech, at the moment a user asks. Formerly google-speakr. Google publishes fetcher addresses in two files — user-triggered-fetchers.json and user-triggered-fetchers-google.json — and does not say per fetcher which one applies, so verification means checking both; this index mirrors both.
A reader who asked Google to read your page aloud — often someone using it for accessibility — gets an error instead.
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943)
User-agent: Google-Read-Aloud Allow: /
Operator documentation: https://developers.google.com/search/docs/crawling-indexing/google-user-triggered-fetchers
Machine copies: json ·
markdown
Policies that name this crawler:
allow-all · block-all-ai · allow-ai-search-only · block-disputed · maximum-ai-visibility