API reference / Public
The public catalog pages’ data: publishers, series, issues and new releases. CDN-cacheable.
/api/v1/public/catalogCounts, the biggest publishers, key issues and first issues.
collector.getPublicCatalogHome()If-None-MatchX-Request-Idcountsobjectrequiredissuesintegerrequiredseriesintegerrequiredpublishersintegerrequiredpublishersarray of objectrequiredidstring (uuid)requirednamestringrequiredslugstringrequiredlogoUrlstring (uri) or nullrequiredseriesCountintegerrequiredrate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog'await collector.getPublicCatalogHome();/api/v1/public/catalog/issues/{id}/listings"Buy a copy": our shops’ copies of an issue, best grade first. An unknown issue has none.
collector.getPublicIssueListings()If-None-MatchX-Request-Id| Name | In | Type | About |
|---|---|---|---|
idrequired | path | string (uuid) |
object
not_found: Nothing at that address.
rate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/issues/<id>/listings'await collector.getPublicIssueListings({ path: { id } });/api/v1/public/catalog/new-releasesThis week’s comics and the next two weeks’, by store date.
collector.getPublicNewReleases()If-None-MatchX-Request-Idtodaystring (date)requiredweeksarray of objectrequiredstartstring (date)requiredMonday.
endstring (date)requiredSunday.
offsetintegerrequiredWeeks from this week: 0 this week, 1 next week.
labelstringrequiredrangestringrequiredtruncatedbooleanrequiredtotalintegerrequiredrate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/new-releases'await collector.getPublicNewReleases();/api/v1/public/catalog/publishers/{slug}The publisher page: its overview, key issues, recent releases and one page of its series browser (filters as on the page). A merged publisher answers { redirect }.
collector.getPublicPublisher()If-None-MatchX-Request-Id| Name | In | Type | About |
|---|---|---|---|
slugrequired | path | string | 1–200 characters |
eraoptional | query | string | A decade, e.g. 1990. |
formatoptional | query | string | |
statusoptional | query | string | |
qoptional | query | string | |
sortoptional | query | string | |
pageoptional | query | string | Page of the series browser, from 1. |
PublicPublisherView or Redirect
Option 1: PublicPublisherView
Option 2: Redirect
invalid_request: The query or body doesn’t match the schema (see errors[]).
not_found: Nothing at that address.
rate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/publishers/<slug>'await collector.getPublicPublisher({ path: { slug }, query: { … } });/api/v1/public/catalog/searchThe catalog page’s search: issues and series in the local catalog (no provider lookups), and the publishers and imprints a bare name matches.
collector.searchPublicCatalog()If-None-MatchX-Request-Id| Name | In | Type | About |
|---|---|---|---|
qoptional | query | string | What to look for. |
qstringrequiredpublishersarray of objectoptionalPublishers and imprints named like the query.
namestringrequiredslugstringrequiredparentobject or nullrequiredThe publisher an imprint belongs to.
namestringrequiredslugstringrequiredinvalid_request: The query or body doesn’t match the schema (see errors[]).
rate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/search'await collector.searchPublicCatalog({ query: { … } });/api/v1/public/catalog/series/{slug}The series page with one block of its run (?block=, the first without one). A merged or renamed series answers { redirect }.
collector.getPublicSeries()If-None-MatchX-Request-Id| Name | In | Type | About |
|---|---|---|---|
slugrequired | path | string | 1–200 characters |
blockoptional | query | string | A block key: 'all', '1-100', 'v3'… |
Option 1: PublicSeriesView
Option 2: Redirect
invalid_request: The query or body doesn’t match the schema (see errors[]).
not_found: Nothing at that address.
rate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/series/<slug>'await collector.getPublicSeries({ path: { slug }, query: { … } });/api/v1/public/catalog/series/{slug}/{issue}The issue page: editions, credits, first appearances, owners, market prices and our shops’ copies. A merged or renamed issue answers { redirect }.
collector.getPublicIssue()If-None-MatchX-Request-Id| Name | In | Type | About |
|---|---|---|---|
slugrequired | path | string | 1–200 characters |
issuerequired | path | string | 1–200 characters |
Option 1: PublicIssueView
Option 2: Redirect
not_found: Nothing at that address.
rate_limited: Signed out: too many requests from your network.
internal: Something went wrong on our side (quote the requestId).
curl 'https://collection.id/api/v1/public/catalog/series/<slug>/<issue>'await collector.getPublicIssue({ path: { slug, issue } });