Skip to content

Series

Endpoints for browsing and searching comic book series.

A series represents a specific volume or run of a title (e.g., "Amazing Spider-Man (2018)").

List series.

GET/api/v1/series
Requires a token

Returns paginated series with optional search and filtering.

Query parameters

qstring

Search by series name.

Example: "spider-man"

title_idinteger

Filter by title ID.

Example: 1

publisher_idinteger

Filter by publisher ID.

Example: 1

statusstring

Filter by series status (Ongoing, Completed, Canceled).

Example: "Ongoing"

genre_idsstring

Comma-separated genre IDs. Returns a series carrying any one of them.

Example: "3,11"

publisher_idsstring

Comma-separated publisher IDs. Returns a series published by any one of them; use this instead of publisher_id to pass more than one.

Example: "1,4"

creator_idsstring

Comma-separated creator IDs. Returns a series credited to any one of them.

Example: "812,1907"

character_idsstring

Comma-separated character IDs. Returns a series any one of them appears in.

Example: "55,204"

languagesstring

Comma-separated ISO 639-1 language codes. Returns a series published in any one of them.

Example: "en,ja"

mediumstring

Filter by medium (comic, manga, manhwa, manhua, bande_dessinee, magazine).

Example: "manga"

publication_typestring

Filter by publication type (regular_series, limited_series, one_shot, graphic_novel, graphic_novel_series, collected_edition, special).

Example: "limited_series"

formatstring

Filter by physical format (Standard, Deluxe, Omnibus, TPB, Hardcover, Other).

Example: "Omnibus"

start_yearinteger

Filter by the year the series began.

Example: 2018

end_yearinteger

Filter by the year the series ended.

Example: 2022

decadestring

Filter by the decade the series began, written as a four-digit year ending in s. Accepts 1900s through the current decade.

Example: "1990s"

hide_unreleasedboolean

Return only series whose start year has already arrived.

Example: true

sortstring

Sort field (name, start_year, average_rating, latest_release_date, cached_issues_count).

Example: "start_year"

directionstring

Sort direction (asc, desc).

Example: "desc"

limitinteger

Number of results per page (max 50).

Example: 20

pageinteger

Page number; meta.last_page says where the list ends.

Example: 1

Responses

200

Success

Headers: X-RateLimit-Limit, X-RateLimit-Remaining

dataarray of objectsrequired
data[].idintegerrequired

Example: 123

data[].title_idinteger or nullrequired

Example: 1

data[].namestring or nullrequired

Example: "The Amazing Spider-Man"

data[].display_namestringrequired

Example: "The Amazing Spider-Man (2018)"

data[].slugstring or nullrequired

Example: "amazing-spider-man-2018"

data[].numberinteger or nullrequired

Example: 6

data[].start_yearinteger or nullrequired

Example: 2018

data[].end_yearinteger or nullrequired

Example: 2022

data[].cover_urlstring or nullrequired

Example: "https://...-cover_lg.webp"

data[].imagesobject or nullrequired
data[].images.cover_smstring

Example: "https://...-cover_sm.webp"

data[].images.cover_mdstring

Example: "https://...-cover_md.webp"

data[].images.cover_lgstring

Example: "https://...-cover_lg.webp"

data[].mediumstring or nullrequired

Example: "comic"

data[].publication_typestring or nullrequired

Example: "regular_series"

data[].formatstring or nullrequired

Example: "Standard"

data[].statusstring or nullrequired

Example: "Ongoing"

data[].original_namestring or nullrequired

Example: "The Amazing Spider-Man"

data[].original_languagestring or nullrequired

Example: "en"

data[].languagestring or nullrequired

Example: "en"

data[].cached_issues_countinteger or nullrequired

Example: 94

data[].average_ratingstring or nullrequired

Example: "4.25"

data[].total_reviewsinteger or nullrequired

Example: 12

data[].issues_average_ratingstring or nullrequired

Example: "4.10"

data[].issues_rated_countinteger or nullrequired

Example: 40

data[].content_rating_labelstring or nullrequired

Example: "Teen"

data[].min_ageinteger or nullrequired

Example: 13

data[].is_nsfwboolean or nullrequired
data[].publisher_namestring or nullrequired

Example: "Marvel"

data[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data[].aliases_i18nobjectrequired

Alternative names per language.

data[].original_localestring or nullrequired

The language the series is from, a BCP 47 tag.

Example: "ja"

linksobjectrequired
links.firststringrequired
links.laststringrequired
links.prevstring or nullrequired
links.nextstring or nullrequired
metaobjectrequired
meta.current_pageintegerrequired

Example: 1

meta.frominteger or nullrequired

Example: 1

meta.last_pageintegerrequired

Example: 25

meta.linksarray of objectsrequired
meta.links[].urlstring or nullrequired
meta.links[].labelstringrequired
meta.links[].pageinteger or null
meta.links[].activebooleanrequired
meta.pathstringrequired
meta.per_pageintegerrequired

Example: 20

meta.tointeger or nullrequired

Example: 20

meta.totalintegerrequired

Example: 500

401

Unauthenticated. The bearer token is missing, invalid, or revoked.

messagestringrequired

Example: "Unauthenticated."

Example body, from the documented examples

{
  "message": "Unauthenticated."
}
403

The token lacks the read:public ability.

messagestringrequired

Example: "Insufficient token scope."

Example body, from the documented examples

{
  "message": "Insufficient token scope."
}
429

Rate limit exceeded. This endpoint allows 300/hour (free) or 1,000/hour (PRO). Wait for the number of seconds in the Retry-After header before retrying.

Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

messagestringrequired

Example: "Too Many Attempts."

Example body, from the documented examples

{
  "message": "Too Many Attempts."
}

Example request

curl --request GET \
  'https://versedb.com/api/v1/series' \
  --header 'Authorization: Bearer {YOUR_AUTH_KEY}' \
  --header 'Accept: application/json'

Example response 200

{
  "data": [
    {
      "id": 123,
      "title_id": 1,
      "name": "The Amazing Spider-Man",
      "display_name": "The Amazing Spider-Man (2018)",
      "slug": "amazing-spider-man-2018",
      "number": 6,
      "start_year": 2018,
      "end_year": 2022,
      "cover_url": "https://...-cover_lg.webp",
      "images": {
        "cover_sm": "https://...-cover_sm.webp",
        "cover_md": "https://...-cover_md.webp",
        "cover_lg": "https://...-cover_lg.webp"
      },
      "medium": "comic",
      "publication_type": "regular_series",
      "format": "Standard",
      "status": "Ongoing",
      "original_name": "The Amazing Spider-Man",
      "original_language": "en",
      "language": "en",
      "cached_issues_count": 94,
      "average_rating": "4.25",
      "total_reviews": 12,
      "issues_average_rating": "4.10",
      "issues_rated_count": 40,
      "content_rating_label": "Teen",
      "min_age": 13,
      "publisher_name": "Marvel",
      "name_i18n": {
        "ja": {
          "value": "講談社",
          "reading": "こうだんしゃ",
          "source": "madb"
        }
      },
      "aliases_i18n": {
        "en": [
          "Kodansha Comics"
        ]
      },
      "original_locale": "ja"
    }
  ],
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 25,
    "per_page": 20,
    "to": 20,
    "total": 500
  }
}

Get series issues.

GET/api/v1/series/{id}/issues
Requires a token

Returns paginated issues for a specific series.

Path parameters

idintegerrequired

The series ID.

Example: 123

Query parameters

qstring

Search within this series' issues (number, name).

Example: "247"

sortstring

Sort field (issue_number, release_date, name).

Example: "issue_number"

directionstring

Sort direction (asc, desc).

Example: "asc"

limitinteger

Results per page (max 100).

Example: 20

pageinteger

Page number; meta.last_page says where the list ends.

Example: 1

languagesstring

Keep only these languages in the _i18n maps (comma-separated BCP 47 tags). No other field changes.

Example: "ja,ko"

Responses

200

Success

Headers: X-RateLimit-Limit, X-RateLimit-Remaining

dataarray of objectsrequired
data[].idintegerrequired

Example: 5432

data[].slugstring or nullrequired

Example: "amazing-spider-man-1"

data[].series_idinteger or nullrequired

Example: 123

data[].issue_numberstring or nullrequired

Example: "1"

data[].namestring or nullrequired

Example: "The Chameleon Strikes!"

data[].cover_datestring or nullrequired

Example: "2018-09-01"

data[].release_datestring or nullrequired

Example: "2018-07-11"

data[].foc_datestring or nullrequired

Example: "2018-06-18"

data[].is_unreleasedbooleanrequired
data[].cover_urlstring or nullrequired

Example: "https://...-cover_lg.webp"

data[].imagesobject or nullrequired
data[].images.thumbstring

Example: "https://...-thumb.webp"

data[].images.cover_smstring

Example: "https://...-cover_sm.webp"

data[].images.cover_mdstring

Example: "https://...-cover_md.webp"

data[].images.cover_lgstring

Example: "https://...-cover_lg.webp"

data[].is_reprintbooleanrequired
data[].content_rating_labelstring or nullrequired

Example: "Teen"

data[].min_ageinteger or nullrequired

Example: 13

data[].is_nsfwbooleanrequired
data[].average_ratingnumber or nullrequired

Example: 4.5

data[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

linksobjectrequired
links.firststringrequired
links.laststringrequired
links.prevstring or nullrequired
links.nextstring or nullrequired
metaobjectrequired
meta.current_pageintegerrequired

Example: 1

meta.frominteger or nullrequired

Example: 1

meta.last_pageintegerrequired

Example: 25

meta.linksarray of objectsrequired
meta.links[].urlstring or nullrequired
meta.links[].labelstringrequired
meta.links[].pageinteger or null
meta.links[].activebooleanrequired
meta.pathstringrequired
meta.per_pageintegerrequired

Example: 20

meta.tointeger or nullrequired

Example: 20

meta.totalintegerrequired

Example: 500

401

Unauthenticated. The bearer token is missing, invalid, or revoked.

messagestringrequired

Example: "Unauthenticated."

Example body, from the documented examples

{
  "message": "Unauthenticated."
}
403

The token lacks the read:public ability.

messagestringrequired

Example: "Insufficient token scope."

Example body, from the documented examples

{
  "message": "Insufficient token scope."
}
429

Rate limit exceeded. This endpoint allows 300/hour (free) or 1,000/hour (PRO). Wait for the number of seconds in the Retry-After header before retrying.

Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

messagestringrequired

Example: "Too Many Attempts."

Example body, from the documented examples

{
  "message": "Too Many Attempts."
}

Example request

curl --request GET \
  'https://versedb.com/api/v1/series/123/issues' \
  --header 'Authorization: Bearer {YOUR_AUTH_KEY}' \
  --header 'Accept: application/json'

Example response 200

{
  "data": [
    {
      "id": 5432,
      "slug": "amazing-spider-man-1",
      "series_id": 123,
      "issue_number": "1",
      "name": "The Chameleon Strikes!",
      "cover_date": "2018-09-01",
      "release_date": "2018-07-11",
      "foc_date": "2018-06-18",
      "cover_url": "https://...-cover_lg.webp",
      "images": {
        "thumb": "https://...-thumb.webp",
        "cover_sm": "https://...-cover_sm.webp",
        "cover_md": "https://...-cover_md.webp",
        "cover_lg": "https://...-cover_lg.webp"
      },
      "content_rating_label": "Teen",
      "min_age": 13,
      "average_rating": 4.5,
      "name_i18n": {
        "ja": {
          "value": "講談社",
          "reading": "こうだんしゃ",
          "source": "madb"
        }
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 25,
    "per_page": 20,
    "to": 20,
    "total": 500
  }
}

Get series details.

GET/api/v1/series/{series_id}
Requires a token

Returns a single series with full details including related title, publishers, and genres. For relationship data (issues, creators, characters), use the relationship endpoints.

Path parameters

series_idintegerrequired

The series ID.

Example: 123

Query parameters

languagesstring

Keep only these languages in the _i18n maps (comma-separated BCP 47 tags). No other field changes.

Example: "ja,ko"

Responses

200

Success

Headers: X-RateLimit-Limit, X-RateLimit-Remaining

dataobjectrequired
data.idintegerrequired

Example: 123

data.title_idinteger or nullrequired

Example: 45

data.namestring or nullrequired

Example: "The Amazing Spider-Man"

data.original_namestring or nullrequired

Example: "アメイジング・スパイダーマン"

data.display_namestringrequired

Example: "The Amazing Spider-Man (2018)"

data.slugstring or nullrequired

Example: "the-amazing-spider-man-2018"

data.numberinteger or nullrequired

Example: 5

data.start_yearinteger or nullrequired

Example: 2018

data.end_yearinteger or nullrequired

Example: 2022

data.cover_urlstring or nullrequired

Example: "https://...-cover_lg.webp"

data.imagesobject or nullrequired
data.images.cover_smstring

Example: "https://...-cover_sm.webp"

data.images.cover_mdstring

Example: "https://...-cover_md.webp"

data.images.cover_lgstring

Example: "https://...-cover_lg.webp"

data.publisher_descriptionstring or nullrequired

Example: "The publisher's own words."

data.mediumstring or nullrequired

Example: "comic"

data.adapted_fromstring or nullrequired

Example: "anime"

data.publication_typestring or nullrequired

Example: "regular_series"

data.formatstring or nullrequired

Example: "Standard"

data.statusstring or nullrequired

Example: "Ongoing"

data.original_languagestring or nullrequired

Example: "en"

data.cached_issues_countinteger or nullrequired

Example: 93

data.cached_creators_countintegerrequired

Example: 40

data.cached_characters_countintegerrequired

Example: 120

data.cached_teams_countintegerrequired

Example: 12

data.lists_countintegerrequired

Example: 8

data.average_ratingstring or nullrequired

Example: "4.25"

data.total_reviewsinteger or nullrequired

Example: 3

data.issues_average_ratingstring or nullrequired

Example: "4.10"

data.issues_rated_countinteger or nullrequired

Example: 20

data.imprint_idinteger or nullrequired

Example: 7

data.content_rating_labelstring or nullrequired

Example: "Teen"

data.min_ageinteger or nullrequired

Example: 13

data.languagestring or nullrequired

Example: "en"

data.aliasesarray of strings or nullrequired
data.is_nsfwboolean or nullrequired
data.titleobject or nullrequired
data.title.idintegerrequired

Example: 1

data.title.namestring or nullrequired

Example: "The Amazing Spider-Man"

data.title.slugstring or nullrequired

Example: "the-amazing-spider-man"

data.publisherobject
data.publisher.idintegerrequired

Example: 1

data.publisher.namestring or nullrequired

Example: "Marvel"

data.publisher.slugstring or nullrequired

Example: "marvel"

data.publishersarray of objectsrequired
data.publishers[].idintegerrequired

Example: 1

data.publishers[].namestring or nullrequired

Example: "Marvel"

data.publishers[].slugstring or nullrequired

Example: "marvel"

data.imprintobject or nullrequired
data.imprint.idintegerrequired

Example: 7

data.imprint.namestring or nullrequired

Example: "Marvel Knights"

data.effective_imprintobject or nullrequired
data.effective_imprint.idintegerrequired

Example: 7

data.effective_imprint.namestring or nullrequired

Example: "Marvel Knights"

data.genresarray of objectsrequired
data.genres[].idintegerrequired

Example: 1

data.genres[].namestring or nullrequired

Example: "Superhero"

data.genres[].slugstring or nullrequired

Example: "superhero"

data.awardsarray of objectsrequired
data.awards[].idintegerrequired

Example: 3

data.awards[].namestring or nullrequired

Example: "Eisner Award"

data.awards[].categorystring or nullrequired

Example: "Best Continuing Series"

data.awards[].yearinteger or nullrequired

Example: 2019

data.foreign_edition_ofarray of objectsrequired
data.foreign_edition_of[].idintegerrequired

Example: 1

data.foreign_edition_of[].namestringrequired
data.foreign_edition_of[].slugstring or nullrequired

Example: "slug"

data.foreign_edition_of[].languagestring or nullrequired
data.foreign_editionsarray of objectsrequired
data.foreign_editions[].idintegerrequired

Example: 1

data.foreign_editions[].namestringrequired
data.foreign_editions[].slugstring or nullrequired

Example: "slug"

data.foreign_editions[].languagestring or nullrequired
data.availabilitiesarray of objectsrequired
data.availabilities[].idinteger or nullrequired

Example: 10

data.availabilities[].providerstringrequired

Example: "midtown_comics"

data.availabilities[].provider_labelstringrequired

Example: "Midtown Comics"

data.availabilities[].kindstringrequired

buy, read or watch.

Example: "buy"

data.availabilities[].store_namestring or nullrequired

Example: "Midtown Comics"

data.availabilities[].custom_namestring or nullrequired

Example: "Signed edition"

data.availabilities[].display_namestringrequired

Example: "Midtown Comics"

data.availabilities[].store_logostring or nullrequired

Example: "/images/brands/midtown.png"

data.availabilities[].urlstringrequired

Example: "https://www.midtowncomics.com/..."

data.availabilities[].external_idstring or nullrequired

Example: "12345"

data.availabilities[].pricenumber or nullrequired

Example: 19.99

data.availabilities[].formatted_pricestring or nullrequired

Example: "$19.99"

data.availabilities[].currencystring or nullrequired

Example: "USD"

data.availabilities[].is_digitalboolean or nullrequired
data.availabilities[].is_affiliatebooleanrequired
data.availabilities[].is_synthesizedbooleanrequired
data.availabilities[].verified_atstring or nullrequired

Example: "2026-01-01T00:00:00+00:00"

data.creatorsarray of objectsrequired
data.creators[].idintegerrequired

Example: 81

data.creators[].namestring or nullrequired

Example: "Nick Spencer"

data.creators[].slugstring or nullrequired

Example: "nick-spencer"

data.creators[].photo_urlstring or nullrequired

Example: "https://...-profile_md.webp"

data.creators[].imagesobject or nullrequired
data.creators[].images.tile_smstring

Example: "https://...-tile_sm.webp"

data.creators[].images.profile_mdstring

Example: "https://...-profile_md.webp"

data.creators[].images.full_lgstring

Example: "https://...-full_lg.webp"

data.creators[].rolestringrequired

Example: "Writer"

data.creators[].is_uncreditedbooleanrequired
data.charactersarray of objects
data.characters[].idintegerrequired

Example: 1

data.characters[].namestring or nullrequired

Example: "Spider-Man"

data.characters[].slugstring or nullrequired

Example: "spider-man"

data.characters[].real_namestring or nullrequired

Example: "Peter Parker"

data.characters[].aliasesarrayrequired
data.characters[].image_urlstring or nullrequired

Example: "https://...-full_lg.webp"

data.characters[].appearances_countintegerrequired

Example: 400

data.teamsarray of objects
data.teams[].idintegerrequired

Example: 1

data.teams[].namestring or nullrequired

Example: "The Avengers"

data.teams[].slugstring or nullrequired

Example: "avengers"

data.teams[].image_urlstring or nullrequired

Example: "https://...-tile_sm.webp"

data.teams[].members_countintegerrequired

Example: 12

data.foc_issuesarray of objectsrequired
data.foc_issues[].idintegerrequired

Example: 5432

data.foc_issues[].slugstring or nullrequired

Example: "amazing-spider-man-1"

data.foc_issues[].series_idinteger or nullrequired

Example: 123

data.foc_issues[].issue_numberstring or nullrequired

Example: "1"

data.foc_issues[].namestring or nullrequired

Example: "The Chameleon Strikes!"

data.foc_issues[].cover_datestring or nullrequired

Example: "2018-09-01"

data.foc_issues[].release_datestring or nullrequired

Example: "2018-07-11"

data.foc_issues[].foc_datestring or nullrequired

Example: "2018-06-18"

data.foc_issues[].is_unreleasedbooleanrequired
data.foc_issues[].cover_urlstring or nullrequired

Example: "https://...-cover_lg.webp"

data.foc_issues[].imagesobject or nullrequired
data.foc_issues[].images.thumbstring

Example: "https://...-thumb.webp"

data.foc_issues[].images.cover_smstring

Example: "https://...-cover_sm.webp"

data.foc_issues[].images.cover_mdstring

Example: "https://...-cover_md.webp"

data.foc_issues[].images.cover_lgstring

Example: "https://...-cover_lg.webp"

data.foc_issues[].is_reprintbooleanrequired
data.foc_issues[].content_rating_labelstring or nullrequired

Example: "Teen"

data.foc_issues[].min_ageinteger or nullrequired

Example: 13

data.foc_issues[].is_nsfwbooleanrequired
data.foc_issues[].average_ratingnumber or nullrequired

Example: 4.5

data.foc_issues[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data.upcoming_issuesarray of objectsrequired
data.upcoming_issues[].idintegerrequired

Example: 5432

data.upcoming_issues[].slugstring or nullrequired

Example: "amazing-spider-man-1"

data.upcoming_issues[].series_idinteger or nullrequired

Example: 123

data.upcoming_issues[].issue_numberstring or nullrequired

Example: "1"

data.upcoming_issues[].namestring or nullrequired

Example: "The Chameleon Strikes!"

data.upcoming_issues[].cover_datestring or nullrequired

Example: "2018-09-01"

data.upcoming_issues[].release_datestring or nullrequired

Example: "2018-07-11"

data.upcoming_issues[].foc_datestring or nullrequired

Example: "2018-06-18"

data.upcoming_issues[].is_unreleasedbooleanrequired
data.upcoming_issues[].cover_urlstring or nullrequired

Example: "https://...-cover_lg.webp"

data.upcoming_issues[].imagesobject or nullrequired
data.upcoming_issues[].images.thumbstring

Example: "https://...-thumb.webp"

data.upcoming_issues[].images.cover_smstring

Example: "https://...-cover_sm.webp"

data.upcoming_issues[].images.cover_mdstring

Example: "https://...-cover_md.webp"

data.upcoming_issues[].images.cover_lgstring

Example: "https://...-cover_lg.webp"

data.upcoming_issues[].is_reprintbooleanrequired
data.upcoming_issues[].content_rating_labelstring or nullrequired

Example: "Teen"

data.upcoming_issues[].min_ageinteger or nullrequired

Example: 13

data.upcoming_issues[].is_nsfwbooleanrequired
data.upcoming_issues[].average_ratingnumber or nullrequired

Example: 4.5

data.upcoming_issues[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data.name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data.aliases_i18nobjectrequired

Alternative names per language.

data.original_localestring or nullrequired

The language the series is from, a BCP 47 tag.

Example: "en"

401

Unauthenticated. The bearer token is missing, invalid, or revoked.

messagestringrequired

Example: "Unauthenticated."

Example body, from the documented examples

{
  "message": "Unauthenticated."
}
403

The token lacks the read:public ability.

messagestringrequired

Example: "Insufficient token scope."

Example body, from the documented examples

{
  "message": "Insufficient token scope."
}
404

Not Found

messagestringrequired

Example: "No query results for model [App\\Models\\Series] 123"

Example body, from the documented examples

{
  "message": "No query results for model [App\\Models\\Series] 123"
}
429

Rate limit exceeded. This endpoint allows 300/hour (free) or 1,000/hour (PRO). Wait for the number of seconds in the Retry-After header before retrying.

Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

messagestringrequired

Example: "Too Many Attempts."

Example body, from the documented examples

{
  "message": "Too Many Attempts."
}

Example request

curl --request GET \
  'https://versedb.com/api/v1/series/123' \
  --header 'Authorization: Bearer {YOUR_AUTH_KEY}' \
  --header 'Accept: application/json'

Example response 200

{
  "data": {
    "id": 123,
    "title_id": 45,
    "name": "The Amazing Spider-Man",
    "original_name": "アメイジング・スパイダーマン",
    "display_name": "The Amazing Spider-Man (2018)",
    "slug": "the-amazing-spider-man-2018",
    "number": 5,
    "start_year": 2018,
    "end_year": 2022,
    "cover_url": "https://...-cover_lg.webp",
    "images": {
      "cover_sm": "https://...-cover_sm.webp",
      "cover_md": "https://...-cover_md.webp",
      "cover_lg": "https://...-cover_lg.webp"
    },
    "publisher_description": "The publisher's own words.",
    "medium": "comic",
    "adapted_from": "anime",
    "publication_type": "regular_series",
    "format": "Standard",
    "status": "Ongoing",
    "original_language": "en",
    "cached_issues_count": 93,
    "cached_creators_count": 40,
    "cached_characters_count": 120,
    "cached_teams_count": 12,
    "lists_count": 8,
    "average_rating": "4.25",
    "total_reviews": 3,
    "issues_average_rating": "4.10",
    "issues_rated_count": 20,
    "imprint_id": 7,
    "content_rating_label": "Teen",
    "min_age": 13,
    "language": "en",
    "title": {
      "id": 1,
      "name": "The Amazing Spider-Man",
      "slug": "the-amazing-spider-man"
    },
    "publisher": {
      "id": 1,
      "name": "Marvel",
      "slug": "marvel"
    },
    "publishers": [
      {
        "id": 1,
        "name": "Marvel",
        "slug": "marvel"
      }
    ],
    "imprint": {
      "id": 7,
      "name": "Marvel Knights"
    },
    "effective_imprint": {
      "id": 7,
      "name": "Marvel Knights"
    },
    "genres": [
      {
        "id": 1,
        "name": "Superhero",
        "slug": "superhero"
      }
    ],
    "awards": [
      {
        "id": 3,
        "name": "Eisner Award",
        "category": "Best Continuing Series",
        "year": 2019
      }
    ],
    "foreign_edition_of": [
      {
        "id": 1,
        "slug": "slug"
      }
    ],
    "foreign_editions": [
      {
        "id": 1,
        "slug": "slug"
      }
    ],
    "availabilities": [
      {
        "id": 10,
        "provider": "midtown_comics",
        "provider_label": "Midtown Comics",
        "kind": "buy",
        "store_name": "Midtown Comics",
        "custom_name": "Signed edition",
        "display_name": "Midtown Comics",
        "store_logo": "/images/brands/midtown.png",
        "url": "https://www.midtowncomics.com/...",
        "external_id": "12345",
        "price": 19.99,
        "formatted_price": "$19.99",
        "currency": "USD",
        "verified_at": "2026-01-01T00:00:00+00:00"
      }
    ],
    "creators": [
      {
        "id": 81,
        "name": "Nick Spencer",
        "slug": "nick-spencer",
        "photo_url": "https://...-profile_md.webp",
        "images": {
          "tile_sm": "https://...-tile_sm.webp",
          "profile_md": "https://...-profile_md.webp",
          "full_lg": "https://...-full_lg.webp"
        },
        "role": "Writer"
      }
    ],
    "characters": [
      {
        "id": 1,
        "name": "Spider-Man",
        "slug": "spider-man",
        "real_name": "Peter Parker",
        "image_url": "https://...-full_lg.webp",
        "appearances_count": 400
      }
    ],
    "teams": [
      {
        "id": 1,
        "name": "The Avengers",
        "slug": "avengers",
        "image_url": "https://...-tile_sm.webp",
        "members_count": 12
      }
    ],
    "foc_issues": [
      {
        "id": 5432,
        "slug": "amazing-spider-man-1",
        "series_id": 123,
        "issue_number": "1",
        "name": "The Chameleon Strikes!",
        "cover_date": "2018-09-01",
        "release_date": "2018-07-11",
        "foc_date": "2018-06-18",
        "cover_url": "https://...-cover_lg.webp",
        "images": {
          "thumb": "https://...-thumb.webp",
          "cover_sm": "https://...-cover_sm.webp",
          "cover_md": "https://...-cover_md.webp",
          "cover_lg": "https://...-cover_lg.webp"
        },
        "content_rating_label": "Teen",
        "min_age": 13,
        "average_rating": 4.5,
        "name_i18n": {
          "ja": {
            "value": "講談社",
            "reading": "こうだんしゃ",
            "source": "madb"
          }
        }
      }
    ],
    "upcoming_issues": [
      {
        "id": 5432,
        "slug": "amazing-spider-man-1",
        "series_id": 123,
        "issue_number": "1",
        "name": "The Chameleon Strikes!",
        "cover_date": "2018-09-01",
        "release_date": "2018-07-11",
        "foc_date": "2018-06-18",
        "cover_url": "https://...-cover_lg.webp",
        "images": {
          "thumb": "https://...-thumb.webp",
          "cover_sm": "https://...-cover_sm.webp",
          "cover_md": "https://...-cover_md.webp",
          "cover_lg": "https://...-cover_lg.webp"
        },
        "content_rating_label": "Teen",
        "min_age": 13,
        "average_rating": 4.5,
        "name_i18n": {
          "ja": {
            "value": "講談社",
            "reading": "こうだんしゃ",
            "source": "madb"
          }
        }
      }
    ],
    "name_i18n": {
      "ja": {
        "value": "講談社",
        "reading": "こうだんしゃ",
        "source": "madb"
      }
    },
    "aliases_i18n": {
      "en": [
        "Kodansha Comics"
      ]
    },
    "original_locale": "en"
  }
}

Get series creators.

GET/api/v1/series/{id}/creators
Requires a token

Returns paginated creators associated with a specific series.

Path parameters

idintegerrequired

The series ID.

Example: 123

Query parameters

pageinteger

Page number; meta.last_page says where the list ends.

Example: 1

languagesstring

Keep only these languages in the _i18n maps (comma-separated BCP 47 tags). No other field changes.

Example: "ja,ko"

Responses

200

Success

Headers: X-RateLimit-Limit, X-RateLimit-Remaining

current_pageintegerrequired

Example: 1

dataarray of objectsrequired
data[].idintegerrequired

Example: 789

data[].namestringrequired

Example: "Nick Spencer"

data[].slugstringrequired

Example: "nick-spencer"

data[].role_idinteger or nullrequired

Example: 1

data[].profile_photo_pathstring or nullrequired

Example: "uploads/creators/2024/01/nick-spencer.jpg"

data[].biographystring or nullrequired

Example: "An American comic book writer."

data[].genderstring or nullrequired

Example: "male"

data[].birthstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].deathstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].birth_placestring or nullrequired

Example: "Cincinnati, Ohio"

data[].countrystring or nullrequired

Example: "US"

data[].linksobject or nullrequired
data[].created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].deleted_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].aliasesarray of strings or nullrequired
data[].cached_issues_countintegerrequired

Example: 250

data[].cached_series_countintegerrequired

Example: 30

data[].cached_titles_countintegerrequired

Example: 20

data[].last_edited_byinteger or nullrequired

Example: 12

data[].last_edited_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].public_lists_countintegerrequired

Example: 4

data[].original_localestring or nullrequired

Example: "en"

data[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data[].aliases_i18nobjectrequired

Alternative names per language.

data[].roleobject or nullrequired
data[].role.idintegerrequired

Example: 1

data[].role.namestringrequired

Example: "Writer"

data[].role.descriptionstring or nullrequired

Example: "Writes the script."

data[].role.created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].role.updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].pivotobjectrequired
data[].pivot.series_idintegerrequired

Example: 123

data[].pivot.creator_idintegerrequired

Example: 789

data[].pivot.creator_role_idinteger or nullrequired

Example: 1

data[].pivot.is_uncreditedbooleanrequired
data[].pivot.sort_orderinteger or nullrequired

Example: 0

data[].pivot.created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].pivot.updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

first_page_urlstringrequired
frominteger or nullrequired

Example: 1

last_pageintegerrequired

Example: 1

last_page_urlstringrequired
linksarray of objectsrequired
links[].urlstring or nullrequired
links[].labelstringrequired
links[].pageinteger or null
links[].activebooleanrequired
next_page_urlstring or nullrequired
pathstringrequired
per_pageintegerrequired

Example: 50

prev_page_urlstring or nullrequired
tointeger or nullrequired

Example: 15

totalintegerrequired

Example: 15

401

Unauthenticated. The bearer token is missing, invalid, or revoked.

messagestringrequired

Example: "Unauthenticated."

Example body, from the documented examples

{
  "message": "Unauthenticated."
}
403

The token lacks the read:public ability.

messagestringrequired

Example: "Insufficient token scope."

Example body, from the documented examples

{
  "message": "Insufficient token scope."
}
429

Rate limit exceeded. This endpoint allows 300/hour (free) or 1,000/hour (PRO). Wait for the number of seconds in the Retry-After header before retrying.

Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

messagestringrequired

Example: "Too Many Attempts."

Example body, from the documented examples

{
  "message": "Too Many Attempts."
}

Example request

curl --request GET \
  'https://versedb.com/api/v1/series/123/creators' \
  --header 'Authorization: Bearer {YOUR_AUTH_KEY}' \
  --header 'Accept: application/json'

Example response 200

{
  "current_page": 1,
  "data": [
    {
      "id": 789,
      "name": "Nick Spencer",
      "slug": "nick-spencer",
      "role_id": 1,
      "profile_photo_path": "uploads/creators/2024/01/nick-spencer.jpg",
      "biography": "An American comic book writer.",
      "gender": "male",
      "birth": "2024-01-15T10:30:00.000000Z",
      "death": "2024-01-15T10:30:00.000000Z",
      "birth_place": "Cincinnati, Ohio",
      "country": "US",
      "created_at": "2024-01-15T10:30:00.000000Z",
      "updated_at": "2024-01-15T10:30:00.000000Z",
      "deleted_at": "2024-01-15T10:30:00.000000Z",
      "cached_issues_count": 250,
      "cached_series_count": 30,
      "cached_titles_count": 20,
      "last_edited_by": 12,
      "last_edited_at": "2024-01-15T10:30:00.000000Z",
      "public_lists_count": 4,
      "original_locale": "en",
      "name_i18n": {
        "ja": {
          "value": "講談社",
          "reading": "こうだんしゃ",
          "source": "madb"
        }
      },
      "aliases_i18n": {
        "en": [
          "Kodansha Comics"
        ]
      },
      "role": {
        "id": 1,
        "name": "Writer",
        "description": "Writes the script.",
        "created_at": "2024-01-15T10:30:00.000000Z",
        "updated_at": "2024-01-15T10:30:00.000000Z"
      },
      "pivot": {
        "series_id": 123,
        "creator_id": 789,
        "creator_role_id": 1,
        "sort_order": 0,
        "created_at": "2024-01-15T10:30:00.000000Z",
        "updated_at": "2024-01-15T10:30:00.000000Z"
      }
    }
  ],
  "from": 1,
  "last_page": 1,
  "per_page": 50,
  "to": 15,
  "total": 15
}

Get series characters.

GET/api/v1/series/{id}/characters
Requires a token

Returns paginated characters appearing in a specific series.

Path parameters

idintegerrequired

The series ID.

Example: 123

Query parameters

pageinteger

Page number; meta.last_page says where the list ends.

Example: 1

languagesstring

Keep only these languages in the _i18n maps (comma-separated BCP 47 tags). No other field changes.

Example: "ja,ko"

Responses

200

Success

Headers: X-RateLimit-Limit, X-RateLimit-Remaining

current_pageintegerrequired

Example: 1

dataarray of objectsrequired
data[].idintegerrequired

Example: 456

data[].namestringrequired

Example: "Spider-Man"

data[].slugstringrequired

Example: "spider-man"

data[].real_namestring or nullrequired

Example: "Peter Parker"

data[].descriptionstring or nullrequired

Example: "Bitten by a radioactive spider."

data[].alter_egostring or number or boolean or array or object or nullrequired

Other identities, as stored: a list of strings in production.

Example: ["Spidey"]

data[].birthdaystring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].birth_placestring or nullrequired

Example: "Queens, New York"

data[].occupationstring or nullrequired

Example: "Photographer"

data[].heightstring or nullrequired

Example: "5'10\""

data[].weightstring or nullrequired

Example: "167 lbs"

data[].citizenshipstring or nullrequired

Example: "American"

data[].educationstring or nullrequired

Example: "College"

data[].aliasesarray of strings or nullrequired
data[].profile_photo_pathstring or nullrequired

Example: "uploads/characters/2024/01/spider-man.jpg"

data[].genderstring or nullrequired

Example: "male"

data[].created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].deleted_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].last_edited_byinteger or nullrequired

Example: 12

data[].last_edited_atstring or nullrequired

Example: "2024-01-15 10:30:00"

data[].public_lists_countintegerrequired

Example: 4

data[].debut_datestring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].debut_issue_idinteger or nullrequired

Example: 5432

data[].debut_editorialbooleanrequired
data[].original_localestring or nullrequired

Example: "en"

data[].name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data[].aliases_i18nobjectrequired

Alternative names per language.

data[].real_name_i18nobjectrequired

One name per language, keyed by BCP 47 tag.

data[].racestring or nullrequired

Example: "Human"

data[].tagsarray of objectsrequired
data[].tags[].idintegerrequired

Example: 12

data[].tags[].nameobjectrequired
data[].tags[].slugobjectrequired
data[].tags[].typestring or nullrequired

Example: "ability"

data[].tags[].order_columninteger or nullrequired

Example: 1

data[].tags[].created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].tags[].updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].tags[].pivotobjectrequired
data[].tags[].pivot.taggable_typestringrequired
data[].tags[].pivot.taggable_idintegerrequired

Example: 456

data[].tags[].pivot.tag_idintegerrequired

Example: 12

data[].pivotobjectrequired
data[].pivot.series_idintegerrequired

Example: 123

data[].pivot.character_idintegerrequired

Example: 456

data[].pivot.created_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

data[].pivot.updated_atstring or nullrequired

Example: "2024-01-15T10:30:00.000000Z"

first_page_urlstringrequired
frominteger or nullrequired

Example: 1

last_pageintegerrequired

Example: 1

last_page_urlstringrequired
linksarray of objectsrequired
links[].urlstring or nullrequired
links[].labelstringrequired
links[].pageinteger or null
links[].activebooleanrequired
next_page_urlstring or nullrequired
pathstringrequired
per_pageintegerrequired

Example: 50

prev_page_urlstring or nullrequired
tointeger or nullrequired

Example: 15

totalintegerrequired

Example: 15

401

Unauthenticated. The bearer token is missing, invalid, or revoked.

messagestringrequired

Example: "Unauthenticated."

Example body, from the documented examples

{
  "message": "Unauthenticated."
}
403

The token lacks the read:public ability.

messagestringrequired

Example: "Insufficient token scope."

Example body, from the documented examples

{
  "message": "Insufficient token scope."
}
429

Rate limit exceeded. This endpoint allows 300/hour (free) or 1,000/hour (PRO). Wait for the number of seconds in the Retry-After header before retrying.

Headers: Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining

messagestringrequired

Example: "Too Many Attempts."

Example body, from the documented examples

{
  "message": "Too Many Attempts."
}

Example request

curl --request GET \
  'https://versedb.com/api/v1/series/123/characters' \
  --header 'Authorization: Bearer {YOUR_AUTH_KEY}' \
  --header 'Accept: application/json'

Example response 200

{
  "current_page": 1,
  "data": [
    {
      "id": 456,
      "name": "Spider-Man",
      "slug": "spider-man",
      "real_name": "Peter Parker",
      "description": "Bitten by a radioactive spider.",
      "alter_ego": [
        "Spidey"
      ],
      "birthday": "2024-01-15T10:30:00.000000Z",
      "birth_place": "Queens, New York",
      "occupation": "Photographer",
      "height": "5'10\"",
      "weight": "167 lbs",
      "citizenship": "American",
      "education": "College",
      "profile_photo_path": "uploads/characters/2024/01/spider-man.jpg",
      "gender": "male",
      "created_at": "2024-01-15T10:30:00.000000Z",
      "updated_at": "2024-01-15T10:30:00.000000Z",
      "deleted_at": "2024-01-15T10:30:00.000000Z",
      "last_edited_by": 12,
      "last_edited_at": "2024-01-15 10:30:00",
      "public_lists_count": 4,
      "debut_date": "2024-01-15T10:30:00.000000Z",
      "debut_issue_id": 5432,
      "original_locale": "en",
      "name_i18n": {
        "ja": {
          "value": "講談社",
          "reading": "こうだんしゃ",
          "source": "madb"
        }
      },
      "aliases_i18n": {
        "en": [
          "Kodansha Comics"
        ]
      },
      "real_name_i18n": {
        "ja": {
          "value": "講談社",
          "reading": "こうだんしゃ",
          "source": "madb"
        }
      },
      "race": "Human",
      "tags": [
        {
          "id": 12,
          "name": {
            "en": "Wall-crawling"
          },
          "slug": {
            "en": "wall-crawling"
          },
          "type": "ability",
          "order_column": 1,
          "created_at": "2024-01-15T10:30:00.000000Z",
          "updated_at": "2024-01-15T10:30:00.000000Z",
          "pivot": {
            "taggable_id": 456,
            "tag_id": 12
          }
        }
      ],
      "pivot": {
        "series_id": 123,
        "character_id": 456,
        "created_at": "2024-01-15T10:30:00.000000Z",
        "updated_at": "2024-01-15T10:30:00.000000Z"
      }
    }
  ],
  "from": 1,
  "last_page": 1,
  "per_page": 50,
  "to": 15,
  "total": 15
}

Response headers

X-RateLimit-Limitinteger

Request quota per hour for your tier.

X-RateLimit-Remaininginteger

Requests remaining in the current window.

Retry-Afterinteger

Seconds to wait before retrying.