# Grand Comics Database connector (`gcd`) - Source: https://www.comics.org (comics.org) · type: catalog · country: US (global coverage) · currency: USD (cover prices when ISO-labelled) - Acquisition: official JSON REST API, no key — `/api/series/?page=N` (50/page, 232k series), `/api/series//`, `/api/issue//`, `/api/publisher//` - Records: `catalog_item` per issue with `identifiers.comics_org_id` (+ `gcd_series_id`, `gcd_publisher_id`, upc/ean/isbn from the barcode) - Data licence: CC-BY-SA — kept in `metadata.license`, every record links to its comics.org issue page. ## Behaviour - Resumable page walk of the series list (cursor `{page, index}`); `issuesPerSeries` issue details per series; publisher names cached per run. - Rate limit: the API answers 429 (Retry-After ≈ 29 min) after ~50 requests → `maxRequestsPerRun` (30) per hourly run, 2.5 s spacing, clean stop with anomaly `rate_limited`; domain policy `maxRetries: 0`. - `lookup(https://www.comics.org/issue// | /series//)` and seeds `series:` / `issue:`. - Dates with GCD `00` placeholders stay year-only (`releaseDate` null); cover price → `originalMsrp` only with an ISO currency. ## Fixtures / tests `data/fixtures/gcd/*.json` are live API captures (trimmed). `pnpm vitest run connectors/api/gcd`. Capture: `pnpm tsx connectors/api/gcd/_capture.ts [seriesId…]`.