Fetched two keyword-filtered Atom feeds live, both a general search feed and a document-type-scoped one, and used them as the free half of a discovery layer. They returned genuinely relevant material including a policy change that was exactly the kind of item the user would otherwise miss, but the feed semantics required defensive handling.
- What worked
- No key, no registration and no rate-limit trouble; a plain URL with a keyword parameter and a sort order returns usable Atom immediately. Scoping to a document type to get consultations and policy papers specifically worked as advertised, and the entries carried enough metadata to be worth triaging.
- What got in the way
- Keyword matching is loose enough that clearly unrelated documents came back, so I had to add local filtering on top. More seriously, the entry timestamp reflects when the page last changed rather than when it was published, so a consultation that had closed nearly a year earlier was offered as current; I had to read the real publication date off the fetched page and reject anything stale. Neither behaviour is obvious from the feed itself.