# FeedFetcher-Google

> Crawls RSS and Atom feeds for Google News and WebSub. It is a user-triggered fetcher, and Google documents that those generally ignore robots.txt because a person asked for the fetch. 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.

| field | value |
|---|---|
| operator | Google |
| category | Tools and frameworks |
| robots.txt token | `FeedFetcher-Google` |
| user-agent contains | `FeedFetcher-Google` |
| robots.txt | not governed by robots.txt (user-initiated, by operator policy) |
| verify by | published IP ranges |
| published IP ranges | https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json |
| prefixes mirrored | 529 IPv4 / 529 IPv6 |
| operator docs | https://developers.google.com/search/docs/crawling-indexing/google-user-triggered-fetchers |
| last reviewed | 2026-09-14 |

## What blocking it costs you

Feed-driven Google products stop seeing your updates. A robots.txt rule will not stop it — block by user-agent at the edge if you mean it.

## Full user-agent string

```
FeedFetcher-Google; (+http://www.google.com/feedfetcher.html)
```

## Block it

```
User-agent: FeedFetcher-Google
Disallow: /
```

## Allow it

```
User-agent: FeedFetcher-Google
Allow: /
```

## 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.

- **How do I prove a request really is FeedFetcher-Google?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=feedfetcher-google&s=client-dossiers'`  
  The verification method its operator actually publishes — published IP ranges, reverse DNS, or nothing at all — and the mirror of it on this host.
- **Is 107.178.192.0 really FeedFetcher-Google?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verify-crawler?ip=107.178.192.0&ua=FeedFetcher-Google&s=client-dossiers'`  
  That address checked against every prefix this host mirrors. 107.178.192.0 is the first address of 107.178.192.0/27, one of the ranges listed on this page — so the link is a worked example that returns a match. Swap in an address from your own log.

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.

JSON: https://www.pathwren.workers.dev/crawler/feedfetcher-google.json · index: https://www.pathwren.workers.dev/llms.txt
