Tenrai.Net
3.1.0
dotnet add package Tenrai.Net --version 3.1.0
NuGet\Install-Package Tenrai.Net -Version 3.1.0
<PackageReference Include="Tenrai.Net" Version="3.1.0" />
<PackageVersion Include="Tenrai.Net" Version="3.1.0" />
<PackageReference Include="Tenrai.Net" />
paket add Tenrai.Net --version 3.1.0
#r "nuget: Tenrai.Net, 3.1.0"
#:package Tenrai.Net@3.1.0
#addin nuget:?package=Tenrai.Net&version=3.1.0
#tool nuget:?package=Tenrai.Net&version=3.1.0
Tenrai.Net
Tenrai.Net is a .NET wrapper for the Tenrai RESTful API for parsing data from MyAnimeList. The main objective of the wrapper is to simplify utilization of the Tenrai API, as strongly typed languages are not-so-easy to use with elastic json (sure, we can use dynamics in .NET, but let's think about performance).
Tenrai is a drop-in successor to the Jikan v4 API, matching its schema closely so existing applications can migrate with mostly a base URL and package change.
Credits
Tenrai.Net is based on, and a huge thank you goes to, @Ervie who wrote the original Jikan.NET library, as well as the Jikan project itself. This library would not exist without their work.
Differences from Jikan.NET
- Not all endpoints are supported by Tenrai. The methods for users, clubs, watch, forum topics, and anime/manga user updates are retained for source compatibility but are marked
[Obsolete]and throwNotSupportedException. For user-specific data, use the official MyAnimeList API. - Richer reviews. Reviews can be sorted (
newest/oldest/most_helpful), filtered by preliminary/spoiler state as a tri-state (Include/Exclude/Only), and filtered by sentiment (recommended/mixed_feelings/not_recommended). See review filtering. - Server Key support. Supply a Tenrai Server Key to raise rate limits (300/min, 5/sec, unlimited daily). See Rate Limiting.
- Bulk ID endpoints. Fetch every MAL ID for anime, manga, characters, people, or producers (requires a Server Key).
- More accurate data. Tenrai fixes several Jikan issues server-side: correct totals, no duplicate entries in list endpoints, precise pagination (
last_visible_page), and working spoiler sorting.
Main attributes
- Written to work with .NET Standard 2.0, compatible with .NET Framework (4.6.1 or newer) and .NET (6.0 or newer).
- Fully asynchronous request fetching (can be forced to synchronous if needed).
- Light on dependencies
- No dependencies if you are using .NET 6.0+
- Single dependency for .NET Framework (System.Text.Json).
- Usable with Dependency Injection.
List of features
- Anime
- Basic / Full information, Characters, Staff, Episodes, News, Videos/PV/Episodes, Pictures, Statistics, More Info, Reviews, Recommendations, Related entries, Themes, External links, Streaming links
- Manga
- Basic / Full information, Characters, News, Pictures, Statistics, More Info, Reviews, Recommendations, Related entries, External links
- People
- Basic / Full information, Related anime, Related manga, Voice acting roles, Pictures
- Characters
- Basic / Full information, Related anime, Related manga, Voice actors, Pictures
- Reviews (anime, manga, recent, top) with sort, sentiment, and preliminary/spoiler filtering
- Search: Anime, Manga, People, Characters
- Seasonal Anime: Current, Upcoming, Archival
- Anime scheduling (for current season)
- Top: Anime, Manga, People, Characters, Reviews
- Genres: Anime genres, Manga genres
- Producer: Basic information, External links, Full data
- Magazines
- Random: Anime, Manga, Character, Person
- Interest Stacks: Browse, search, full stack with entries in source order, stacks containing a given anime or manga
- Bulk MAL IDs: Anime, Manga, Characters, People, Producers (requires a Server Key)
- Service status snapshot
Not supported by Tenrai
The following Jikan.NET endpoint families are retained but throw NotSupportedException: Users, Clubs, Watch, Forum Topics, and anime/manga User Updates (plus random user and user/club search).
Installation
Package manager
PM> Install-Package Tenrai.Net
.NET CLI
> dotnet add package Tenrai.Net
Then restore dependencies:
> dotnet restore
Changelog
15.08.2026 - Version 3.1.0
- Interest Stacks: browse, search, full stack with entries in source order, and the stacks containing a given anime or manga
GetStatusAsyncreturns the public service status snapshot (targets the status host, so it ignores a custom base address and the client rate limiter)
07.07.2026 - Version 3.0.0
- Rebrand from
JikanDotNettoTenrai.Nettargeting the Tenrai API (https://api.tenrai.org/v1) — major, breaking release Jikan→TenraiClient,IJikan→ITenrai, namespaceJikanDotNet→Tenrai,*JikanResponse→*TenraiResponse- Reviews gain sort, sentiment, and tri-state preliminary/spoiler filtering via
ReviewsSearchConfig;ReviewaddsTagsandIsPreliminary - Server Key support (
X-Server-Key) with a higher rate-limit tier; new bulk ID endpoints - Unsupported endpoint families (users, clubs, watch, forum topics, user updates) marked
[Obsolete]and throwNotSupportedException
25.04.2026 - Version 2.10.4 (Jikan.NET)
- Fix
TimePeriod.From/TimePeriod.Tolosing UTC offset during deserialization (affectsAnime.AiredandManga.Published). Types changed fromDateTime?toDateTimeOffset?- breaking change
Documentation & Usage example
See the documentation for quick start, API reference, and guides.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 10.0.0)
-
net10.0
- No dependencies.
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.