Skip to content

Latest commit

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..

README.md

@movie-effect/watchmode

npm version License: MIT

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-node

Features

  • 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.

  1. Create an account at api.watchmode.com
  2. Subscribe to a plan (free tier available with limited requests)
  3. 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

License

MIT