An Effect-based client for the Watchmode API.
npm install @movie-effect/watchmode effect @effect/platform @effect/platform-node
# or
pnpm add @movie-effect/watchmode effect @effect/platform @effect/platform-node- Full TypeScript support with Effect
- Type-safe API responses with Schema validation
- Built-in rate limiting
- Streaming availability data
- Observability with Effect tracing
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"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)- Streaming sources and availability
- Title search and details
- Release information
- @movie-effect/watchmode-cli - CLI for Watchmode
- @movie-effect/core - Shared utilities