SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
1.3 KB

# 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/<id>/, /api/issue/<id>/, /api/publisher/<id>/
  • 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/<id>/ | /series/<id>/) and seeds series:<id> / issue:<id>.
  • 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…].