Game Legend

API Documentation

Free REST API for game discovery. No authentication required. Rate limited to 100 requests per minute.

Base URL: https://gamelegend.com/api/v1

OpenAPI Spec: /api/v1/openapi.json

AI Plugin Manifest: /.well-known/ai-plugin.json

GET/games

Search and list games. Filter by text query or Gameplay DNA dimensions.

ParameterTypeRequiredDescription
qstringNoSearch query — matches title and description. Max 200 characters.
dimensionsstringNoComma-separated dimension IDs. Games must match ALL specified dimensions.
limitintegerNoResults per page (1-48, default 24).
offsetintegerNoPagination offset (default 0).

Example

curl "https://gamelegend.com/api/v1/games?q=civilization&limit=3"

Response

{
  "games": [
    {
      "slug": "civilization-vi",
      "title": "Sid Meier's Civilization VI",
      "description": "...",
      "releaseDate": "Oct 21, 2016",
      "coverImageUrl": "https://...",
      "platforms": ["Windows", "macOS", "Linux"],
      "url": "https://gamelegend.com/games/civilization-vi"
    }
  ],
  "total": 1,
  "limit": 3,
  "offset": 0,
  "hasMore": false,
  "_attribution": {
    "source": "GameLegend",
    "url": "https://gamelegend.com/discover",
    "attribution": "Data provided by GameLegend. Attribution required."
  }
}
GET/games/{slug}

Get full game details including Gameplay DNA profile and developer-submitted store links.

ParameterTypeRequiredDescription
slugstringYesGame slug identifier (e.g. civilization-vi).

Example

curl "https://gamelegend.com/api/v1/games/civilization-vi"

Response

{
  "game": {
    "slug": "civilization-vi",
    "title": "Sid Meier's Civilization VI",
    "description": "...",
    "platforms": ["Windows", "macOS", "Linux"],
    "url": "https://gamelegend.com/games/civilization-vi",
    "dna": {
      "mechanics": [
        { "name": "Turn-based combat", "intensity": 4 },
        { "name": "Tech/research trees", "intensity": 5 }
      ],
      "feel": [
        { "name": "Methodical", "intensity": 4 }
      ],
      "themes": [
        { "name": "Political intrigue", "intensity": 3 }
      ]
    },
    "storefronts": []
  },
  "_attribution": { ... }
}
GET/games/{slug}/similar

Find games similar to a given game, ranked by cosine similarity on Gameplay DNA vectors.

ParameterTypeRequiredDescription
slugstringYesGame slug identifier.
limitintegerNoResults per page (1-48, default 24).
offsetintegerNoPagination offset (default 0).

Example

curl "https://gamelegend.com/api/v1/games/civilization-vi/similar?limit=3"

Response

{
  "games": [
    {
      "slug": "old-world",
      "title": "Old World",
      "coverImageUrl": "https://...",
      "platforms": ["Windows"],
      "similarity": 0.87,
      "sharedDna": [
        { "name": "Turn-based combat", "category": "mechanics", "intensity": 0 },
        { "name": "Tech/research trees", "category": "mechanics", "intensity": 0 },
        { "name": "Diplomacy", "category": "mechanics", "intensity": 0 }
      ],
      "url": "https://gamelegend.com/games/old-world"
    }
  ],
  "hasMore": true,
  "_attribution": { ... }
}
GET/dimensions

List all 69 Gameplay DNA dimensions grouped by category. Use dimension IDs to filter games in the search endpoint.

Example

curl "https://gamelegend.com/api/v1/dimensions"

Response

{
  "dimensions": {
    "mechanics": {
      "label": "Core Mechanics",
      "dimensions": [
        { "id": 1, "name": "Turn-based combat" },
        { "id": 2, "name": "Real-time combat" },
        ...
      ]
    },
    "feel": {
      "label": "Feel / Pacing",
      "dimensions": [...]
    },
    ...
  },
  "_attribution": { ... }
}

Attribution

Every response includes an _attribution object. Applications using this API must credit GameLegend as the data source.

Rate Limits

100 requests per minute per IP address. Exceeding the limit returns HTTP 429. Responses are cached for 1 hour at the edge — repeated queries are free.

Gameplay DNA Categories

KeyLabel
mechanicsCore Mechanics
feelFeel / Pacing
progressionProgression
social_modeSocial Mode
aestheticAesthetic
themesThemes
complexityComplexity
session_lengthSession Length
strategic_scopeStrategic Scope