K-pop API · Pop API · Birthday API · AI / MCP connector

DEVELOPER DOCUMENTATION

The fandom data API

REST, JSON and a common envelope. Build calendars, birthday tools and artist directories from one source-backed graph.

New here? Follow the step-by-step getting started guide → · Already have an account? Sign in →

Your first request

curl -H 'x-api-key: YOUR_API_KEY' 'https://fangraphapi.com/api/v1/groups?limit=2'

All endpoints are GET under /api/v1. A valid personal API key is required. Create a free account to manage keys and usage. Keys are shown once and stored as hashes. Pagination uses limit (1–100) and offset; q searches returned records; vertical defaults to kpop. Use ?vertical=pop for Pop artists and birthdays.

Create a free account →
EndpointPurpose
/groupsGroup directory
/groups/{id}Group details + provenance
/groups/{id}/membersGroup membership connections
/membersArtist directory
/members/{id}Artist details + provenance
/releasesHistorical and announced releases
/releases/upcomingUpcoming announced releases
/birthdays/todayBirthdays today in Seoul
/birthdays/{MM-DD}Birthdays on a specific day
/comebacksUpcoming announcements
/eventsEvent records
/calendar/{YYYY-MM}Monthly releases, events and birthdays
/changesApproved change feed
/random/memberRandom artist
/sourcesOfficial announcement source health and check times

Beta request limits

60 requests per IP per minute. API keys also have limits of 120 per minute and 10,000 per account per UTC day, shared across keys; all limits apply together. The public playground permits 20 fixed-example requests per IP per day (up to 5 per minute). Aggregate usage counts contain no submitted birthdays.

Response format (illustrative example)

{
  "data": [
    {
      "id": "bts",
      "name": "BTS",
      "kind": "group",
      "vertical_id": "kpop"
    }
  ],
  "meta": {
    "total": 1,
    "limit": 50,
    "offset": 0,
    "vertical": "kpop",
    "timezone": "Asia/Seoul",
    "data_mode": "d1"
  }
}

400: invalid parameters. 401: invalid key. 404: missing record or endpoint. 429: request limit reached (see Retry-After). 503: unavailable database. Dates are ISO strings; birthdays recur by month/day. /changes exposes approved changes only. No live coverage guarantee.