Welcome
With the KinoCheck API, publishing groups and platform operators gain free access to official film materials, including trailers, spots, clips, and accompanying metadata.
KinoCheck partners with more than 250 publishers worldwide and often releases videos ahead of traditional media outlets. Our catalog of 80K+ assets is delivered in 4K resolution as standard, with a guaranteed minimum of 1080p. For verified large-scale projects, API limits can be increased free of charge upon request, and customized solutions are available.
Through close partnerships with major international film studios and streaming services, we are in some cases the exclusive verified external source for original content, including Apple TV+, Netflix, and Amazon Prime Video.
The KinoCheck API is the ideal solution to reliably enhance film and entertainment coverage with official materials. It boosts search visibility, increases user engagement and time-on-site, and makes platforms more attractive to advertisers, all at no additional cost.
We have integrated a daily request limit for each client of 1000 requests per day. For a higher limit using an API Key, simply register here.
Our Customers
How to make a request
- Most of the requests to the API will use the GET method
- The base URL is: https://api.kinocheck.com/
- You define which endpoint you wish to query by appending /{endpoint
- If you have and use an API key, you must add the corresponding X-API headers
curl -X GET 'https://api.kinocheck.com/[REQUEST_PATH]' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Api-Host: api.kinocheck.com'
$url = 'https://api.kinocheck.com/[REQUEST_PATH]';
$apiKey = 'YOUR_API_KEY';
$ch = curl_init($url);
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Accept: application/json',
'X-Api-Key: ' . $apiKey,
'X-Api-Host: api.kinocheck.com',
],
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
]);
$response = curl_exec($curl);
$info = curl_getinfo($curl);
$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$data = json_decode($response, true);
curl_close($curl);
import requests
url = 'https://api.kinocheck.com/[REQUEST_PATH]'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Api-Key': 'YOUR_API_KEY',
'X-Api-Host': 'api.kinocheck.com'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print('Success:', data)
else:
print('Failed to fetch data:', response.status_code, response.text)
const url = 'https://api.kinocheck.com/[REQUEST_PATH]';
const apiKey = 'YOUR_API_KEY';
fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Api-Key': apiKey,
'X-Api-Host': 'api.kinocheck.com'
}
})
.then(response => {
if (!response.ok) {
throw new Error(`Network response was not ok ${response.statusText}`);
}
return response.json();
})
.then(data => {
console.log('Success:', data);
})
.catch(error => {
console.error('There was a problem with the fetch operation:', error);
});
/movies
Request
GET https://api.kinocheck.com/movies
Parameters
The following table lists the parameters that this query supports. All listed parameters are query parameters.
Required (specify exactly one of the following parameters) | ||
---|---|---|
id | string | The ID used by KinoCheck |
tmdb_id | integer | The ID used by TMDB |
imdb_id | string | The ID used by IMDB |
Optional | ||
---|---|---|
categories | string | The parameter specifies a comma-separated list of one or more video category properties that the
videos property of the API response will include. This does not affect the trailer
property. Exclude categories by prepending a hyphen. Acceptable values are:
|
Acceptable values are:
- en
- de
limit | int | The limit query parameter specifies the number of resources that a single response page contains. Note that the limit parameter value cannot surpass the maximum number of elements on page which is 100 by default. Default: 25 |
page | int | The limit query parameter specifies the page entry point. Note that the limit parameter value cannot surpass the maximum number of available pages (specified by limit). Default: 1 |
Response
It extends the response by the _metadata field with information for further pagination requests:{
...
"_metadata": {
"limit": 25,
"page": 1,
"total_pages": 1234,
"total_count": 1234
}
}
Examples
GET https://api.kinocheck.com/movies?tmdb_id=299534
GET https://api.kinocheck.com/movies?tmdb_id=299534&language=de
GET https://api.kinocheck.com/movies?tmdb_id=299534&language=de&categories=Trailer
GET https://api.kinocheck.com/movies?tmdb_id=299534&language=de&categories=Trailer,-Clip
Response
If successful, this method returns a response body with the following structure:
{
"id": "ly4",
"tmdb_id": 299534,
"imdb_id": "tt4154796",
"language": "de",
"title": "Avengers 4: Endgame",
"url": "https://kinocheck.de/film/ly4/avengers-4-2019",
"trailer": [video resource],
"videos": [
[video resource]
]
}
Properties
The following table defines the properties that appear in this resource:
id | string | The ID used by KinoCheck |
tmdb_id | integer | The ID used by TMDB. Returns null if no TMDB ID is found |
imdb_id | string | The ID used by IMDB. Returns null if no IMDB ID is found |
language | string | The language used in the API request, represented by a two-letter ISO 639 language code (e.g. "en", "de") |
title | string | The title of the movie |
url | string | The URL to the movie detail page |
trailer | video resource | An automatically selected single video resource with the sole category "Trailer". Returns null if no acceptable video is found |
videos | array | An array of video resources associated with the movie resource. The array will be empty if no videos are found |
/shows
See the corresponding documentation for /movies. You cannot filter by seasons or get any informations about single seasons.
Examples
GET https://api.kinocheck.com/shows?tmdb_id=38472
GET https://api.kinocheck.com/shows?tmdb_id=38472&language=de
GET https://api.kinocheck.com/shows?tmdb_id=38472&language=de&categories=Trailer
/trailers
Request (Default and same as /trending)
GET https://api.kinocheck.com/trailers
GET https://api.kinocheck.com/trailers/trending
Request latest
GET https://api.kinocheck.com/trailers/latest
Parameters
The following table lists the parameters that this query supports. All listed parameters are query parameters.
Optional | ||
---|---|---|
id | string | The ID used by KinoCheck |
tmdb_id | integer | The ID used by TMDB |
imdb_id | string | The ID used by IMDB |
genres | string | The parameter specifies a comma-separated list of one or more video genre properties that the
videos property of the API response will include.
Exclude categories by prepending a hyphen. Acceptable values are:
|
Acceptable values are:
- en
- de
limit | int | The limit query parameter specifies the number of resources that a single response page contains. Note that the limit parameter value cannot surpass the maximum number of elements on page which is 100 by default. Default: 25 |
page | int | The limit query parameter specifies the page entry point. Note that the limit parameter value cannot surpass the maximum number of available pages (specified by limit). Default: 1 |
Response
It extends the response by the _metadata field with information for further pagination requests:{
...
"_metadata": {
"limit": 25,
"page": 1,
"total_pages": 1234,
"total_count": 1234
}
}
Examples
GET https://api.kinocheck.com/trailers?tmdb_id=299534
GET https://api.kinocheck.com/trailers?tmdb_id=299534&language=de
GET https://api.kinocheck.com/trailers/latest?&page=2
GET https://api.kinocheck.com/trailers/trending?page=2&limit=10
Response
If successful, this method returns a response body with the following structure See: [video resource]
Video resource
The following JSON structure shows the format of a video resource:
{
"id": "4ghv",
"youtube_video_id": "EJJedP2_7_k",
"youtube_channel_id": "UCOL10n-as9dXO2qtjjFUQbQ",
"youtube_thumbnail": "https://img.youtube.com/vi/EJJedP2_7_k/maxresdefault.jpg",
"title": "AVENGERS 4: Endgame Trailer German Deutsch (2019)",
"url": "https://kinocheck.de/trailer/7zxh/avengers-4-...",
"thumbnail": "https://images.kinocheck.de/images/hsd2ascncd.jpg",
"language": "de",
"categories": [
"Trailer"
],
"published": "2018-12-07T13:16:51+01:00",
"views": "1391790",
"resource": [
"type" => "movie"
"path" => "/movies/"
"id" => "ly4"
"imdb_id" => "tt4154796"
"tmdb_id" => 299534
]
}
Properties
The following table defines the properties that appear in this resource:
id | string | The ID used by KinoCheck |
youtube_video_id | string | The ID used by YouTube |
youtube_channel_id | string | The channel ID used by YouTube |
youtube_thumbnail | string | A link to the thumbnail used by YouTube |
title | string | The title of the video |
thumbnail | string | The thumbnail used by KinoCheck.de. Probably the same as YouTube. The URL to this thumbnail will change from time to time. Just use it to mirror on your own server. |
language | string | Two-letter ISO 639 code of the spoken language in the video |
categories | array | An array of categories to which the video belongs. A video can be in multiple categories at the same time, e.g. "Trailer" and "Clip" |
views | integer | The current views of the video on YouTube |
*** Optional resource info (if movie or show is connected) | ||
resource.type | string | Resource type "movie" or "show" |
resource.path | string | Relative api path to request the resource details |
resource.id | string | Our resource id to request with /{resource.path}?id=... |
resource.imdb_id | string | IMDB id to request with /{resource.path}?imdb_id=... |
resource.tmdb_id | integer | TMDB id to request with /{resource.path}?tmdb_id=... |