{
  "name": "Actual Play Database",
  "description": "An index of actual-play TTRPG credits organised by person — every show, season and guest spot, including the indie long tail.",
  "repository": "https://github.com/jazzsequence/apdb",
  "counts": {
    "people": 1003,
    "shows": 460,
    "channels": 102,
    "games": 139,
    "credits": 3914
  },
  "endpoints": {
    "people": {
      "collection": "https://actualplaydb.com/api/people.json",
      "entity": "https://actualplaydb.com/people/%7Bid%7D.json",
      "html": "https://actualplaydb.com/people/%7Bid%7D/"
    },
    "shows": {
      "collection": "https://actualplaydb.com/api/shows.json",
      "entity": "https://actualplaydb.com/shows/%7Bid%7D.json",
      "html": "https://actualplaydb.com/shows/%7Bid%7D/"
    },
    "channels": {
      "collection": "https://actualplaydb.com/api/channels.json",
      "html": "https://actualplaydb.com/channels/%7Bid%7D/"
    },
    "games": {
      "collection": "https://actualplaydb.com/api/games.json"
    }
  },
  "docs": {
    "llms_txt": "https://actualplaydb.com/llms.txt",
    "agents_md": "https://github.com/jazzsequence/apdb/blob/main/AGENTS.md",
    "contributing": "https://github.com/jazzsequence/apdb/blob/main/CONTRIBUTING.md",
    "data_model": "https://github.com/jazzsequence/apdb/blob/main/README.md#data-model",
    "provenance": "https://github.com/jazzsequence/apdb/blob/main/README.md#provenance"
  },
  "notes": [
    "{id} is the slug used as both the filename in data/ and the URL segment — the same string everywhere.",
    "A credit references its show by id and, where it applies, a season by ordinal number (not array index — ordinals can have gaps).",
    "Every credit carries a sources list with a tier (official > recording > participant > firsthand > reference > community). Treat the tier as part of the fact, not metadata to discard."
  ]
}