Skip to content

Yaneart/media-engine

Repository files navigation

Media Engine

English | Русский

Movie data is easy to find. The hard part is that every source names things differently, uses different IDs, and sometimes simply stops responding.

Media Engine puts those sources behind one TypeScript API. You ask for a movie, series, or anime; the engine calls suitable providers, joins matching results, and tells you honestly when part of the data could not be loaded.

Version 0.1.1 is available on npm.

Try it

You need Node.js 20 or newer.

npm install @media-engine/core @media-engine/providers
import { MediaEngine } from "@media-engine/core";
import {
  aniListProvider,
  cinemetaProvider,
  kinobdProvider,
  shikimoriProvider,
  wikidataProvider,
} from "@media-engine/providers";

const media = new MediaEngine({
  providers: [
    kinobdProvider(),
    cinemetaProvider(),
    shikimoriProvider(),
    aniListProvider(),
    wikidataProvider(),
  ],
});

const result = await media.search({
  title: "Interstellar",
  language: "en",
});

console.log(result.results[0]?.item);

You can search by external ID too:

const result = await media.search({ imdb: "tt0816692" });

No API keys, private tokens, or account cookies are needed for the built-in providers.

What is included

Metadata and player lookup are separate. You can use Media Engine only for search and details, or add streaming providers when your application needs player choices.

See it in a browser

pnpm install
pnpm dev:compose

Then open http://127.0.0.1:5173. The API runs on http://127.0.0.1:3000, and its Swagger page is at http://127.0.0.1:3000/docs.

A small but important warning

Media Engine works with public third-party sources. They can be slow, unavailable, or change without warning. The engine limits failures and returns partial results when it can, but it cannot promise that every source or player will always work.

Media Engine does not host video. It only normalizes information and third-party player options for your application.

Learn more

The documentation index links to the architecture, API, data model, providers, and roadmap. Package-specific setup stays in each package README so this page does not repeat it.

For local checks:

pnpm release:check
pnpm pack:check

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors