Every /gateway/v1/* endpoint, its parameters, and the headers you'll get back —
plus a live panel below to run a real authenticated request without leaving this page.
Machine-readable spec: openapi.yaml (OpenAPI 3.0).
Every request needs a bearer key: Authorization: Bearer ibk_....
Get a free key or paste one you already
have into the playground below. Format defaults to RSS —
pass ?format=atom or ?format=jsonfeed for the others.
Every response carries X-RateLimit-* (per-minute burst) and
X-Quota-* (monthly cap) headers. Exceeding either returns
429 Too Many Requests with the same headers so you know when to retry.
| Source | Endpoint | Parameters |
|---|---|---|
| Telegram | GET /gateway/v1/telegram/{channel} | format, before |
GET /gateway/v1/reddit/{subreddit} | format | |
| GitHub | GET /gateway/v1/github/{owner}/{repo} | type (releases|tags|commits), branch, format |
| Mastodon | GET /gateway/v1/mastodon | handle or tag+instance, format |
| Bluesky | GET /gateway/v1/bluesky | handle (required), format |
| YouTube | GET /gateway/v1/youtube | url (required), format |
| RSS / Atom | GET /gateway/v1/rss | url (required), format, before |
| Radio | GET /gateway/v1/radio | url (required), format |
curl -H "Authorization: Bearer ibk_..." \
"https://infobeam.net/gateway/v1/rss?url=https://example.com/feed.xml"
const res = await fetch(
"https://infobeam.net/gateway/v1/rss?url=https://example.com/feed.xml",
{ headers: { Authorization: "Bearer ibk_..." } }
);
const xml = await res.text();
import requests
res = requests.get(
"https://infobeam.net/gateway/v1/rss",
params={"url": "https://example.com/feed.xml"},
headers={"Authorization": "Bearer ibk_..."},
)
res.raise_for_status()
print(res.text)
req, _ := http.NewRequest("GET",
"https://infobeam.net/gateway/v1/rss?url=https://example.com/feed.xml", nil)
req.Header.Set("Authorization", "Bearer ibk_...")
res, err := http.DefaultClient.Do(req)
Runs a real request from your browser to this API, using the key below. Nothing is sent anywhere but this site.