API v1
Domov Kontakt

Wander Movie Critic API

REST API pre prístup k databáze filmov na slovenskom kinovom trhu. Získaj dáta o filmoch, distribútoroch, hodnoteniach (CSFD, Rotten Tomatoes, TMDB) a scoring verdikty pre oba typy kín — Tulavé kino a Sterio kino.

https://api.tulavekino.sk/api/kompas

Formát odpovede

Všetky odpovede sú vo formáte JSON. Kódovanie: UTF-8. Dátumy sú vo formáte YYYY-MM-DD alebo ISO 8601.

Stránkovanie

Endpointy, ktoré vracajú zoznamy, podporujú stránkovanie cez parametre limit (max 500, default 50) a offset. Odpoveď obsahuje pole total s celkovým počtom záznamov.

Autentifikácia

Všetky API requesty vyžadujú platný API kľúč. Kľúč posielaj v hlavičke X-API-Key každého requestu.

Ako získať kľúč

API kľúče vydáva administrátor. Kontaktuj nás na maros.sollar@gmail.com s popisom tvojej aplikácie.

Formát kľúča

Kľúč má prefix wmc_ nasledovaný 32 hexadecimálnymi znakmi. Príklad: wmc_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4

Bezpečnosť

  • Nikdy nezdieľaj kľúč vo verejnom kóde alebo repozitári
  • Používaj HTTPS — kľúč sa prenáša v hlavičke requestu
  • Ak máš podozrenie na únik, kontaktuj admina pre revokáciu
curl -H "X-API-Key: wmc_your_key_here" \
  https://api.tulavekino.sk/api/kompas/stats
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/stats',
  { headers: { 'X-API-Key': 'wmc_your_key_here' } }
);
const data = await res.json();

Rate Limity

Každý API kľúč má nastavený limit requestov za minútu (default: 100 req/min). Po prekročení limitu server vráti 429 Too Many Requests.

Response headers

HeaderPopis
X-RateLimit-LimitMaximálny počet requestov za minútu
X-RateLimit-RemainingZostávajúci počet requestov v aktuálnom okne
Retry-AfterPočet sekúnd do resetu (len pri 429)

Odporúčanie

Pri integrácii (napr. Google Sheets) pridaj pauzu medzi requestami. Pre väčšie dátové sady použi limit a offset namiesto mnohých malých requestov.

GET /api/kompas/films

Vráti stránkovaný zoznam filmov s hodnoteniami a scoring verdiktmi.

Query parametre

ParameterTypPopis
distributor optional string Filter podľa distribútora (napr. Continental Film)
country optional string Filter podľa krajiny pôvodu (SK, CZ, US...)
from optional string Premiéra od dátumu (YYYY-MM-DD)
to optional string Premiéra do dátumu (YYYY-MM-DD)
updated_since optional string Len filmy aktualizované od tohto dátumu (YYYY-MM-DD)
limit optional integer Počet výsledkov (default: 50, max: 500)
offset optional integer Preskoč prvých N výsledkov (default: 0)
curl -H "X-API-Key: wmc_your_key_here" \
  "https://api.tulavekino.sk/api/kompas/films?limit=10&from=2026-01-01"
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/films?limit=10&from=2026-01-01',
  { headers: { 'X-API-Key': 'wmc_your_key_here' } }
);
const { total, films } = await res.json();
GET /api/kompas/films/:id

Vráti kompletný detail jedného filmu vrátane hodnotení, médií a scoring verdiktu.

URL parametre

ParameterTypPopis
id required integer ID filmu v databáze
curl -H "X-API-Key: wmc_your_key_here" \
  https://api.tulavekino.sk/api/kompas/films/42
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/films/42',
  { headers: { 'X-API-Key': 'wmc_your_key_here' } }
);
const film = await res.json();
GET /api/kompas/distributors

Vráti zoznam aktívnych slovenských filmových distribútorov s kategóriami.

Distribútori sú rozdelení do kategórií: velki (veľkí), stredni (strední), mali (malí).

curl -H "X-API-Key: wmc_your_key_here" \
  https://api.tulavekino.sk/api/kompas/distributors
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/distributors',
  { headers: { 'X-API-Key': 'wmc_your_key_here' } }
);
const distributors = await res.json();
GET /api/kompas/stats

Vráti súhrnné štatistiky databázy — počet filmov, pokrytie dát, rozdelenie podľa distribútorov.

curl -H "X-API-Key: wmc_your_key_here" \
  https://api.tulavekino.sk/api/kompas/stats
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/stats',
  { headers: { 'X-API-Key': 'wmc_your_key_here' } }
);
const stats = await res.json();

Dátový model — Film

Kompletný objekt filmu vrátený z endpointov /films a /films/:id.

Základné informácie

id integer Unikátne ID filmu
nazov_sk string Slovenský názov filmu
nazov_original string? Originálny názov
datum_sk_premiera string? Dátum SK premiéry (YYYY-MM-DD)
world_premiere string? Svetová premiéra (YYYY-MM-DD)
distributor string? Názov distribútora na Slovensku
origin_country string? Krajina pôvodu (SK, CZ, US...)
stopaz_min integer? Stopáž v minútach
vekova_kategoria string? Veková kategória (7+, 12+, 15+, 18+, bez obmedzenia)
jazyk string? Jazyková verzia (slovenský dabing, české titulky...)

Médiá

poster_url string? URL plagátu
backdrop_url string? URL pozadia (backdrop)
trailer_url string? YouTube trailer URL
images array Pole obrázkov (TMDB)

Tvorcovia

rezia string? Režisér
herci array Pole hercov (top 10)
zanre array Pole žánrov

Texty

overview string? Synopsa / popis
tagline string? Tagline
keywords array Kľúčové slová

Distribučné práva

prava_od string? Začiatok distribučných práv (YYYY-MM-DD)
prava_do string? Koniec distribučných práv (YYYY-MM-DD)

Hodnotenia — ratings

ratings.csfd number? CSFD hodnotenie (0-100%)
ratings.csfd_votes integer? Počet hlasov na CSFD
ratings.rotten_tomatoes_critics number? Tomatometer (0-100%)
ratings.rotten_tomatoes_audience number? Popcornmeter (0-100%)
ratings.tmdb_rating number? TMDB hodnotenie (0-10)
ratings.tmdb_votes integer? Počet hlasov na TMDB
ratings.tmdb_popularity number? TMDB index popularity
ratings.boxofficemojo_domestic number? US tržby (domáce)
ratings.boxofficemojo_worldwide number? Celosvetové tržby

Scoring — scoring

Výsledok scoring algoritmu pre Tulavé kino. Môže byť null ak film ešte nebol skórovaný.

scoring.percent number Celkové skóre (0-100%)
scoring.verdict string Verdikt: TRHAK, PRIEMER, alebo PREPADAK
scoring.phase string Fáza: PRED_PREMIEROU, TESNE_PRED, PREMIERA, BEZI, ARCHIV
scoring.confidence string Spoľahlivosť: high, medium, low
scoring.parameter_scores object Detailné skóre pre každý z 14 parametrov
scoring.calculated_at string Dátum výpočtu (ISO 8601)

Metadata

source_url string? Zdrojová URL (stránka distribútora)
created_at string Dátum vytvorenia záznamu
updated_at string Dátum poslednej aktualizácie

Chybové kódy

Všetky chyby vracajú JSON objekt s poľom error.

KódVýznamPopis
400 Bad Request Chybný parameter (napr. query kratší ako 2 znaky)
401 Unauthorized Chýbajúci alebo neplatný API kľúč
404 Not Found Film s daným ID neexistuje
429 Too Many Requests Prekročený rate limit — počkaj podľa Retry-After
500 Server Error Interná chyba servera

Príklad chybovej odpovede

{
  "error": "Neplatny alebo deaktivovany API kluc"
}
Autentifikácia
curl -H "X-API-Key: wmc_your_key_here" \
  https://api.tulavekino.sk/api/kompas/stats
const res = await fetch(
  'https://api.tulavekino.sk/api/kompas/stats',
  {
    headers: {
      'X-API-Key': 'wmc_your_key_here'
    }
  }
);
const data = await res.json();
function getStats() {
  const url = 'https://api.tulavekino.sk/api/kompas/stats';
  const options = {
    headers: {
      'X-API-Key': 'wmc_your_key_here'
    }
  };
  const res = UrlFetchApp.fetch(url, options);
  const data = JSON.parse(res.getContentText());
  Logger.log(data);
}
401 Chýbajúci kľúč
{
  "error": "Chybajuci API kluc. Posli X-API-Key header.",
  "docs": "/api/kompas — vyzaduje API kluc"
}