@movie-effect/watchmode
v0.1.0
Published
An Effect-based client for the Watchmode API
Maintainers
Readme
@movie-effect/watchmode
An Effect-based client for the Watchmode API.
Installation
npm install @movie-effect/watchmode effect @effect/platform @effect/platform-node
# or
pnpm add @movie-effect/watchmode effect @effect/platform @effect/platform-nodeFeatures
- Full TypeScript support with Effect
- Type-safe API responses with Schema validation
- Built-in rate limiting
- Streaming availability data
- Observability with Effect tracing
Authentication
This library requires a Watchmode API key.
- Create an account at api.watchmode.com
- Subscribe to a plan (free tier available with limited requests)
- Copy your API key from the dashboard
For local development, set the WATCHMODE_API_KEY environment variable:
export WATCHMODE_API_KEY="your-api-key"Quick Start
import { NodeHttpClient } from "@effect/platform-node";
import { WatchmodeClient, WatchmodeConfig } from "@movie-effect/watchmode";
import { Console, Effect } from "effect";
const program = Effect.gen(function* () {
const client = yield* WatchmodeClient;
const sources = yield* client.getSources();
yield* Console.log(sources);
});
const runnable = program.pipe(
Effect.provide(WatchmodeClient.Default),
Effect.provide(WatchmodeConfig.layer({ apiKey: "your-api-key" })),
Effect.provide(NodeHttpClient.layer),
);
Effect.runPromise(runnable);API Coverage
- Streaming sources and availability
- Title search and details
- Release information
Related Packages
- @movie-effect/watchmode-cli - CLI for Watchmode
- @movie-effect/core - Shared utilities
