RustMapsApi
A strongly-typed .NET client for the public RustMaps API (v4).
Look up procedural and custom maps, search, request map generation, upload saves, and read your
generation limits β with Result<T> everywhere and first-class dependency injection.
Map lookup
Fetch maps by id, seed & size, or RustMaps URL β one typed Result<T> API.
Search
Structured queries or saved homepage filters, paged with a zero-based index.
Map generation
Request procedural or custom maps, generate from a saved config, or upload a save file.
Limits & configs
Read your generation limits and saved/default custom-map configurations.
Dependency injection
Register with AddRustMapsClientV4 and inject IRustMapsClient, or new it up by hand.
Monument icons
Resolve a monument's icon (SVG) straight from a MonumentType β offline, no network call.
Broad targeting
.NET Standard 2.0 and .NET 10 β runs on .NET Framework 4.6.2+, .NET 6β10, Mono and Unity.
Packages
| Package | Downloads | Description |
|---|---|---|
| RustMapsApi | Strongly-typed RustMaps API v4 client β IRustMapsClient, Result<T>, models & requests, and DI registration. |
|
| RustMapsApi.Assets | Monument icon artwork (SVG) mapped by MonumentType β resolve a monument's icon offline, no network call. |
Quickstart
using Microsoft.Extensions.DependencyInjection;
using RustMapsApi.V4;
services.AddRustMapsClientV4(options => options.ApiKey = "YOUR_API_KEY");
// then inject IRustMapsClient
public sealed class MapService(IRustMapsClient client)
{
public async Task<string?> GetUrlAsync(string mapId)
{
var result = await client.GetMapByIdAsync(mapId);
return result.IsSuccess ? result.Data!.Url : null;
}
}
Don't have an API key yet? The Getting Started guide walks you through getting one and making your first call.