ManiaAPI.NadeoAPI
2.0.0
See the version list below for details.
dotnet add package ManiaAPI.NadeoAPI --version 2.0.0
NuGet\Install-Package ManiaAPI.NadeoAPI -Version 2.0.0
<PackageReference Include="ManiaAPI.NadeoAPI" Version="2.0.0" />
<PackageVersion Include="ManiaAPI.NadeoAPI" Version="2.0.0" />
<PackageReference Include="ManiaAPI.NadeoAPI" />
paket add ManiaAPI.NadeoAPI --version 2.0.0
#r "nuget: ManiaAPI.NadeoAPI, 2.0.0"
#:package ManiaAPI.NadeoAPI@2.0.0
#addin nuget:?package=ManiaAPI.NadeoAPI&version=2.0.0
#tool nuget:?package=ManiaAPI.NadeoAPI&version=2.0.0
ManiaAPI.NadeoAPI
Wraps the official Nadeo API used in the latest Trackmania (2020). This API requires authentication.
After �nitial authentication, the connectivity is managed by the library, so you don't have to worry about refreshing the token.
The game provides 3 domains, and they are split into 3 separate services:
NadeoServicesfor the core functionalityNadeoLiveServicesfor leaderboards, clubs, and other live contentNadeoMeetServicesfor getting the current Cup of the Day
Possibilities
For NadeoServices:
- Get map records
- Get account records
- Get player zones
- Get API routes
- Get all available zones
- Get player club tags
- Get map info
For NadeoLiveServices:
- Edit club campaigns
- Edit club activities
- Get map info
- Get map leaderboards
- Get map medal records
- Get seasonal campaigns
- Get weekly shorts
- Get TOTDs
- Get club campaigns
- Get club info
- Get club members
- Get club activities
- Get club rooms
- Get player season rankings
- Get active advertisements
- Join daily channel (COTD)
For NadeoMeetServices:
- Get the current Cup of the Day
Setup for a single service
using ManiaAPI.NadeoAPI;
var ns = new NadeoServices();
await ns.AuthorizeAsync("mylogin", "mypassword", AuthorizationMethod.UbisoftAccount);
// Ready to use
var zones = await ns.GetZonesAsync();
You can also use a dedicated server. Just be aware it has some limitations.
await ns.AuthorizeAsync("my_dedicated_server", "ls>97jO>e3>>D/Ce", AuthorizationMethod.DedicatedServer);
For other services, just replace NadeoServices with NadeoLiveServices or NadeoMeetServices.
Setup for multiple services
using ManiaAPI.NadeoAPI;
var login = "mylogin";
var password = "mypassword";
var ns = new NadeoServices();
await ns.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
var nls = new NadeoLiveServices();
await nls.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
// Ready to use combined
// With NadeoLiveServices
var weeklyCampaigns = await nls.GetSeasonalCampaignsAsync(1);
var campaignMap = weeklyCampaigns.CampaignList.First().Playlist.First();
var mapInfo = await nls.GetMapInfoAsync(campaignMap.MapUid);
var mapLeaderboard = await nls.GetTopLeaderboardAsync(campaignMap.MapUid);
// With NadeoServices
var records = await ns.GetMapRecordsAsync(mapLeaderboard.Top.Top.Select(x => x.AccountId), mapInfo.MapId);
or with DI, using an injected HttpClient:
using ManiaAPI.NadeoAPI;
builder.Services.AddScoped<NadeoServices>();
builder.Services.AddScoped<NadeoLiveServices>();
builder.Services.AddScoped<NadeoMeetServices>();
builder.Services.AddHttpClient<NadeoServices>();
builder.Services.AddHttpClient<NadeoLiveServices>();
builder.Services.AddHttpClient<NadeoMeetServices>();
// Do the setup
var login = "mylogin";
var password = "mypassword";
var ns = provider.GetRequiredService<NadeoServices>();
var nls = provider.GetRequiredService<NadeoLiveServices>();
var nms = provider.GetRequiredService<NadeoMeetServices>();
await ns.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
await nls.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
await nms.AuthorizeAsync(login, password, AuthorizationMethod.UbisoftAccount);
| 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 is compatible. 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
- TmEssentials (>= 2.5.0)
-
net9.0
- TmEssentials (>= 2.5.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ManiaAPI.NadeoAPI:
| Package | Downloads |
|---|---|
|
ManiaAPI.NadeoAPI.Extensions.Gbx
Extension methods of Nadeo API for GBX.NET features. Part of the ManiaAPI.NET library set. |
|
|
ManiaAPI.NadeoAPI.Extensions.Hosting
Extension methods of Nadeo API for ASP.NET Core. Part of the ManiaAPI.NET library set. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.0 | 159 | 10/16/2025 |
| 2.4.1 | 109 | 10/11/2025 |
| 2.4.0 | 462 | 9/18/2025 |
| 2.3.1 | 188 | 8/21/2025 |
| 2.3.0 | 102 | 8/16/2025 |
| 2.2.0 | 337 | 4/6/2025 |
| 2.1.0 | 530 | 3/24/2025 |
| 2.0.0 | 309 | 3/23/2025 |
| 2.0.0-beta3 | 411 | 12/21/2024 |
| 2.0.0-beta2 | 169 | 7/12/2024 |
| 2.0.0-beta1 | 130 | 7/7/2024 |
| 2.0.0-alpha8 | 201 | 3/1/2024 |
| 2.0.0-alpha6 | 293 | 2/9/2024 |
| 2.0.0-alpha5 | 168 | 1/19/2024 |
| 2.0.0-alpha4 | 191 | 12/23/2023 |
| 2.0.0-alpha2 | 179 | 11/1/2023 |
| 2.0.0-alpha15 | 137 | 6/24/2024 |
| 2.0.0-alpha14 | 145 | 6/24/2024 |
| 2.0.0-alpha13 | 235 | 6/19/2024 |
| 2.0.0-alpha12 | 160 | 6/19/2024 |
| 2.0.0-alpha11 | 153 | 6/19/2024 |
| 2.0.0-alpha10 | 157 | 6/19/2024 |
| 1.0.11 | 209 | 7/6/2024 |
| 1.0.9 | 453 | 5/7/2023 |
| 1.0.8 | 502 | 8/30/2022 |
| 1.0.5 | 573 | 5/7/2022 |
| 1.0.4 | 493 | 5/7/2022 |
| 1.0.3 | 498 | 5/7/2022 |
| 1.0.2 | 546 | 4/12/2022 |
| 1.0.1 | 512 | 4/9/2022 |
| 1.0.0 | 531 | 4/8/2022 |