AnimeEmbed
BUILT FOR YOUR WEBSITE

Your anime experience.
One simple embed.

An unbranded, responsive player. AniList or MyAnimeList IDs. No signup, API key or website registration required.

Build your embedRead the docs
01

Sub & Dub

Choose Japanese audio with subtitles or English dub, where available. Switch audio in the player.

02

Adaptive playback

HLS quality selection with automatic adaptation on supported browsers. Startup and buffering depend on the source and connection.

03

Skip the opening

Manual or automatic intro/outro skipping when the source supplies timing markers. Missing markers are never guessed.

04

Pick up where you left off

Episode-scoped resume on the same browser, plus an optional next-episode countdown. Browser storage restrictions can affect persistence.

05

Your app, in sync

Versioned playback events and play, pause, seek, volume and mute commands via postMessage. A small JavaScript SDK is included.

06

Made to fit

Responsive 16:9 embedding, native controls and a customizable accent. No player installation or visible service branding inside the video.

TRY THE INTEGRATION

Make it yours.

Pick an anime and copy the code. That’s it.

RESPONSIVE IFRAME

Preview loads only when you choose it. There is no custom video URL mode.

DEVELOPER FRIENDLY

Drop it into your stack.

The SDK validates the sending window and origin. Next.js client components need 'use client' when using event listeners. Autoplay with sound can still require a user gesture.

EMBED REFERENCE

Small URL. Plenty of control.

/embed/ani/{id}/{episode} or /embed/mal/{id}/{episode}. The existing /embed/anilist/… route also works.

ParameterDefaultWhat it does
tracksubsub or dub. language is an alias.
autoPlay0Request playback on load. autoplay is an alias; browser policy applies.
autoSkip1Skip intro/outro using available source timing.
autoNext0Eight-second cancellable countdown, then attempt the next episode. Availability is not guaranteed.
muted0Start muted when set to 1.
start0Initial seconds; a positive value overrides saved resume.
captionsenEnglish when available, or off.
accent9b87ffSix hex digits, without #.

Query form: /embed?type=ani&id=21&episode=1&track=sub. MAL support uses stored ID mappings; missing or ambiguous mappings return an error.

A few practical details

All embedding domains are welcome unless blocked for abuse. No parentOrigin parameter is required. Observed embedding domains and aggregate usage events are recorded for operations; referrer-hidden traffic is recorded as unknown, not identified by fingerprinting.

Use an iframe without sandbox. Detectable sandbox restrictions block playback; browser isolation limits mean not every cross-origin sandbox configuration can be detected. Ads may be enabled by the operator. Audio, captions, quality levels, timing and episode availability vary. There is no zero-buffering or uptime guarantee.

The supported interface is the player iframe, not a raw-media API. Public playback is served by the available configured source; no independent dual-cluster failover or AniSkip integration is advertised.