Fork me on GitHub

ČSFD API

Tato aplikace není nijak spojena s Česko-Slovenskou filmovou databází provozovanou POMO Media Group s.r.o., která veškerý obsah vlastní.

Celé API je postaveno na formátu JSON.

Toto API záměrně necachuje. Cachujte prosím výsledky na svojí straně.

Počet requestů je omezen na 20 za minutu na unikátní IP. Při překročení tohoto limitu vrací server status Error 503 - Service unavailable. Kromě toho je na celém API globálně nastaven limit na 2 requesty za vteřinu s bufferem 50 requestů.

Toto API si můžete stáhnout z Mikulas/csfd-api a pustit lokálně, bez omezení na počet požadavků. Mějte ale na paměti, že při zahlcení vám může ČSFD zablokovat přístup.

Ukázky vrací přehledné html, pro čistý json neuvádějte v url parametr type.

Ukázka použití v PHP

<?php
$baseUrl = 'http://csfdapi.cz/movie?';
$url = $baseUrl . http_build_query(array(
    'search' => 'Oblivion',
));
$movies = json_decode(file_get_contents($url));

echo $movies[0]->id; // 282846
echo $movies[0]->names->cs; // Nevědomí

Ukázka použití v Ruby

require "json"
require "net/http"
 
uri = URI.parse("http://csfdapi.cz/movie?search=Oblivion")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
result = JSON.parse(http.request(request).body)
result.each do |doc|
	puts doc["id"] # 282846
	puts doc["names"]["cs"] # Nevědomí
end

Changelog:

2014/06/02
author/[i:id] nyní vrací pod klíčem filmography správnou strukturu Movie, tedy tu s klíčem names. Původní klíč name byl prozatím zachován, ale bude časem odstraněn.
2013/12/16
aktualizováno na verzi knihovny 1.2.7 (diff)
byl opravena chyba 500 pro user/ratings pokud uživatel měl pouze jednu stránku hodnocení
user/ratings,total_ratings se vrací jako prázné pole (resp. 0) pokud uživatel nemá žádné hodnocení místo původního null.
2013/12/01
aktualizováno na verzi knihovny 1.2.6 (diff)
byl opravena chyba 500 pokud není na čsfd vyplněný děj filmu
2013/11/30
aktualizováno na verzi knihovny 1.2.4 (diff)
byl opraven chybějící plot u některých filmů
jazyk austrálie byl v klíči movie->names přejmenován na en

/movie?search=Silver+Linings

Vyhledávání filmů

Vyhledá zadanou frázi v názvech filmů (české i cizojazyčné variantě).

Výstup obsahuje pole filmů. Struktura viz movie.

Ukázkový výstup

/author?search=Jennifer+Lawrence

Vyhledávání tvůrců a herců

Vyhledá autora podle jeho jména.

Výstup obsahuje pole autorů. Struktura viz author.

Ukázkový výstup

/user?search=Pomo

Vyhledávání uživatelů

Vyhledá uživatele podle jména a přezdívky.

Výstup obsahuje pole uživatelů. Struktura viz user.

Ukázkový výstup

/movie/[i:id]

/movie/289999

Detailní informace o filmu

id integer ID na ČSFD
year integer Rok vydání
poster_url string (absolute url) URL plakátů 127×180
names string[] Pole názvů v známých jazycích (typicky obsahuje klíče cs, en, sk)
genres string[] Pole kategorií (Komedie, Drama…)
countries string[] Pole zkratek států, které film produkovali (USA)
rating integer (0 – 100) Průměrné hodnocení
plot string (html) Popis filmu (může obsahovat hmtl entity)
content_rating string Vhodnost filmu („Nevhodný mládeži do 15 let“)
runtime string Doba trvání a jednoka (122 min)
releases string[] (ISO 8601 date array) Datum zveřejnění v jednotlivých státech (klíče typicky cs, sk)
authors [Author[]] (viz Author) Pole všech tvůrců a herců, rozdělených do polí
podle role (klíče directors, original (původní dílo), script, soundtrack, actors)
api_url string (relative url) API URL odkazující na detailní informace
csfd_url string (absolute url) URL filmu na ČSFD

Ukázkový výstup

/author/[i:id]

/author/53547

Detailní informace o tvůrci

id integer ID na ČSFD
name string Jméno tvůrce
address string Adresa, většinou země
born string (ISO 8601 date) Den narození
portrait_url string (absolute url) URL portrétu autora 100×132
bio string (html) O tvůrci, může obsahovat html entity
filmography [Movie[]] (viz Movie) Pole všech filmů, které jsou na tvůrce vázané, roztřídené do polí
podle role (klíče director, script, actor, camera, soundtrack)
api_url string (relative url) API URL odkazující na detailní informace
csfd_url string (absolute url) URL tvůrce na ČSFD
imdb_url string (absolute url) URL tvůrce na IMDB

Ukázkový výstup

/user/[i:id]

/user/1

Detailní informace o uživateli

id integer ID na ČSFD
name string Reálné jméno
username string Přezdívka na ČSFD
portrait_url string (absolute url) Portrét uživatele 60×80
registered string (ISO 8601 date) Datum a čas registrace
ratings Rating (viz další struktury) Pole posledních 100 hodnocení seřazených podle času
total_ratings int Celkový počet hodnocení (roven nebo vyšší počtu struktur v ratings)
points int Počet ČSFD bodů
api_url string (relative url) API URL odkazující na detailní informace
csfd_url string (absolute url) URL tvůrce na ČSFD

Ukázkový výstup

/user/[i:id]/ratings

/user/268216/ratings

Všechna hodnocení uživatele

Vrací pole hodnocení, tzn. Rating[], seřazených podle dne hodnocení od nejnovějšího.

Počet requestů u tohoto dotazu je omezen na 5 za minutu na unikátní IP. Při překročení tohoto limitu vrací server status Error 503 - Service unavailable.

Ukázkový výstup

Další struktury

Rating

date string (ISO 8601 date) Timestamp
rating int (0-5) Hodnocen filmu
movie Movie (viz Movie) Hodnocený film