Two releases today that belong together: nichedb.dev 0.6.0 gains the data three of our sites used to fetch for themselves, and nixamp 0.11.0 is the first thing built on it.
nichedb: sports, screen and channels
tipoffwatch.com polled ESPN for every league and fixture. genrewatch.com polled TMDB, TVmaze, AniList and the IMDb dumps for every film and show. bittorrented.com imported the same IMDb dumps again and kept its own TMDB cache. Three copies of the same fetching, three places for it to break.
nichedb.dev now keeps all of it once, as three collections anybody can read without a key:
- sports: every league, team and fixture ESPN publishes across 17 sports and 354 leagues, with schedule, live score, line, venue and broadcast, plus tennis by tour from the Live Tennis API. Live scores refresh every minute for leagues with a game on.
- screen: films, TV and anime as titles and releases, to cinemas, to rent, to a streaming service, to air, with posters, genres and the IMDb rating behind 400,000 titles.
- channels: the whole iptv-org directory, 31,000 television channels with logo, country, category and network, and the public stream where one exists.
And one new question the API answers: what is this name? GET /api/v1/match?q=Top.Gun.Maverick.2022.1080p.WEB-DL.mkv reads the name the way a torrent site learned to, year and episode and quality tags and release group stripped, and answers with the best title and a score. The same parser lives in one module, so a player, a torrent site and a TV guide all match the same way. The items API gains tag filters, date windows and a since parameter for anyone keeping a copy. The CLI gains nichedb match; the MCP server gains match_items.
The sites will switch to reading nichedb next, and drop their own pollers.
nixamp: the player knows what it is playing
A file called "Oppenheimer (2023) 1080p HDTS.mkv" is a film. A playlist entry called "US: ESPN2 HD" is a channel. nixamp knew neither, because ffprobe reads tags and a download's tags are its file name.
nixamp 0.11.0 asks nichedb. The server you are connected to asks once per name and remembers the answer, misses too, so a library of five thousand files is not five thousand requests. Under the title the page now shows the poster, the year, the rating, the genres and a line of synopsis for a film, and the logo, country, category and network for a channel. Below half similarity nothing is shown: a wrong poster is worse than none.
Install or update nixamp with one line:
curl -fsSL https://nixamp.com/install.sh | sh
nichedb: https://nichedb.dev. nixamp: https://github.com/profullstack/nixamp and r/nixamp.
Top comments (0)