api/README.md
2025-04-07 09:54:16 +03:00

349 lines
13 KiB
Markdown

# API
## Overview
- [Channels](#channels)
- [Feeds](#feeds)
- [Streams](#streams)
- [Guides](#guides)
- [Categories](#categories)
- [Languages](#languages)
- [Countries](#countries)
- [Subdivisions](#subdivisions)
- [Regions](#regions)
- [Timezones](#timezones)
- [Blocklist](#blocklist)
### Channels
```
https://iptv-org.github.io/api/channels.json
```
```jsonc
[
//...
{
"id": "AnhuiTV.cn",
"name": "Anhui TV",
"alt_names": ["安徽卫视"],
"network": "Anhui",
"owners": ["China Central Television"],
"country": "CN",
"subdivision": "CN-AH",
"city": "Hefei",
"categories": ["general"],
"is_nsfw": false,
"launched": "2016-07-28",
"closed": "2020-05-31",
"replaced_by": "CCTV1.cn",
"website": "http://www.ahtv.cn/",
"logo": "https://example.com/logo.png"
}
//...
]
```
| Field | Type | Description |
| ----------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| id | string | Unique channel ID |
| name | string | Full name of the channel |
| alt_names | array | List of alternative channel names |
| network | string or null | Name of the network operating the channel |
| owners | array | List of channel owners |
| country | string | Country code from which the broadcast is transmitted ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)) |
| subdivision | string or null | Code of the subdivision (e.g., provinces or states) from which the broadcast is transmitted ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)) |
| city | string or null | Name of the city from which the broadcast is transmitted |
| categories | array | List of categories to which this channel belongs |
| is_nsfw | boolean | Indicates whether the channel broadcasts adult content |
| launched | string or null | Launch date of the channel (`YYYY-MM-DD`) |
| closed | string or null | Date on which the channel closed (`YYYY-MM-DD`) |
| replaced_by | string or null | The ID of the channel that this channel was replaced by |
| website | string or null | Official website URL |
| logo | string | Logo URL |
Source of data: https://github.com/iptv-org/database
### Feeds
```
https://iptv-org.github.io/api/feeds.json
```
```jsonc
[
//...
{
"channel": "BBCOne.uk",
"id": "EastMidlandsHD",
"name": "East Midlands HD",
"is_main": false,
"broadcast_area": ["c/UK"],
"timezones": ["Europe/London"],
"languages": ["eng"],
"format": "1080i"
}
//...
]
```
| Field | Type | Description |
| -------------- | ------- | -------------------------------------------------------------------------------------------------------------- |
| channel | string | Channel ID |
| id | string | Unique feed ID |
| name | string | Name of the feed |
| is_main | boolean | Indicates if this feed is the main for the channel |
| broadcast_area | array | List of codes describing the broadcasting area (`r/<region_code>`, `c/<country_code>`, `s/<subdivision_code>`) |
| timezones | array | List of timezones in which the feed is broadcast |
| languages | array | List of broadcast languages |
| format | string | Video format of the feed |
Source of data: https://github.com/iptv-org/database
### Streams
```
https://iptv-org.github.io/api/streams.json
```
```jsonc
[
//...
{
"channel": "BBCOne.uk",
"feed": "EastMidlandsHD",
"url": "http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8",
"referrer": "http://example.com/",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"quality": "720p"
}
//...
]
```
| Field | Type | Description |
| ---------- | -------------- | -------------------------------------------------------------------------------------------------------------------- |
| channel | string or null | Channel ID |
| feed | string or null | Feed ID |
| url | string | Stream URL |
| referrer | string or null | The [Referer](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) request header for the stream |
| user_agent | string or null | The [User-Agent](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) request header for the stream |
| quality | string or null | Maximum stream quality |
Source of data: https://github.com/iptv-org/iptv
### Guides
```
https://iptv-org.github.io/api/guides.json
```
```jsonc
[
//...
{
"channel": "BBCOne.uk",
"feed": "EastMidlandsHD",
"site": "sky.co.uk",
"site_id": "bbcone",
"site_name": "BBC One",
"lang": "en"
}
//...
]
```
| Field | Type | Description |
| --------- | -------------- | --------------------------------------------------------------------------------- |
| channel | string or null | Channel ID |
| feed | string or null | Feed ID |
| site | string | Site domain name |
| site_id | string | Unique channel ID used on the site |
| site_name | string | Channel name used on the site |
| lang | string | Language of the guide ([ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) code) |
Source of data: https://github.com/iptv-org/epg
### Categories
```
https://iptv-org.github.io/api/categories.json
```
```jsonc
[
//...
{
"id": "documentary",
"name": "Documentary"
}
//...
]
```
| Field | Type | Description |
| ----- | ------ | -------------------- |
| id | string | Category ID |
| name | string | Name of the category |
Source of data: https://github.com/iptv-org/database
### Languages
```
https://iptv-org.github.io/api/languages.json
```
```jsonc
[
//...
{
"name": "French",
"code": "fra"
}
//...
]
```
| Field | Type | Description |
| ----- | ------ | ------------------------------------------------------------------------- |
| name | string | Language name |
| code | string | [ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) code of the language |
Source of data: https://github.com/iptv-org/database
### Countries
```
https://iptv-org.github.io/api/countries.json
```
```jsonc
[
//...
{
"name": "Canada",
"code": "CA",
"languages": ["eng", "fra"],
"flag": "🇨🇦"
}
//...
]
```
| Field | Type | Description |
| --------- | ------ | ----------------------------------------------------------------------------------------------------- |
| name | string | Name of the country |
| code | string | [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code of the country |
| languages | array | List of official languages of the country ([ISO 639-3](https://en.wikipedia.org/wiki/ISO_639-3) code) |
| flag | string | Country flag emoji |
Source of data: https://github.com/iptv-org/database
### Subdivisions
```
https://iptv-org.github.io/api/subdivisions.json
```
```jsonc
[
//...
{
"country": "CA",
"name": "Ontario",
"code": "CA-ON"
}
//...
]
```
| Field | Type | Description |
| ------- | ------ | ------------------------------------------------------------------------------------------ |
| country | string | [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code of the country |
| name | string | Subdivision name |
| code | string | [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) code of the subdivision |
Source of data: https://github.com/iptv-org/database
### Regions
```
https://iptv-org.github.io/api/regions.json
```
```jsonc
[
//...
{
"code": "MAGHREB",
"name": "Maghreb",
"countries": ["DZ", "LY", "MA", "MR", "TN"]
}
//...
]
```
| Field | Type | Description |
| --------- | ------ | ------------------------------- |
| code | string | Code of the region |
| name | string | Full name of the region |
| countries | array | List of countries in the region |
Source of data: https://github.com/iptv-org/database
### Timezones
```
https://iptv-org.github.io/api/timezones.json
```
```jsonc
[
//...
{
"id": "Europe/London",
"utc_offset": "+00:00",
"countries": ["UK", "GG", "IM", "JE"]
}
//...
]
```
| Field | Type | Description |
| ---------- | ------ | ------------------------------------------------------------------------- |
| id | string | Timezone ID from [tz database](https://en.wikipedia.org/wiki/Tz_database) |
| utc_offset | string | [UTC offset](https://en.wikipedia.org/wiki/UTC_offset) for this time zone |
| countries | array | List of countries included in this time zone |
Source of data: https://github.com/iptv-org/database
### Blocklist
```
https://iptv-org.github.io/api/blocklist.json
```
```jsonc
[
//...
{
"channel": "AnimalPlanetEast.us",
"reason": "dmca",
"ref": "https://github.com/iptv-org/iptv/issues/1831"
}
//...
]
```
| Field | Type | Description |
| ------- | ------ | ----------------------------------------------- |
| channel | string | Channel ID |
| reason | string | Reason for blocking (`dmca` or `nsfw`) |
| ref | string | Link to removal request or DMCA takedown notice |
Source of data: https://github.com/iptv-org/database
## Contribution
If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/iptv-org/api/issues) or a [pull request](https://github.com/iptv-org/api/pulls).