Skip to main content

Overview

The search types module contains all TypeScript interfaces for search functionality, including search results for movies, TV series, creators, and users.

CSFDSearch

The main search results container with all result categories.

CSFDSearchMovie

Represents a movie or TV series in search results.
CSFDSearchMovie
object

CSFDSearchCreators

Subset of creators shown in search results (directors and actors only).
CSFDSearchCreators
object

CSFDSearchUser

Represents a ČSFD user in search results.
CSFDSearchUser
object

CSFDSearchCreator

Represents a creator (actor, director, etc.) in search results.
CSFDSearchCreator
object

Import Example

import type {
  CSFDSearch,
  CSFDSearchMovie,
  CSFDSearchCreator,
  CSFDSearchUser,
  CSFDSearchCreators,
} from 'node-csfd-api';

TypeScript Interface

import { CSFDScreening } from './global';
import { CSFDMovieCreator } from './movie';

export interface CSFDSearch {
  movies: CSFDSearchMovie[];
  tvSeries: CSFDSearchMovie[];
  creators: CSFDSearchCreator[];
  users: CSFDSearchUser[];
}

export interface CSFDSearchMovie extends CSFDScreening {
  poster: string;
  origins: string[];
  creators: CSFDSearchCreators;
}

export interface CSFDSearchUser {
  id: number;
  user: string;
  userRealName: string;
  avatar: string;
  url: string;
}

export interface CSFDSearchCreator extends CSFDMovieCreator {
  image: string;
}

export interface CSFDSearchCreators {
  directors: CSFDMovieCreator[];
  actors: CSFDMovieCreator[];
}

Usage Example

import { CSFD } from 'node-csfd-api';

const csfd = new CSFD();
const results = await csfd.search('Inception');

console.log('Movies:', results.movies.length);
console.log('TV Series:', results.tvSeries.length);
console.log('Creators:', results.creators.length);
console.log('Users:', results.users.length);

// Access movie details
results.movies.forEach((movie) => {
  console.log(`${movie.title} (${movie.year})`);
  console.log(`Rating: ${movie.colorRating}`);
  console.log(`Directors: ${movie.creators.directors.map(d => d.name).join(', ')}`);
});

Build docs developers (and LLMs) love