Frikanalen

The Frikanalen broadcast schedule is published as NorDig EPG/Event metadata: TV-Anytime as profiled by the NorDig TVA Implementation Guidelines. It is intended for business-to-business use by network operators, EPG aggregators and others redistributing our schedule.

Documents validate against tva_metadata_3-1.xsd from ETSI TS 102 822-3-1 v1.11.2, which is the version NorDig profiles.

Feed URLs

No authentication is required. Fetch by polling; there is no push notification.

/api/tvanytime/upcoming
Today onwards. This is the URL to poll.
/api/tvanytime/YYYY/MM/DD
A window starting on the given date, for backfilling an archive. The link goes to today, Sept. 28, 2026.

Both accept ?days=N, from 1 to 31; the default is 7. The schedule itself is only drafted about three weeks ahead, so a window wider than that returns whatever exists.

curl -s 'https://frikanalen.no/api/tvanytime/upcoming?days=14' -o epg.xml

What the document contains

TV-Anytime describes a programme separately from its transmissions, so the two are in different tables and joined by a content reference identifier:

Notes for implementers

Identifiers are stable
A programme is identified by crid://frikanalen.no/video/<id> and keeps that identifier across requests, so it is safe to store. The same CRID names the programme whether it is on air or in the on-demand catalogue, which is how the two are recognised as one thing.
Times are Europe/Oslo
Every timestamp carries an explicit UTC offset, so it is unambiguous across the summer-time transitions.
Published and actual times
PublishedStartTime is what is scheduled. ActualStartTime appears only once the airtime has passed, and marks the transmission as one we stand behind as having aired; an item still on air has a start and no end. Our playout follows the schedule, so the two agree.
Not everything on air is available on demand
A programme appears as an OnDemandProgram only where we hold the online rights — which excludes, among other things, programmes containing music registered with TONO. Such a programme still appears in the Schedule, because it does still go out.
Absent means unknown
An element we cannot fill is left out rather than guessed at, so treat a missing element as "not stated" rather than as an error.

Elsewhere

Questions about the feed, or a field you need that we do not publish: post@frikanalen.no.