Filtering feeds
Query parameters for limiting a newsroom feed by language, date, tag or category.
Both JSON and RSS feeds accept these query parameters. Combine them to narrow the result: every parameter you set must match.
curl --silent 'https://newsroom.example.com/feed.json?lang=nl&category=Company%20news&limit=20'| Parameter | Example | Behavior |
|---|---|---|
limit | limit=25 | Stories per response. Default 10, maximum 100. |
offset | offset=25 | Stories to skip, for paging. |
lang | lang=nl | Language or locale code. nl matches every Dutch locale, nl_BE only Belgian Dutch. |
culture | culture=nl_BE | Exact locale code. Takes precedence over lang. |
year | year=2025 | Publication year, as four digits. |
tag | tag=Ghent,Offices | Stories with at least one of these tags. |
category | category=Company%20news | Stories with at least one of these category or tag names. |
published_after | published_after=2026-01-01 | Published on or after this date. |
modified_after | modified_after=2026-01-01 | Last changed on or after this date. |
date_format | date_format=c | Format of the dates in the response. See Dates. |
Language
Without lang or culture, the feed mixes every language of the newsroom. The feed title and link follow the requested language, or the newsroom's default language.
/feed.json/nl and /feed.rss/nl are shorthands for ?lang=nl. An unknown language or locale returns 404.
Tags and categories
Names are matched exactly and are case-sensitive: tag=ghent does not match a story tagged Ghent. Separate several names with commas to match any of them. Encode spaces and & in names, as in category=Corporate%20%26%20Financial%20News.
category matches a category name in any of the newsroom's languages, and also matches tags with that name. Category names are the display names shown in the newsroom, not slugs or IDs.
Paging
Request the next page by increasing offset by limit. Stop when a page holds fewer than limit stories. count is the size of the current page, not the total.
curl --silent 'https://newsroom.example.com/feed.json?limit=100&offset=0'
curl --silent 'https://newsroom.example.com/feed.json?limit=100&offset=100'Date filters
published_after and modified_after take a date as YYYY-MM-DD and include stories from the start of that day. limit and offset still apply, so page through the results as usual. Any other format returns 400.
To pick up new and updated stories, poll with modified_after set to the date of your last successful poll. The filter works per day, so a poll returns stories you have already seen. Key stored stories by url, which is unique across a hub's member newsrooms, unlike slug. Replace a stored story when its modified_at has changed.
Errors
| Status | Cause |
|---|---|
400 | year is not a four-digit year, or a date is not formatted as YYYY-MM-DD. |
404 | Unknown lang or culture, or an unsupported feed format. |