📻 AMZ IPTV is winding down — read-only from 1 Dec 2026, offline 1 Jan 2027.

Full notice & timeline — this affects the community side only. iptvlookup.com (privacy-first) keeps working regardless.

🚀 Unlock Premium Features! Get private scans, bulk validation, and priority support. Upgrade now
Top Public Supporters:
190 C O-Side TEXASRANGER rachel_zem
Hall of Fame

Premium Purchasing Update

Starting June 16, 2026 at 0:00 CEST, we are transitioning from a donation-based Premium to a Shop-based system on Ko-fi.

Donations made after this time will be considered purely as financial support and will not grant Premium perks. If you already had Premium, nothing changes for you.

For now, Ko-fi payments are under maintenance. You can use Crypto (NowPayments) meanwhile.

Read FAQ
🍪

This site uses cookies

We use essential cookies for login and site functionality. Optional cookies are used for ads that help fund our server costs. Learn more

Developer API v3

API Documentation

Integrate our high-performance IPTV validation engine and metadata indexes into your applications and automated workflows.

Base URL: https://iptv.tutoje.cz/api

Authentication

Developer Access

API keys can be generated from the API Dashboard with an active Premium membership.

Get Premium

All API requests must be authenticated using a specialized API key. Pass your token in the request headers:

Required Header

X-API-Key: YOUR_API_TOKEN_HERE

Security Best Practice

Never expose your API key in client-side applications (SPA, mobile binaries, or browser scripts). Always route API requests through a secure server-side proxy.

GET

/search

Search channels, movies and series across all live public subscriptions. Returns playable stream URLs plus the countries each stream has been confirmed working from (proxy probes + peer worker reports).

Query Parameters

q Required

Search phrase (min. 2 characters). Multi-word queries match all words.

type String

all (default), live, vod or series.

country String

2-letter country prefix filter (e.g. UK matches „UK| Movies“ style channel names).

limit Integer

Max results (default 100, max 1000).

Example Response

{
    "success": true,
    "count": 2,
    "results": [
        {
            "hash": "ef10...",
            "stream_id": "823814",
            "name": "SKY CINEMA ANIMATION HD",
            "type": "live",
            "server_host": "provider.example",
            "stream_url": "http://provider.example/live/user/pass/823814.ts",
            "countries": ["US", "DE"],
            "username": "user",
            "password": "pass"
        }
    ]
}
GET

/servers

List live public servers with their confirmed geo availability — the countries each server has been verified working from. Use it to find geo-unblocked servers or servers accessible from a specific country.

Query Parameters

min_countries Integer

Only servers confirmed working from at least N countries (high value = little/no geo-blocking).

country String

Only servers confirmed working from this country (e.g. CZ).

limit Integer

Max results (default 200, max 1000). Results are sorted by country coverage (most accessible first).

Example Response

{
    "success": true,
    "count": 1,
    "servers": [
        {
            "server_host": "provider.example",
            "countries": ["CZ", "DE", "SK", "US"],
            "country_count": 4,
            "last_seen": 1788077401,
            "username": "user",
            "password": "pass",
            "hash": "ef10..."
        }
    ]
}
GET

/subscriptions

Retrieve a collection of validated IPTV subscriptions with filtering, sorting, and pagination options.

Query Parameters

hide_adult Boolean

Set to '1' to filter out resources containing explicit adult channels or categories.

sort String

Field to order results by (e.g. id, server, created_at, exp_date).

Example Response

[
    {
        "id": 1,
        "hash": "8f3e...",
        "server": "http://provider.com",
        "username": "user_45",
        "exp_date": 1741171200,
        "connections": 1,
        "max_connections": 5
    }
]
POST

/subscription/add

Validate and save a new IPTV subscription line in the global catalog.

Request Payload

{
    "api_type": "xtream",
    "server": "http://portal.url",
    "username": "client_88",
    "password": "secret_password"
}
POST

/subscription/bulk-add

Validate multiple IPTV credentials in a single batch request (Max 10 per request).

Request Payload

[
    {
        "api_type": "xtream",
        "server": "http://portal1.url",
        "username": "user1",
        "password": "pass1"
    },
    {
        "api_type": "stalker",
        "server": "http://portal2.url",
        "mac": "00:1A:79:..."
    }
]
GET

/stats

Retrieve global scanner statistics, database metrics, and server target stats.

Example Response

{
    "subscriptions": 1250,
    "api_keys": 45,
    "donations": 12,
    "total_amount": 450.50,
    "monthly_amount": 85.00,
    "monthly_goal": 55.00
}
GET

/subscription/{hash}

Retrieve detailed scan results and live connection status for a specific subscription hash.

Error Handling

The API uses standard HTTP response codes to indicate request outcomes.

401

Unauthorized

Invalid or missing X-API-Key in headers.

429

Rate Limit Exceeded

Request threshold reached. Please reduce query frequency.

400

Bad Request

Missing required payload fields or malformed JSON body.

404

Not Found

The requested endpoint or subscription hash does not exist.

API Playground

Test and debug endpoints directly from the browser in real-time.

Support the Project

Help us maintain our servers and keep development active.
Monthly server target: €55.00

27% Goal

€15.00 Collected This Month

Ko-fi Support

Crypto Support

Thank you for your support!