RawgApi.Client 1.0.1

dotnet add package RawgApi.Client --version 1.0.1
                    
NuGet\Install-Package RawgApi.Client -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RawgApi.Client" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RawgApi.Client" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="RawgApi.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RawgApi.Client --version 1.0.1
                    
#r "nuget: RawgApi.Client, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RawgApi.Client@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RawgApi.Client&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=RawgApi.Client&version=1.0.1
                    
Install as a Cake Tool

RawgApi.Client

This package provides a client library for integrating with the RAWG API.

Features

  • HTTP client for RAWG API
  • Service extensions for dependency injection
  • Automatic API key authentication
  • Built-in logging support
  • Comprehensive query parameter support for games endpoint

Installation

dotnet add package RawgApi.Client

Usage

Register the service

using RawgApi.Client;

// In your Program.cs or Startup.cs
builder.Services.AddRawgApiClient(options =>
{
    options.ApiKey = "your-api-key";
    options.BaseUrl = "https://api.rawg.io/api";
});

Use the client

public class GameService
{
    private readonly RawgApiClient _rawgApiClient;

    public GameService(RawgApiClient rawgApiClient)
    {
        _rawgApiClient = rawgApiClient;
    }

    // Simple usage
    public async Task<PaginatedResponse<Game>> GetGamesAsync()
    {
        return await _rawgApiClient.GetGamesAsync();
    }

    // Advanced usage with comprehensive filtering
    public async Task<PaginatedResponse<Game>> GetActionGamesAsync()
    {
        var parameters = new GamesQueryParameters
        {
            Search = "action",
            Genres = "4", // Action genre ID
            Ordering = "-rating",
            PageSize = 20,
            Metacritic = "80,100" // Games with Metacritic score 80-100
        };
        
        return await _rawgApiClient.GetGamesAsync(parameters);
    }

    // Get games for specific platforms
    public async Task<PaginatedResponse<Game>> GetPlayStationGamesAsync()
    {
        var parameters = new GamesQueryParameters
        {
            Platforms = "187,18", // PlayStation 4, PlayStation 5
            Ordering = "-released",
            PageSize = 40
        };
        
        return await _rawgApiClient.GetGamesAsync(parameters);
    }
}

GamesQueryParameters

The GamesQueryParameters class provides comprehensive filtering options for the games endpoint:

Search Parameters

  • Search: Search query string
  • SearchPrecise: Enable precise search matching
  • SearchExact: Enable exact search matching

Filtering Parameters

  • ParentPlatforms: Comma-separated parent platform IDs
  • Platforms: Comma-separated platform IDs
  • Stores: Comma-separated store IDs
  • Developers: Comma-separated developer IDs
  • Publishers: Comma-separated publisher IDs
  • Genres: Comma-separated genre IDs
  • Tags: Comma-separated tag IDs
  • Creators: Comma-separated creator IDs
  • Dates: Release date ranges (comma-separated)
  • Updated: Updated date ranges (comma-separated)
  • PlatformsCount: Number of platforms filter
  • Metacritic: Metacritic score range (e.g., "80,90")

Exclusion Parameters

  • ExcludeCollection: Exclude collection games
  • ExcludeAdditions: Exclude DLC/additions
  • ExcludeParents: Exclude parent games
  • ExcludeGameSeries: Exclude game series
  • ExcludeStores: Comma-separated store IDs to exclude

Sorting and Pagination

  • Ordering: Sort order (e.g., "name", "-released", "rating")
  • Page: Page number (default: 1)
  • PageSize: Page size, max 40 (default: 20)

Configuration

The client can be configured with the following options:

License

This project is licensed under the MIT License.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 231 8/6/2025
1.0.0 101 8/1/2025