Bifrost Bifrost

About Our API

The Bifrost API is built on GraphQL — a modern query language that lets you request exactly the data you need, nothing more. This page explains what GraphQL is, why we chose it, and which client libraries work best for your language.

What is GraphQL?

GraphQL is a query language for APIs, originally created by Facebook in 2012 and open-sourced in 2015. Instead of hitting dozens of different URL endpoints (like REST), you send a single query that describes exactly what data you want — and the server returns precisely that shape.

Example query

query {
  playerStats(playerId: "76561198012345678") {
    kills
    deaths
    winRate
  }
}

The server responds with JSON matching that exact shape — no extra fields, no wasted bandwidth.

Why GraphQL Instead of REST?

No Over-Fetching

REST endpoints return fixed data shapes. GraphQL lets you pick only the fields you need — smaller payloads, faster responses.

No Under-Fetching

Need data from multiple resources? One GraphQL query replaces several REST calls — no chaining requests.

Single Endpoint

Every query goes to the same URL. No memorizing dozens of routes — just one endpoint for everything.

Strongly Typed

The schema defines every type, field, and argument. You know exactly what you can query before you send a request.

Self-Documenting

The schema is the documentation. Tools like GraphQL Playground let you explore the API interactively.

Works With Any Language

GraphQL is just HTTP POST with JSON. If your language can send an HTTP request, it can use GraphQL.

You don't need a GraphQL library

Every language listed below includes a "raw" option. GraphQL is just an HTTP POST request with a JSON body containing your query string. Any HTTP client works — curl, fetch, requests, HttpClient, etc. Libraries add convenience (caching, type generation, subscriptions) but are never required.

GraphQL Libraries by Language

Python

Full-featured GraphQL client with sync/async support, file uploads, and multiple transport backends.

Simple GraphQL Client — generates Python classes from a schema for type-safe queries.

No library needed. GraphQL is just a POST request with a JSON body — requests works out of the box.

.NET (C#)

The standard .NET GraphQL client. Supports serialization, subscriptions, and strongly-typed responses.

Code-generation client from ChilliCream. Generates C# types from your queries at build time.

Send a POST with a JSON body using System.Net.Http. No additional packages required.

PHP

Lightweight client with query builder, mutations, and variable support.

Use Guzzle to POST JSON to the GraphQL endpoint directly. Most PHP projects already have it.

React / Next.js

The industry-standard React GraphQL client. Built-in cache, hooks (useQuery, useMutation), and devtools.

Lightweight alternative to Apollo. Extensible via "exchanges", great for smaller bundles.

Combine TanStack Query (React Query) with graphql-request for a minimal, flexible setup.

Node.js

Minimal, dependency-free GraphQL client. Perfect for scripts, bots, and server-to-server calls.

Apollo Client works in Node.js too. Useful for SSR or shared code between frontend and backend.

GraphQL is just HTTP POST. Use fetch with a JSON body — zero GraphQL dependencies needed.

In partnership with

Brilliant game servers for communities large and small.

Get yours today!

Shrapnelworks Logo

A Shrapnelworks product