The VerseDB API is a RESTful interface for browsing comic data and managing your personal library — collection, pull list, lists, read status, follows. Anyone with a verified VerseDB account can generate a token and start using it.
Use it to build personal tools, Discord bots, mobile apps, reading trackers, analytics dashboards, or automate your own data management.
Basics#
- Base URL:
https://versedb.com/api - Auth: Bearer token (Laravel Sanctum). Every endpoint requires authentication.
- Response format: JSON
- Full reference: versedb.com/api/docs
Rate Limits#
| Tier | Read (GET) | Write (POST/PUT/DELETE) |
|---|---|---|
| Free | 300/hour | 150/hour |
| PRO | 1,000/hour | 500/hour |
What You Can Access#
The catalog is free. Any authenticated token can read list and detail endpoints for publishers, titles, series, issues, characters, creators, story arcs, teams, universes, comic shops, and podcasts. The same goes for relationship endpoints (series to issues, creators, characters; issues to variants, creators, characters; teams to characters, series, issues) and the two discovery endpoints, /api/discovery/foc and /api/discovery/upcoming-firsts.
What PRO changes is your rate limit, not your reach. Market data is not on the public API at all — it serves the VerseDB mobile apps only.
Your own library — managed through scoped tokens:
| Scope | Grants |
|---|---|
read:public |
Public catalog data (default) |
read:user |
Your own profile and account data |
write:follows |
Follow/unfollow titles, characters, podcasts |
write:pull-list |
Manage your pull list |
write:collection |
Add, update, and remove collection entries |
write:read-status |
Mark issues read or unread |
write:list |
Create and manage your lists |
write:wishlist |
Add and remove wishlist issues |
lookup:barcode |
Look up an issue by barcode |
Getting Started#
- Log in to VerseDB
- Go to My Apps
- Create a token with the scopes you need (principle of least privilege)
- Copy it immediately — it's only shown once
- Send it as
Authorization: Bearer YOUR_TOKENwith every request
See Authentication & API Tokens for examples and how to keep tokens safe.
Official SDKs#
Both SDKs are generated from the same OpenAPI spec as the API reference. They cover every endpoint and come with typed models.
| Language | Install | Links |
|---|---|---|
| TypeScript | npm install @versedbcom/sdk |
npm · GitHub |
| Python 3.11+ | pip install versedb |
PyPI · GitHub |
// TypeScript
import { VerseDB } from "@versedbcom/sdk";
const verseDB = new VerseDB({ token: "YOUR_TOKEN" });
const series = await verseDB.series.listSeries({ q: "batman", limit: 20 });
# Python
from versedb import AuthenticatedClient
from versedb.api.series import list_series
client = AuthenticatedClient(base_url="https://versedb.com", token="YOUR_TOKEN")
page = list_series.sync(client=client, q="batman", limit=20)
Every Python endpoint also has an asyncio version for async code. Each SDK's README covers the rest.