Stunning Ratings.
Stateless API.
Forked by IbbyLabs for the same ecosystem as Uptime Tracker. Generate dynamic posters, backdrops, and logos with a cleaner config to output workflow.
Checking the latest release on GitHub now.
Need help with ERDB, ratings, or the addon proxy?
Join the ERDB communities for help with rendering issues, badges, language settings, or addon setup. The AIOStreams channel is great for shared troubleshooting, and the official ERDB server is the direct project home.
If an invite does not open or has expired, message @ibbys89 on Discord.Workspace
Configurator & Proxy
Tune layout, ratings, badges, and language once, then export a shareable config string or generate a proxy manifest from the same state. Saved workspace values stay in this browser until you copy or export them.
Inputs
Configurator
Pick a setup mode, start from a preset, then tune the same state that powers the preview, config string, and addon proxy.
Simple View
Simple keeps the high signal controls in front of you. Presets, keys, media targeting, and the most visible artwork switches stay easy to reach.
Preset Studio
Start from a preset, or answer a few questions and let ERDB recommend one for you. Presets only touch rendering and proxy defaults. Your keys and manifest URL stay intact.
The guide recommends a preset based on deployment, density, and how much manual tuning you expect to do afterwards.
Apply a preset to get a curated starting point, then keep tuning from there.
Save the shared ERDB settings plus proxy manifest setup to this browser, or export them as a JSON file.
Saved workspace values only affect this page. Share the config string or the generated proxy manifest if you want the same settings somewhere else.
Optional. Only needed when the ERDB host enables request protection. When present, the configurator carries it into previews, config strings, proxy manifests, and exported URL patterns.
Optional. Recommended. Your key is used first. If left blank, ERDB falls back to the service key when one exists. This helps if the shared service key is rate limited or blocked later.
Everyday artwork controls
Simple mode keeps the obvious artwork switches here. Advanced mode reveals manual provider ordering, badge sizing, layout offsets, and per source styling.
Output
Preview Output
Stateless dynamic layout generated via query parameters.
Curated movie, show, animation, and anime renders that keep the badge decision fixed while you compare mode, style, and placement.
Export
ERDB Config String
Base64url string containing API keys and all settings. Base URL is detected automatically from the current domain.
Use this when another tool expects one ERDB config field. The settings travel inside this string, not inside your saved workspace by itself.
Add TMDB key and MDBList key to generate a valid config string.
Ready to paste URL patterns for the AIOMetadata art override fields.
These presets match the live AIOMetadata defaults: poster uses IMDb, background and logo use type aware TMDB IDs, and episode thumbs use IMDb with season and episode placeholders.
Poster: {imdb_id}
Background: tmdb:{type}:{tmdb_id}
Logo: tmdb:{type}:{tmdb_id}
Episode thumb: {imdb_id}, {season}, {episode}
Proxy
Addon Proxy
Paste a Stremio addon manifest here. The generated ERDB proxy manifest carries the configurator values from this workspace as its ERDB source of truth.
Use the configurator for keys, language, ratings, layout, badges, and text.
A plain addon manifest URL will not pick up saved workspace values by itself. Use the generated ERDB proxy manifest below if you want those settings applied to addon artwork.
Export
Generated Manifest
Use this URL in Stremio. It ends with manifest.json and has no query params.
Add manifest URL, TMDB key and MDBList key to generate a valid link.
Developers
Reference surfaces with clearer grouping
The docs area now follows the same section rhythm as the rest of the page, with feature summaries first and the heavier tables and prompt content grouped underneath.
Dynamic Rendering
Stateless by default. Pass parameters in the query string and let ERDB handle metadata and rendering. Protected hosts can also require erdbKey.
Addon Friendly
Perfect for Stremio, Kodi or any media center addon. Use simple URL patterns for easy integration in your code.
API Reference
| Parameter | Values | Default |
|---|---|---|
| type (path) | poster, backdrop, logo | none |
| id (path) | IMDb, TMDB, Kitsu, etc. | none |
| ratings | tmdb, mdblist, imdb, tomatoes, tomatoesaudience, letterboxd, metacritic, metacriticuser, trakt, simkl, rogerebert, myanimelist, anilist, kitsu (global fallback) | all |
| posterRatings | tmdb, mdblist, imdb, tomatoes, tomatoesaudience, letterboxd, metacritic, metacriticuser, trakt, simkl, rogerebert, myanimelist, anilist, kitsu (poster only) | all |
| backdropRatings | tmdb, mdblist, imdb, tomatoes, tomatoesaudience, letterboxd, metacritic, metacriticuser, trakt, simkl, rogerebert, myanimelist, anilist, kitsu (backdrop only) | all |
| logoRatings | tmdb, mdblist, imdb, tomatoes, tomatoesaudience, letterboxd, metacritic, metacriticuser, trakt, simkl, rogerebert, myanimelist, anilist, kitsu (logo only) | all |
| lang | Any TMDB ISO 639-1 code (en, it, fr, es, de, ja, ko, etc.) | en |
| genreBadge | off, text, icon, both (global fallback) | off |
| genreBadgeStyle | glass, square, plain (global fallback) | glass |
| genreBadgePosition | topLeft, topCenter, topRight, bottomLeft, bottomCenter, bottomRight (global fallback) | topLeft |
| streamBadges | auto, on, off (global fallback) | auto |
| posterStreamBadges | auto, on, off (poster only) | auto |
| backdropStreamBadges | auto, on, off (backdrop only) | auto |
| qualityBadgesSide | left, right (poster top bottom layout only) | left |
| posterQualityBadgesPosition | auto, left, right (poster top or bottom only) | auto |
| posterQualityBadges | certification, 4k, bluray, hdr, dolbyvision, dolbyatmos, remux (poster only, empty string disables all) | all |
| backdropQualityBadges | certification, 4k, bluray, hdr, dolbyvision, dolbyatmos, remux (backdrop only, empty string disables all) | all |
| qualityBadgesStyle | glass, square, plain, media, silver (global fallback) | glass |
| posterQualityBadgesStyle | glass, square, plain, media, silver (poster only) | glass |
| backdropQualityBadgesStyle | glass, square, plain, media, silver (backdrop only) | glass |
| posterQualityBadgesMax | 1+ | auto |
| backdropQualityBadgesMax | 1+ | auto |
| providerAppearance | base64url or JSON provider overrides for iconUrl, accentColor, iconScalePercent, stacked width, stacked body opacity, stacked accent mode, stacked line controls, and stacked X/Y offsets for line, logo, and rating | none |
| ratingPresentation | standard, minimal, average, dual, dual minimal, editorial, blockbuster | standard |
| aggregateRatingSource | overall, critics, audience | overall |
| ratingValueMode | native, normalized, normalized100 | native |
| ratingStyle | glass, square, plain, stacked | glass (poster/backdrop), plain (logo) |
| genreBadgeScale | 70 to 150 (% scale, global fallback) | 100 |
| posterRatingBadgeScale | 70 to 150 (% scale) | 100 |
| backdropRatingBadgeScale | 70 to 150 (% scale) | 100 |
| logoRatingBadgeScale | 70 to 150 (% scale) | 100 |
| posterQualityBadgeScale | 70 to 150 (% scale) | 100 |
| backdropQualityBadgeScale | 70 to 150 (% scale) | 100 |
| imageText | original, clean, alternative, random | original (poster), clean (backdrop) |
| posterImageSize | normal (580x859), large (1280x1896), 4k (2000x2926) | normal |
| posterArtworkSource | tmdb, fanart, cinemeta, random (poster artwork source) | tmdb |
| backdropArtworkSource | tmdb, fanart, cinemeta, random (backdrop artwork source) | tmdb |
| posterRatingsLayout | top, bottom, left, right, top bottom, left right | top bottom |
| posterRatingsMax | 1+ | auto |
| posterRatingsMaxPerSide | 1+ | auto |
| backdropRatingsLayout | center, right, right vertical | center |
| backdropRatingsMax | 1+ | auto |
| posterEdgeOffset | 0 to 80 (poster edge badges only) | 0 |
| sideRatingsPosition | top, middle, bottom, custom | top |
| sideRatingsOffset | 0 to 100 (custom only) | 50 |
| logoRatingsMax | 1+ | auto |
| logoBackground | transparent, dark | transparent |
| logoArtworkSource | tmdb, fanart, cinemeta, random | tmdb |
| erdbKey | ERDB request key when the host enables route protection | none |
| tmdbKey (req) | TMDB v3 API Key | none |
| mdblistKey (req) | MDBList.com API Key | none |
| fanartKey | Fanart API Key for fanart poster, backdrop, and logo sources | service fallback when available |
| simklClientId | SIMKL client_id for direct SIMKL ratings | none |
Genre badges use a small curated family set. Strong buckets such as horror, comedy, drama, sci fi, fantasy, crime, documentary, animation, and anime resolve. Thriller and mystery now map into the crime family for consistent icon output.
Transparent provider icons stay transparent across glass, square, plain, and stacked. In glass, icons with transparency such as Kitsu render on a neutral inner chip with an accent ring so the accent color does not bleed through the icon cutouts.
Media quality badges use local asset based artwork for 4K, Bluray, HDR10, Dolby Vision, and Dolby Atmos. Certification badges include a small AGE label above the rating.
erdbKey is optional. Add it only when the ERDB host protects render or proxy routes with ERDB_REQUEST_API_KEY or ERDB_REQUEST_API_KEYS.
fanartKey is optional. If present, ERDB uses your key first for fanart requests. If it is blank, ERDB falls back to ERDB_FANART_API_KEY or FANART_API_KEY when the server has one.
Poster posterArtworkSource=fanart uses fanart.tv poster art for original, clean, alternative, and random. Original and clean use the top ranked fanart image. Alternative uses the next ranked fanart image when one exists. Random uses a seeded pick. posterArtworkSource=cinemeta uses the official MetaHub Cinemeta poster when ERDB can resolve an IMDb ID, then falls back to TMDB. posterArtworkSource=random picks a seeded random source across TMDB, fanart, and Cinemeta when available.
Backdrop backdropArtworkSource=fanart uses fanart.tv backdrop art for original, clean, alternative, and random. Original and clean use the top ranked fanart image. Alternative uses the next ranked fanart image when one exists. Random uses a seeded pick. backdropArtworkSource=cinemeta uses the official MetaHub Cinemeta backdrop when ERDB can resolve an IMDb ID, then falls back to TMDB. backdropArtworkSource=random picks a seeded random source across TMDB, fanart, and Cinemeta. logoArtworkSource=fanart uses fanart.tv HD or clear logo assets for logo output. logoArtworkSource=cinemeta uses the official MetaHub Cinemeta logo when ERDB can resolve an IMDb ID, then falls back to TMDB. logoArtworkSource=random does a seeded pick across TMDB, fanart, and Cinemeta logos.
Future work: season aware fanart support is a good next step for TV because fanart.tv exposes seasonposter and seasonthumb assets.
Type Configs
| Type | Config | Layouts / Values |
|---|---|---|
| poster | imageText posterImageSize posterArtworkSource posterRatingPresentation posterAggregateRatingSource posterGenreBadge posterGenreBadgeStyle posterGenreBadgePosition posterGenreBadgeScale posterRatingsLayout posterRatingsMax posterEdgeOffset sideRatingsPosition sideRatingsOffset posterQualityBadges posterQualityBadgesPosition posterRatingsMaxPerSide posterQualityBadgesMax posterRatingBadgeScale posterQualityBadgeScale | original, clean, alternative, random normal (580x859), large (1280x1896), 4k (2000x2926) tmdb, fanart, cinemeta, random standard, minimal, average, dual, dual minimal, editorial, blockbuster overall, critics, audience off, text, icon, both glass, square, plain topLeft, topCenter, topRight, bottomLeft, bottomCenter, bottomRight 70 to 150 (% scale) top, bottom, left, right, top bottom, left right 1+ (auto if omitted) 0 to 80 (edge aligned poster badges) top, middle, bottom, custom (side layouts only) 0 to 100 (custom only) certification, 4k, bluray, hdr, dolbyvision, dolbyatmos, remux (empty string hides all) auto, left, right (top or bottom layouts only) 1+ (auto if omitted) 1+ (auto if omitted) 70 to 150 (% scale) 70 to 150 (% scale) |
| backdrop | imageText backdropArtworkSource backdropRatingPresentation backdropAggregateRatingSource backdropGenreBadge backdropGenreBadgeStyle backdropGenreBadgePosition backdropGenreBadgeScale backdropRatingsLayout backdropRatingsMax sideRatingsPosition sideRatingsOffset backdropQualityBadges backdropQualityBadgesMax backdropRatingBadgeScale backdropQualityBadgeScale | original, clean, alternative, random tmdb, fanart, cinemeta, random standard, minimal, average, dual, dual minimal, editorial, blockbuster overall, critics, audience off, text, icon, both glass, square, plain topLeft, topCenter, topRight, bottomLeft, bottomCenter, bottomRight 70 to 150 (% scale) center, right, right vertical 1+ (auto if omitted) top, middle, bottom, custom (right vertical only) 0 to 100 (custom only) certification, 4k, bluray, hdr, dolbyvision, dolbyatmos, remux (empty string hides all) 1+ (auto if omitted) 70 to 150 (% scale) 70 to 150 (% scale) |
| logo | logoRatingsMax logoBackground logoArtworkSource logoRatingPresentation logoAggregateRatingSource logoGenreBadge logoGenreBadgeStyle logoGenreBadgePosition logoGenreBadgeScale logoRatingBadgeScale | 1+ (auto if omitted) transparent, dark tmdb, fanart, cinemeta, random standard, minimal, average, dual, dual minimal, editorial, blockbuster overall, critics, audience off, text, icon, both glass, square, plain topLeft, topCenter, topRight, bottomLeft, bottomCenter, bottomRight 70 to 150 (% scale) 70 to 150 (% scale) |
ID Formats
| Source | Format | Example |
|---|---|---|
| IMDb | tt + numbers | tt0133093 |
| TMDB | tmdb:id or tmdb:movie:id or tmdb:tv:id | tmdb:movie:603, tmdb:tv:1399 |
| Kitsu | kitsu:id | kitsu:1 |
| Anime | provider:id | anilist:123, mal:456, tvdb:12345, anidb:6789 |
Base Structure
http://localhost:3000/{type}/{id}.jpg?
ratings={ratings}
&lang={lang}
&ratingStyle={style}
&imageText={text}
&posterImageSize={posterImageSize}
&posterRatingsLayout={layout}
&posterRatingsMaxPerSide={max}
&posterEdgeOffset={posterEdgeOffset}
&backdropRatingsLayout={bLayout}
&sideRatingsPosition={sidePos}
&sideRatingsOffset={sideOffset}
&erdbKey={erdbKey}
&tmdbKey={tmdbKey}
&mdblistKey={mdbKey}
&fanartKey={fanartKey}AI Developer Prompt
Copy this prompt to help an AI agent implement this API in your addon.
Live Examples
Movie Poster (IMDb)http://localhost:3000/poster/tt0133093.jpg?ratings=imdb,tmdb&ratingStyle=plainBackdrop (TMDB)http://localhost:3000/backdrop/tmdb:movie:603.jpg?ratings=mdblist&backdropRatingsLayout=right%20vertical&sideRatingsPosition=middle