NRK APInrk.no ↗
Access NRK.no news via API: front page, category, regional articles, full content, search, and breaking news ticker. 7 endpoints, Norwegian language.
What is the NRK API?
The NRK.no API provides 7 endpoints for retrieving news content from Norway's public broadcaster, covering front-page headlines, category feeds, regional news, and full article bodies. The get_article_detail endpoint returns the complete article including body_html, lead, tags, authors, published, and modified timestamps. Search across NRK's archive using search_articles with keyword queries and pagination support.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/eeefe3a2-5a58-4c4e-a7bd-1bb2fdd97c30/get_front_page_articles' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace nrk-no-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: NRK.no News API — browse Norwegian news, drill into articles."""
from parse_apis.nrk_no_news_api import NRK, Category, Region, ArticleNotFound
client = NRK()
# Front page top stories — limit caps total items fetched
for article in client.frontpages.list(limit=3):
print(article.title, article.position, article.url)
# Category feed — use the Category enum for type safety
for article in client.categoryfeeds.get(category=Category.SPORT, limit=2):
print(article.title, article.published)
# Search and drill into the first result's full detail
result = client.searchresults.search(query="klima", limit=1).first()
if result:
detail = result.detail()
print(detail.title, detail.published, detail.lead[:100])
# Regional news — use the Region enum
for article in client.regionfeeds.get(region=Region.VESTLAND, limit=2):
print(article.title, article.author)
# Breaking news ticker
for item in client.tickeritems.list(limit=5):
print(item.title)
# Typed error handling — catch a not-found article
try:
bad_result = client.frontpages.list(limit=1).first()
if bad_result:
bad_result.detail()
except ArticleNotFound as exc:
print(f"Article gone: {exc.article_id}")
print("exercised: frontpages.list / categoryfeeds.get / searchresults.search / result.detail / regionfeeds.get / tickeritems.list")Extract articles from the NRK.no front page RSS feed in display order. Returns the top stories currently featured on nrk.no with title, summary, publication date, categories, and position. Equivalent to get_top_stories_rss.
No input parameters required.
{
"type": "object",
"fields": {
"articles": "array of Article objects with id, title, url, summary, published, categories, author, image_url, and position"
},
"sample": {
"data": {
"articles": [
{
"id": "1.17916456",
"url": "https://www.nrk.no/stor-oslo/flere-innstillinger-i-togtrafikken-1.17916456",
"title": "Flere innstillinger i togtrafikken",
"author": "",
"summary": "Mellom Oslo S og Lillestrøm stasjon er det forsinkelser.",
"position": 1,
"image_url": "",
"published": "Thu, 11 Jun 2026 05:23:46 GMT",
"categories": [
"Nyhetssenter Stor-Oslo"
]
}
]
},
"status": "success"
}
}About the NRK API
What the API Covers
This API exposes NRK.no's news content across seven endpoints. Front-page content is available through get_front_page_articles and get_top_stories_rss, both of which return an array of article objects containing id, title, url, summary, published, categories, author, image_url, and position. These two endpoints return equivalent data and reflect the current display order on nrk.no.
Category and Regional Feeds
get_category_articles accepts a category parameter using NRK section slugs — confirmed values include sport, kultur, urix, nyheter, and norge. Similarly, get_regional_news accepts a region slug such as vestland, trondelag, tromsogfinnmark, rogaland, and ostfold to pull region-specific article lists. Both endpoints return the same article object shape plus a category or region string echoing the requested slug.
Full Article Content and Search
get_article_detail fetches complete article content by either url (e.g. a full https://www.nrk.no/... URL) or article_id in the format 1.XXXXXXXX — at least one must be provided. The response includes body_html with the full article body, lead text, tags array, authors array, and both published and modified ISO 8601 timestamps. search_articles takes a required query string and optional from and size integers for pagination, returning results with id, title, url, summary, and date.
Breaking News Ticker
get_latest_news_ticker returns the current breaking news items from NRK's front-page ticker. Each item exposes only a title string — no URLs or timestamps are included in the ticker response.
The NRK API is a managed, monitored endpoint for nrk.no — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nrk.no changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official nrk.no API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor NRK's front-page headlines in real time using
get_front_page_articlesand trackpositionchanges over time. - Build a Norwegian-language news aggregator pulling from multiple categories via
get_category_articleswith slugs likesport,kultur, andurix. - Retrieve full article
body_htmlandauthorsviaget_article_detailfor NLP analysis or text summarization pipelines. - Track breaking news alerts by polling
get_latest_news_tickerand surfacing newtitleentries. - Paginate NRK's archive search using
search_articleswithfromandsizeto build a research corpus on a specific topic. - Aggregate regional Norwegian news by cycling through region slugs in
get_regional_newsfor multi-region dashboards. - Extract article
tagsandcategoriesfromget_article_detailresponses to build topic classification training data.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NRK have an official developer API?+
What does `get_article_detail` return beyond what the list endpoints provide?+
get_article_detail returns fields not available in the feed endpoints: body_html (full article body as HTML), lead (intro paragraph), tags (array of tag strings), authors (array of author name strings), and a modified timestamp alongside published. List endpoints return only summary, not the full body.Does the breaking news ticker include URLs or timestamps for each item?+
get_latest_news_ticker returns only an array of objects each containing a title string. There are no URLs, IDs, or timestamps in the ticker response. You can fork this API on Parse and revise it to add an endpoint that resolves ticker titles to full article URLs.Are NRK TV or podcast/audio catalog data available through this API?+
How does pagination work in `search_articles`, and are there known limits on result size?+
search_articles accepts from (start index, integer) and size (number of results, integer) alongside the required query string. The API documentation does not specify a maximum size value, so large values may return fewer results than requested depending on how many matches exist.