VG APIvg.no ↗
Access VG.no front page articles, full article content, sports scores, TV schedules, and search across Norway's largest online newspaper via a single API.
What is the VG API?
The VG.no API provides 8 endpoints covering the full editorial surface of Norway's largest online newspaper, including front page articles, full article body text, category browsing, keyword search, live sports scores, and TV guide listings. The get_article endpoint returns structured fields including title, lead, author, body, published, main_image, and optional summary bullet points (Kortversjonen), making it possible to build Norwegian news readers, monitoring tools, or research pipelines without manual scraping.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/8edd2188-6e92-4cd5-af59-d9a4a69e9394/get_front_page' \ -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 vg-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.
from parse_apis.vg_no_news_and_media_api import VG, Category, Sport, Channel
vg = VG()
# Browse front page articles
for item in vg.frontpageitems.list():
print(item.title, item.url, item.position)
# Get full article content from a front page item
article = vg.articles.get(url="https://www.vg.no/nyheter/i/ExjKOP/hegseth-varsler-kraftige-angrep-i-iran-i-natt")
print(article.title, article.author, article.published)
# Get related articles for the fetched article
for related in article.related():
print(related.title, related.url)
# Search for articles by keyword
for result in vg.searchresults.search(query="Norge"):
print(result.title, result.description, result.date)
# Browse category articles using enum
for cat_article in vg.categoryarticles.list(category=Category.SPORT):
print(cat_article.title, cat_article.url)
# Get latest news
for latest in vg.latestitems.list():
print(latest.title, latest.time)
# Get sports scores
for event in vg.sportevents.list(sport=Sport.FOOTBALL):
print(event.tournament, event.status, event.slug)
# Get TV guide
for listing in vg.tvlistings.list(channel=Channel.NRK1):
print(listing.starts_at, listing.ends_at, listing.is_rerun)
Get an ordered list of articles from the VG homepage. Returns articles with position, title, URL, and optional image URL. No parameters required.
No input parameters required.
{
"type": "object",
"fields": {
"articles": "array of article objects with position, title, summary, url, image_url, category"
},
"sample": {
"data": {
"articles": [
{
"url": "https://vglive.vg.no/profeten/kamper/",
"title": "VM-profeten: Nå renner tiden ut",
"summary": "",
"category": null,
"position": 1,
"image_url": "https://akamai.vgc.no/v2/images/fcdab4d5-ab43-3ce5-a8f7-61a33d8e56f1?fit=crop&format=auto&w=40"
}
]
},
"status": "success"
}
}About the VG API
News and Article Endpoints
get_front_page returns an ordered list of homepage articles, each with position, title, summary, url, image_url, and category. get_latest_news pulls from the /siste feed and accepts an optional limit parameter to control how many recent articles come back, each including time and read_time. For full content, get_article accepts any VG article URL and returns the complete body as newline-separated paragraphs, the lead, comma-separated author names, ISO 8601 published date, and an array of summary bullet points when the Kortversjonen section is present in the article.
Category, Search, and Related Articles
get_category_articles accepts a category slug — verified values are nyheter, sport, and rampelys — and returns article title and url. Sport category results additionally expose published and authors fields. search_articles takes a required query string and returns matching results with title, url, description, and date. get_related_articles accepts a full article URL and extracts links from the Relaterte saker section, returning an array of title and url pairs.
Sports Scores and TV Guide
get_sport_scores returns events from VG Live for a given sport (verified: football, ice-hockey, handball) and optional date in YYYY-MM-DD format. Each event includes teams, scores, status, status_detail, tournament, and slug, along with a total_events count. get_tv_guide accepts a channel slug (e.g. nrk1, tv2-direkte, tvnorge) and a date, returning a channel object with id, name, logo, and order, plus listings with startsAt, endsAt, title, episode, isLive, and isRerun flags.
The VG API is a managed, monitored endpoint for vg.no — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vg.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 vg.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?+
- Build a Norwegian news aggregator that surfaces front page articles with category labels and images from
get_front_page. - Monitor specific topics by running
search_articlesagainst a keyword list and tracking newdate-stamped results over time. - Extract article body text and Kortversjonen bullet points via
get_articlefor NLP summarization or translation pipelines. - Track live football, ice hockey, and handball match results using
get_sport_scoreswith daily date parameters. - Construct a Norwegian TV schedule tool by querying
get_tv_guideacross multiple channel slugs for a given date. - Discover related editorial content programmatically using
get_related_articlesto build content graphs or recommendation feeds. - Ingest the latest-news feed via
get_latest_newswith alimitparameter for near-real-time Norwegian news alerting.
| 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 VG.no have an official developer API?+
What does `get_article` return, and does it include paywalled content?+
get_article returns title, lead, body (full paragraph text), author, published (ISO 8601), main_image, and a summary array of Kortversjonen bullet points when present. VG operates a premium subscription tier called VG+. Articles behind that paywall are not accessible and will not return full body content.Which sports does `get_sport_scores` cover?+
football, ice-hockey, and handball. Each event object includes teams, status, status_detail, tournament, and slug. Other sports may exist on VG Live but are not currently verified. You can fork the API on Parse and revise it to add support for additional sport slugs.Are all VG category pages supported by `get_category_articles`?+
nyheter, sport, and rampelys. VG.no has many additional category and topic pages that are not currently covered. You can fork the API on Parse and revise it to add support for other category slugs.Does the API support pagination for search results or the latest news feed?+
get_latest_news accepts an optional limit integer to cap results. Neither search_articles nor get_front_page expose pagination parameters in the current implementation — results reflect a single page of output. You can fork the API on Parse and revise it to add offset or page-based pagination for those endpoints.