Retrieve detailed user reviews from ČSFD profiles with full text and metadata
The userReviews() method retrieves detailed reviews written by a user on their ČSFD profile. Unlike ratings, reviews include the full review text along with ratings and metadata.
import { csfd } from 'node-csfd-api';// Can use username format tooconst reviews = await csfd.userReviews('195357-verbal');console.log(`Found ${reviews.length} reviews`);
import { csfd } from 'node-csfd-api';// Get page 2 of reviewsconst page2 = await csfd.userReviews(195357, { page: 2 });console.log(`Fetched ${page2.length} reviews from page 2`);
import { csfd } from 'node-csfd-api';// Fetch ALL reviews with delayconst allReviews = await csfd.userReviews(195357, { allPages: true, allPagesDelay: 2000 // 2 second delay});console.log(`Total reviews: ${allReviews.length}`);// Find longest reviewconst longest = allReviews.reduce((prev, current) => current.text.length > prev.text.length ? current : prev);console.log(`Longest review: ${longest.title}`);console.log(`Length: ${longest.text.length} characters`);
import { csfd } from 'node-csfd-api';// Get only film reviews (no episodes)const filmReviews = await csfd.userReviews(195357, { includesOnly: ['film']});// Exclude TV episodesconst noEpisodes = await csfd.userReviews(195357, { exclude: ['episode', 'season']});
includesOnly and exclude are mutually exclusive. If both are provided, includesOnly takes precedence.
Rate Limiting: When using allPages: true, always use an appropriate allPagesDelay (2000ms or higher recommended) to avoid detection. ČSFD may block requests that appear automated.
Reviews include poster images, making them ideal for building UI components that display user opinions with visual context.