TV2 APItv2.no ↗
Access TV2.no articles, live football scores, TV schedules, breaking news, and video content via 10 structured JSON endpoints.
What is the TV2 API?
The TV2.no API exposes 10 endpoints covering Norwegian news articles, live football match data, TV channel schedules, breaking news feeds, and video content from one of Norway's largest broadcasters. Use get_article to retrieve full article text with author names, timestamps, and image captions, or get_tv_guide to pull the complete EPG for all TV2 channels on any given date. Data spans editorial content, sports statistics, and programmatic TV listings in a consistent JSON structure.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/a4c69b4f-064d-482b-9d81-2b2906b99b4d/get_frontpage_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 tv2-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.
"""TV2.no API — browse Norwegian news, sports, TV schedules, and live sport matches."""
from parse_apis.TV2_no_API import TV2, Category, Subcategory, ArticleNotFound
client = TV2()
# Browse front page articles, capped at 5 items.
for article in client.article_summaries.frontpage(limit=5):
print(article.title, article.section)
# Drill into a specific category using the enum.
sport_article = client.article_summaries.by_category(category=Category.SPORT, limit=1).first()
if sport_article:
print(sport_article.title, sport_article.url)
# Navigate from summary to full article detail with typed error handling.
if sport_article:
try:
full = sport_article.details()
print(full.title, full.published_date, len(full.images))
except ArticleNotFound as exc:
print(f"Article gone: {exc.url}")
# Breaking news feed — paginated automatically.
for item in client.breaking_news_items.list(limit=3):
print(item.title, item.created_at, item.is_breaking)
# Today's TV schedule — first channel, first 3 programs.
channel = client.channels.list(limit=1).first()
if channel:
print(channel.display_name, len(channel.programs))
for prog in channel.programs[:3]:
print(prog.title, prog.genre, prog.start_time)
print("exercised: frontpage / by_category / details / breaking_news_items.list / channels.list")
Retrieves articles from the TV2.no front page content stream. Returns a flat list of article summaries ordered by editorial position. Each item carries a title, URL, optional kicker/summary, image URL, section tag, and content type. The stream refreshes frequently; results reflect real-time editorial decisions.
No input parameters required.
{
"type": "object",
"fields": {
"articles": "array of article summary objects"
}
}About the TV2 API
News and Article Endpoints
get_frontpage_articles returns a flat list of article summaries in current editorial order, each with a title, URL, section tag, content type, kicker, and image URL. For full content, pass any article URL (absolute or path-only, e.g. /a/18778686) to get_article, which returns the headline, ingress, full body text, published_date, updated_date, author names, and embedded images with captions. Category and subcategory browsing is handled by get_category_articles (accepts nyheter, sport, underholdning, video, broom, baat, bolig, historie, helse) and get_subcategory_articles (supports sections like utenriks, innenriks, fotball, sykkel, and more).
Breaking News and Topic Feeds
get_siste_nytt retrieves TV2's live news stream (Siste nytt / Overblikk), paginated with a configurable limit parameter accepting values of 1, 5, 10, or 25 posts per page. Each post includes cleaned text content, a creation timestamp, a direct URL, and a breaking-news flag. To follow a specific ongoing story, get_topic_feed accepts a 24-character hex topic_id (obtainable from get_siste_nytt post data) and returns full post documents with content blocks, byline info, category, timestamps, and pagination metadata including totalDocs and totalPages.
Sports Data
get_livesport_matches returns football match listings grouped by season and competition for a given date (defaults to today). Each match includes team info, scores, status, start time, and broadcast details. Pass a UUID match_id from those results to get_match_details to retrieve three structured sections: overview (result, teams, scores, competition context, broadcast info), lineups (formations and player lists with optional ratings), and facts (match incidents such as goals, cards, and substitutions).
TV Guide and Video
get_tv_guide returns the full EPG for all TV2 channels on a specified date. Each channel entry contains channel metadata and a chronological program list with titles, synopses, genres, start and end times, episode information, age ratings, and replay availability. get_videos returns the current video content stream with titles, video asset URLs, and thumbnail images.
The TV2 API is a managed, monitored endpoint for tv2.no — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tv2.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 tv2.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 breaking Norwegian news with timestamps and breaking-news flags from
get_siste_nytt - Build a football match tracker that pulls live scores, lineups, and match events for a given date using
get_livesport_matchesandget_match_details - Aggregate full-text TV2 articles by category for media monitoring or NLP pipelines via
get_category_articlesandget_article - Generate a daily TV schedule digest for all TV2 channels using
get_tv_guidewith a date parameter - Follow a developing news story through
get_topic_feedby tracking a specific topic ID across paginated post documents - Populate a Norwegian sports news feed by combining subcategory feeds such as
fotball,sykkel, andvintersportfromget_subcategory_articles - Curate a video content stream with asset URLs and thumbnails using
get_videosfor embedding in third-party interfaces
| 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 TV2.no have an official public developer API?+
What does `get_match_details` return beyond the basic score?+
get_match_details returns three sections for a given UUID match: overview with result, team names, scores, competition context, and broadcast info; lineups with each team's formation and player list including optional player ratings; and facts with timestamped match incidents such as goals, yellow and red cards, and substitutions.Does the TV guide endpoint cover all Norwegian TV channels or only TV2 channels?+
get_tv_guide covers TV2's own channel portfolio. Other Norwegian broadcasters (NRK, TVNord, etc.) are not included in the current EPG response. You can fork this API on Parse and revise it to add endpoints targeting other channel schedules.Does the API cover sports other than football?+
sykkel), winter sports (vintersport), ice hockey (ishockey), handball, tennis, chess (sjakk), and basketball, but structured match or score data for those sports is not available. You can fork this API on Parse and revise it to add structured data endpoints for other sports if TV2 exposes that data.