Skip to content
PatchDelta

PatchDelta / API v1

Public API

Read-only JSON API. Static, CDN-cached, CORS-enabled, no auth. Free to use; public-facing use requires attribution (see below). Versioned — v1 is the current stable surface; breaking changes get a new prefix.

Base URL

https://patchdelta.net/api/v1

Endpoints

GET/api/v1/games

List every tracked game (BO7, LoL, Valorant, CS2, Apex).

GET/api/v1/games/{game}/weapons

List every weapon for a game. Includes full stat trajectories + changelog. Games with weapons: bo7, cs2, apex.

GET/api/v1/games/{game}/weapons/{id}

Single weapon by ID.

GET/api/v1/games/{game}/champions

List every champion for a game. Includes base stats, abilities, changelog, verdict. Games with champions: lol.

GET/api/v1/games/{game}/champions/{id}

Single champion by ID.

GET/api/v1/games/{game}/agents

List every agent for a game. Includes role, qualitative changelog, patches touched. Games with agents: val.

GET/api/v1/games/{game}/agents/{id}

Single agent by ID.

GET/api/v1/games/{game}/patches

List patches for a game, newest-first.

GET/api/v1/games/{game}/patches/{id}

Single patch with all weapons it touched and the per-stat changes.

Response shape

Every successful response is wrapped in a stable envelope:

{
  "apiVersion": "1.0.0",
  "attribution": "Data from PatchDelta — https://patchdelta.net ...",
  "data": { /* endpoint-specific payload */ }
}

Errors return the same envelope with an error field instead of data:

{
  "apiVersion": "1.0.0",
  "error": { "status": 404, "message": "Weapon 'foo' not found" }
}

Caching + CORS

  • Cache-Control: public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800. Browser caches 1h; CDN caches 24h; serves stale up to 1 week while a fresh build regenerates.
  • CORS: Access-Control-Allow-Origin: *. Read from anywhere — no preflight needed for plain GETs.
  • Schema version returned in X-PatchDelta-API-Version header.

Stability

v1 is a stable, additive surface. Field additions are backwards-compatible; breaking changes (renames, removals) get a new path prefix (/api/v2/*) and v1 stays online with a deprecation header for at least 90 days.

Attribution

Any public-facing use of this data — a website, a Discord bot, a published tool — must credit PatchDelta with a visible link back to patchdelta.net. Private and personal use needs no attribution. Every API response carries the requirement inline in its attribution field so it travels with the data.

PatchDelta is not affiliated with Activision, Treyarch, Riot Games, Valve, Electronic Arts, or Respawn Entertainment. Numbers are sourced from the publishers' own patch notes — see /methodology.