The RSS feeds API

Everything this directory of RSS feeds knows, as JSON: 641 feeds, the posts they publish and the topics they are filed under. No account, no key to read. The same data the RSS and OPML exports carry.

Endpoints

  • GET /api/v1/feeds — The directory, newest first. Parameters: tag, q, limit, before.
  • GET /api/v1/feeds/<slug> — One feed and its latest posts, by the last part of its page's address.
  • GET /api/v1/items — Posts across the directory, newest first; filters combine with AND, a list inside one is OR; the answer's next is the following page. Parameters: tag, q, exclude, host, feed, lang, since, limit.
  • POST /api/v1/discover {url} — Finds and reads a site's feed without saving it: the preview the submit form uses.
  • POST /api/v1/lookup {urls} — Which of up to 200 feed addresses the directory has, and which it has not.
  • POST /api/v1/feeds {url, tags?} — Submits a feed. It is live when the call returns; five an hour without a key.
  • POST /api/v1/collections {title, feeds, filters?} — Saves a set of feeds and filters; the answer carries its edit link, shown once.

A POST takes JSON and needs Content-Type: application/json. Lists page by limit, 100 at most, and the next or before the answer gives. Every answer allows any origin (CORS), so a page may call it directly.

Free, without a key

120 requests a minute per address. Anonymous answers are cached at the edge for two minutes, so a busy page costs the directory nothing. If you show the data somewhere, a link back to the feed's page here is appreciated and not required. The code is open source under the AGPL-3.0, at github.com/dstengine/rss-mobi.

A key: $29 for 30 days

  • 600 requests a minute, the key's own allowance, whatever address it calls from.
  • Every field: on each post and feed, index — whether Google has the original, when and how often that was checked, and our page's robots line.
  • Fresh answers, never from the cache.

Send it with every call:

curl -H "Authorization: Bearer RSSMOBI-…" \
  "https://rss.mobi/api/v1/items?tag=ai&limit=50"

Card payment is not open here yet. Until it is, write to rss-mobi@vvm.space and a key is made by hand, with the same allowance and on the same terms.

A larger allowance, or keys for several sites: write to rss-mobi@vvm.space. The rules are in the terms.

Errors

  • 401 — the key is unknown, expired or refunded. A made-up key spends the anonymous allowance, nothing more.
  • 403 — the key lacks the scope the call needs.
  • 429 — the allowance for this minute is used; Retry-After says when it returns.
  • 503 — a bought key could not be checked just now; try again in a minute.