XMLTV Generator Home

XMLTV Generator

HTTP service for generating XMLTV/EPG files. Ideal for testing EPG parsers, IPTV apps, and populating demo environments.

Open URL Constructor →
Endpoint
v2
Default channels
1
Default slots
10
Streaming
yes

Health check

Returns HTTP 200 with body OK. Also shown live in the topbar.

curlcurl http://{host}:{port}/health_check

Get XMLTV file (v2) current

Recommended endpoint. Supports season/episode metadata and per-programme EPG overrides.

curlcurl "http://{host}:{port}/get_xml_tv_ver_2?tv_count=1&programme_count=10&minute=60&gmt_time=3"
defaultscurl "http://{host}:{port}/get_xml_tv_ver_2"

anchor_time fixes the start of the central programme and therefore every programme boundary. Use it to test timezone conversion, past/current/future state, catch-up and archive windows.

seed fixes catalog selection, ratings, censorship, random blackouts, IDs and other generated metadata. Use it to reproduce parser and import failures. Set both fields for byte-identical XML and programme editing.

Catalog mode uses a local deterministic snapshot of real TV and episode metadata from TVmaze under CC BY-SA.

ParameterDescriptionDefault
tv_countNumber of channels1
programme_countSlots in past & future from now10
minuteProgramme duration (minutes)60
gmt_timeTimezone offset (hours)3
anchor_timeFixed start of the central programme; ISO date-timecurrent time
seedStabilizes generated metadata, blackout positions and programme IDsrandom
ch_id_startFirst channel id69
programme_titleTitle template; ignored in catalog modeProgramme
programme_descDescription template; ignored in catalog modeDescription
icon_linkProgramme icon URLhttp://default.icon/link
content_modetemplate or deterministic real TV/episode catalog contenttemplate
countryOptional country override for every programmeUkraine
age_ratingOptional MPAA override for every programmegenerated
star_ratingOptional 0–10 rating override for every programmegenerated
episodes_per_seasonEpisodes per season
seasons_countTotal seasons
start_seasonStarting season1
start_episodeStarting episode1
insert_everyInsert episode-num every N programmes3
modeFormat: season_episode, season, episodeoff
censored_multiplierAmplifier for censored probability (0 disables). Base rates: G=0%, PG=1%, PG-13=3%, R=7%, NC-17=15%.1.0
blackout_moderandom or manual timeline rangesrandom
blackout_windowsNumber of blackout windows per channel1
blackout_window_sizeBlackout window length in programme slots3
blackout_rangesInclusive shared default ranges, for example 3-5,10-12
blackout_channel_rangesJSON per-channel range overrides; missing channels inherit the shared default
ovConstructor-managed JSON overrides keyed by channel_id:slot

Generated XMLTV fields read-only defaults

These fields are emitted automatically. The table documents whether each value is fixed, derived from URL parameters, seeded, or conditional.

XML fieldSourceDefault / algorithmStatus
Loading field catalog…

Get XMLTV file (v1) deprecated

Kept for backward compatibility. New clients should use v2.

curlcurl "http://{host}:{port}/get_xml_tv?tv_count=1&programme_count=10&minute=60&gmt_time=+0300"
defaultscurl "http://{host}:{port}/get_xml_tv"
ParameterDescriptionDefault
tv_countNumber of channels1
programme_countPast & future programme slots10
minuteProgramme duration (minutes)60
gmt_timeTimezone offset string+0300
ch_id_startFirst channel id69
programme_titleTitle template"Programme title text"
programme_descDescription template"Programme desc text"
icon_linkProgramme icon URLsimplware demo logo