---
title: "RSS feeds"
description: "Forums, communities and blogs that no platform search covers, read through their RSS or Atom feed."
canonical: https://docs.rumoro.dev/platforms/rss
markdown: https://docs.rumoro.dev/platforms/rss.mdx
---

# RSS feeds

Forums, communities and blogs that no platform search covers, read through their RSS or Atom feed.

Your product's own forum, a niche community, a competitor's blog or a newsletter usually has an RSS or Atom feed but no search Rumoro could ask. Give a keyword the feed, or just the site's address, and every post in it that holds the term becomes a mention.

| `platform` | `rss` |
| --- | --- |
| Finds | The posts of the feeds a keyword names that hold its term |
| Checked | Every hour |
| New feed | The 10 newest matching posts from the last 30 days |

## Connect a feed

Send `feeds` on [`POST /v1/keywords`](/api/keywords/create-keyword) or [`PATCH /v1/keywords/{id}`](/api/keywords/update-keyword): up to 20 a keyword, each as `{ "url": ... }`.

```ts tab="TypeScript"
await rumoro.updateKeyword({ path: { id: 'kw_...' }, body: { feeds: [{ url: 'https://forum.example.com' }, { url: 'https://example.com/blog/feed.xml' }] } });
```

```python tab="Python"
rumoro.keywords.update("kw_...", feeds=[{"url": "https://forum.example.com"}, {"url": "https://example.com/blog/feed.xml"}])
```

```bash tab="curl"
curl -X PATCH https://api.rumoro.dev/v1/keywords/kw_... \
  -H "Authorization: Bearer $RUMORO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "feeds": [{ "url": "https://forum.example.com" }, { "url": "https://example.com/blog/feed.xml" }] }'
```

- `feeds` replaces the whole list. `[]` disconnects them all; the mentions they brought stay.
- Every feed is checked when you save. If any of them can't be read, nothing is saved and the `400` names each one that failed and why, for example `feeds: https://example.com (no feed behind this address); https://www.reddit.com/r/node (Reddit is searched already: add the Reddit platform to the keyword instead).`
- The dashboard checks each feed as you add it, so you see its title, or the reason it can't be read, before saving.
- The keyword shows its feeds as `{ url, title, connectedAt }`. `url` is the feed itself after redirects, which may differ from the address you gave.
- `platforms: []` makes a keyword that reads only its feeds (and review pages, if it has any).

A feed belongs to the keywords that named it. If another workspace reads the same feed, Rumoro fetches it once for both, but a post in it is only ever a mention of a keyword that named the feed.

## Finding the feed

You can paste the feed's own address or the page of the site that publishes it:

- **A page that advertises its feed** (WordPress, Ghost, Substack and most blogs): the feed the page names in its `<head>`. If it names none, Rumoro tries the usual addresses `/feed` and `/rss`.
- **A Discourse forum:** its front page gives the latest posts, replies included (`/posts.rss`), rather than new topics alone. A category page gives that category's feed.
- **Medium:** a tag, a writer (`medium.com/@name`) or a publication goes to its Medium feed.
- **GitHub:** a repository's address gives its releases (`/releases.atom`).
- **Reddit and X** are refused, because their platforms are searched already. Add the platform to the keyword instead.

Some forums show a "checking your browser" page to every automated request, feeds included. When that check works without JavaScript (a redirect, an instant refresh and a cookie), Rumoro passes it the way a browser without JavaScript does, as its own feed reader, and only where the site's `robots.txt` allows it. A check that needs JavaScript or a CAPTCHA, or a login, can't be read, and the save says so.

## What you get

| Field | Holds |
| --- | --- |
| `post.title` | The post's title |
| `post.text` | The title, then the post's text as the feed carries it. Some feeds carry only a summary. |
| `post.url` | The post itself |
| `author` | The author as the feed names them, when it does. Feeds give no profile, so these authors don't appear in your audience. |

Score, sentiment, intent and triage work the same on every platform. See the [mention fields](/api/mentions/get-mention).

## Price

The same as every platform: $0.008 per matched mention. Reading a feed costs nothing extra.

## Limits

- A feed lists only its newest posts, often 20 to 50. A site that publishes more than that in an hour loses the overflow.
- A post with no date is skipped: nothing would say whether it was published before the keyword started reading the feed.
- The look-back reads what the feed still lists. A feed of 20 posts, none older than a day, brings at most the matches among those 20.
- A feed that fails is tried again within minutes, then every hour.
