MangaUpdates 1.0.0
See the version list below for details.
dotnet add package MangaUpdates --version 1.0.0
NuGet\Install-Package MangaUpdates -Version 1.0.0
<PackageReference Include="MangaUpdates" Version="1.0.0" />
<PackageVersion Include="MangaUpdates" Version="1.0.0" />
<PackageReference Include="MangaUpdates" />
paket add MangaUpdates --version 1.0.0
#r "nuget: MangaUpdates, 1.0.0"
#:package MangaUpdates@1.0.0
#addin nuget:?package=MangaUpdates&version=1.0.0
#tool nuget:?package=MangaUpdates&version=1.0.0
MangaUpdates.NET
A type-safe C# client for the MangaUpdates API, built on Refit and System.Text.Json.
Most API functions are public and do not require an account. User-based functions require a bearer token; account registration must be done through the MangaUpdates website.
Installation
dotnet add package MangaUpdates
Targets net8.0.
Usage
The clients are registered through dependency injection. Each API tag (Series, Members, Releases, …) is exposed as its own Refit interface under the MangaUpdates.Api namespace.
using MangaUpdates.Api;
using MangaUpdates.Client;
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection();
// Unauthenticated (public endpoints only):
services.AddMangaUpdates();
// Or with a bearer token for user-based endpoints:
services.AddMangaUpdates("your-access-token");
// Or configure fully:
services.AddMangaUpdates(options =>
{
options.AccessToken = "your-access-token";
options.BaseUrl = "https://api.mangaupdates.com/v1"; // default
options.MaxRetryAttempts = 3; // default; 0 disables retry
});
var provider = services.BuildServiceProvider();
Then inject or resolve the interface you need:
var series = provider.GetRequiredService<ISeriesApi>();
var result = await series.RetrieveSeries(id: 12345);
Console.WriteLine(result.Title);
Every operation is asynchronous and returns the deserialized model directly (Task<T>). Pass a CancellationToken as the last argument to any call.
Configuration (MangaUpdatesOptions)
| Option | Default | Description |
|---|---|---|
BaseUrl |
https://api.mangaupdates.com/v1 |
API base address. |
AccessToken |
null |
Bearer token; added automatically to every request when set. |
MaxRetryAttempts |
3 |
Automatic retries for transient failures (5xx, 408, 429, network errors). Set to 0 to disable. |
RetryBaseDelay |
1s |
Base delay for the exponential backoff (with jitter). |
How it works
MangaUpdates.Api— one Refit interface per API tag (ISeriesApi,IMembersApi, …).MangaUpdates.Model— request/response DTOs annotated withSystem.Text.Jsonattributes.MangaUpdates.Client— DI registration (AddMangaUpdates), the bearer-token and Polly retry handlers, the shared serializer options, and theEnumMember-aware enum converter.
Errors surface as Refit's Refit.ApiException. Advanced users who do not use dependency injection can construct an interface manually with RestService.For<ISeriesApi>(...), supplying new SystemTextJsonContentSerializer(MangaUpdatesJson.Options).
Acceptable Use
Per the MangaUpdates API terms: credit MangaUpdates when using their data, space out requests, cache where possible, and do not use the data to deceive users, perform illegal actions, create spam, or damage the database.
License
MIT. See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
-
net8.0
- Polly (>= 8.7.0)
- Refit (>= 13.1.0)
- Refit.HttpClientFactory (>= 13.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Migrated the client from RestSharp to Refit with System.Text.Json.