Skip to content
PatchDelta

PatchDelta / API v1

Public API

Read-only JSON API. Static, CDN-cached, CORS-enabled, no auth. Free for any use, attribution appreciated. 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).

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

List every weapon for a game. Includes full stat trajectories + changelog. Supported games: bo7, cs2.

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

Single weapon 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",
  "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

A link back to patchdelta.net where the data is shown is appreciated but not required. PatchDelta is not affiliated with Activision, Treyarch, Riot Games, or Valve. Numbers are sourced from the publishers' own patch notes — see /methodology.