Skip to main content
The XMLTV API serves EPG (Electronic Programme Guide) data that tuliprox has processed from your configured EPG sources. The output is a standards-compliant XMLTV XML document.

EPG endpoint

All three paths are equivalent:

Parameters

string
required
The username defined in api-proxy.yml.
string
required
The password for the user.
string
Token credential. Accepted in place of username + password.

Response

Returns a text/xml streaming response in XMLTV format. tuliprox applies the following transformations before serving:
  • Time-shifting: If the user has epg_timeshift configured, all programme start and stop times are shifted accordingly.
  • URL rewriting: If epg_timeshift is set or URL rewriting is enabled, icon/logo URLs in the EPG are rewritten to proxy through tuliprox.
If no EPG file has been built for the target yet, an empty but valid XMLTV document is returned:

Error responses

Examples


XMLTV document structure

The response is a standard XMLTV document. Each channel with at least one programme entry is included.
The generator-info-url attribute in the <tv> element contains the server’s base URL, which is useful for debugging which tuliprox instance served the EPG.

EPG resource proxy

When URL rewriting is enabled, icon URLs in the EPG are rewritten to route through this endpoint, which obscures the original provider URL and proxies the image through tuliprox.
string
required
The authenticated username.
string
required
The authenticated password.
string
required
The obfuscated resource identifier (generated internally by tuliprox). Not intended to be constructed manually.

EPG time-shifting

Per-user EPG time-shifting lets you offset programme times. This is useful when a provider’s EPG times are in the wrong timezone for your users. Configure it in api-proxy.yml:
Accepted formats:
  • "+60" or "-60" — shift by ±N minutes
  • A timezone name such as "Europe/Berlin" — express times in the target timezone