Collection API

v1 · REST · JSON

Access your TCG collection data programmatically. Build portfolio sites, Discord bots, Google Sheets integrations, or custom dashboards — your cards, your data, your way.

Base URL

All endpoints return JSON. CORS is enabled for all origins.

Authentication

All requests require an API key passed via the X-API-Key header.

Requestbash

Getting an API Key

1. Go to Settings → API Keys in your dashboard

2. Click New Key and give it a name

3. Copy the key (shown only once)

4. Optionally scope it to specific projects

Both by_ and legacy cv_ prefixes are accepted.

GET /collection

Returns cards from your collection across all projects (or a specific one).

Query Parameters
project
uuid

Filter to a single project. If omitted, returns cards from all accessible projects.

e.g. ?project=550e8400-e29b-...
set
string

Filter by set ID.

e.g. ?set=sv3pt5
rarity
string

Filter by rarity (case-insensitive).

e.g. ?rarity=Secret%20Rare
name
string

Search by card name (partial match).

e.g. ?name=Charizard
sort
string

Sort field. One of: added_at (default), name, market_price, rarity, set_name.

e.g. ?sort=market_price
order
string

Sort direction: desc (default) or asc.

e.g. ?order=asc
limit
integer

Results per page. Min 1, max 500, default 100.

e.g. ?limit=50
offset
integer

Pagination offset. Default 0.

e.g. ?offset=100
format
string

Set to "minimal" for a slimmer response (fewer fields per card).

e.g. ?format=minimal

Response

200 OKjson

Minimal Format

With ?format=minimal, each card returns only core fields:

Minimal card objectjson

Response Headers

X-RateLimit-Limit
integer

Maximum requests per hour.

X-RateLimit-Remaining
integer

Requests remaining in current window.

X-RateLimit-Reset
integer

Seconds until the rate limit resets.

Rate Limits & Security

·
100 requests per hourper API key
·
Keys are hashed before storagewe never see your full key
·
Keys can be scoped to projectsleast-privilege access
·
Keys can be revoked instantlyfrom your Settings page
·
Up to 5 keys per accountfor different integrations

Error Responses

CodeMeaning
401Missing or invalid API key
403API key does not have access to the requested project
404Project not found
429Rate limit exceeded (Retry-After header included)
500Server error
503Service temporarily unavailable
Error response formatjson

Code Examples

curlbash
JavaScript (fetch)javascript
Python (requests)python

Pagination

Use limit and offset to paginate. The has_more field tells you if more pages exist.

Paginate through all cardsjavascript

Roadmap

This is v1. Planned additions:

WebhooksGet notified when cards are added or goals completed
Write accessAdd cards to your collection via API
Stats endpointAggregated data — total value, completion rates
Wishlist endpointAccess your want-list programmatically

Support

Questions or issues? Reach out at mail@c-huck.com.

The Collection API is available to all Byndr users for free. No paid tier required.