@movie-effect/tmdb
v0.1.0
Published
A library for interacting with themoviedb.org API using Effect
Downloads
126
Maintainers
Readme
@movie-effect/tmdb
An Effect-based client for The Movie Database (TMDB) API.
Installation
npm install @movie-effect/tmdb effect @effect/platform @effect/platform-node
# or
pnpm add @movie-effect/tmdb effect @effect/platform @effect/platform-nodeFeatures
- Full TypeScript support with Effect
- Type-safe API responses with Schema validation
- Built-in rate limiting
- Streaming support for paginated results
- Observability with Effect tracing
Authentication
This library requires a TMDB API Bearer token (v4 API).
- Create a free account at themoviedb.org
- Go to Settings > API
- Request an API key (choose "Developer" for personal use)
- Copy the API Read Access Token (Bearer token)
For local development, set the TMDB_API_KEY environment variable:
export TMDB_API_KEY="your-bearer-token"Quick Start
import { NodeHttpClient } from "@effect/platform-node";
import { TmdbClient, TmdbConfig } from "@movie-effect/tmdb";
import { Console, Effect } from "effect";
const program = Effect.gen(function* () {
const client = yield* TmdbClient;
const movie = yield* client.movie.getDetails(550); // Fight Club
yield* Console.log(movie.title);
});
const runnable = program.pipe(
Effect.provide(TmdbClient.Default),
Effect.provide(TmdbConfig.layer({ apiKey: "your-api-key" })),
Effect.provide(NodeHttpClient.layer),
);
Effect.runPromise(runnable);API Coverage
- Movies (search, details, credits, recommendations)
- TV Shows (search, details, seasons, episodes)
- People (search, details, credits)
- Search (multi-search across all types)
Related Packages
- @movie-effect/tmdb-cli - CLI for TMDB
- @movie-effect/core - Shared utilities
