onepiece.gg APIonepiece.gg ↗
Access One Piece TCG deck lists, card details, and archetype statistics from onepiece.gg via 2 structured API endpoints.
curl -X GET 'https://api.parse.bot/scraper/c9ab612d-c41d-458f-ba72-b63c9c1ba898/get_decks?page=1&limit=3&format=OP13' \ -H 'X-API-Key: $PARSE_API_KEY'
Get a paginated list of decks with resolved card names and statistics. Results are sorted by date descending.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Number of decks per page. |
| format | string | Filter by game format (e.g. OP13, OP12). |
| search | string | Search keyword to filter decks by name or content. |
{
"type": "object",
"fields": {
"page": "current page number",
"decks": "array of deck objects with card lists, colors, archetype info, and metadata",
"limit": "number of decks requested per page",
"total": "total number of matching decks (may be null)",
"has_more": "boolean indicating if more pages are available"
},
"sample": {
"data": {
"page": 1,
"decks": [
{
"date": "1778778494",
"slug": "uta-deck-f2eu2",
"cards": [
{
"card_id": "EB01-014",
"quantity": 4,
"card_name": "Sanji"
},
{
"card_id": "OP13-027",
"quantity": 4,
"card_name": "Sanji"
}
],
"price": 74.15,
"views": 0,
"author": "What'sYourName",
"colors": [
"green"
],
"format": "OP13",
"archetype": {
"name": null,
"wins": null,
"points": null,
"placings": null
},
"deck_name": "Uta Deck",
"is_tournament": false
}
],
"limit": 3,
"total": null,
"has_more": true
},
"status": "success"
}
}About the onepiece.gg API
The onepiece.gg API provides access to One Piece Trading Card Game deck data across 2 endpoints, returning card lists, archetype win/placing statistics, deck pricing, and format metadata. The get_decks endpoint lets you paginate and search the full deck catalog filtered by game format, while get_deck_detail returns a complete breakdown of any individual deck including its card quantities, author, view count, and tournament context.
Deck Catalog via get_decks
The get_decks endpoint returns a paginated list of decks sorted by date descending. Each deck object in the decks array includes card lists with resolved names, color and archetype information, and metadata fields like format and slug. You can filter results using the format parameter (e.g. OP13, OP12) to scope results to a specific card set release, or use the search parameter to find decks by name or content. Pagination is controlled by page and limit, and the response includes a has_more boolean so you can walk through all results programmatically. Note that total may be null depending on the query.
Individual Deck Detail via get_deck_detail
Passing a deck's slug (obtained from get_decks results) to get_deck_detail returns the full card list with card_id, card_name, and quantity for every card in the deck. Additional fields include deck_name, description (which may contain tournament placement notes), format, author, views, date, and an estimated price in USD. The archetype object exposes aggregate competitive data: name, wins, points, and placings, though any of these may be null for non-competitive or community decks.
Coverage and Format Filtering
Decks span multiple One Piece TCG formats identifiable by set codes like OP12 or OP13. Filtering by format in get_decks is the primary way to isolate results from a specific meta period. Because total can be null, clients should rely on has_more to detect end-of-results rather than calculating page count from total records.
- Track which archetypes are placing in tournaments by reading
archetype.winsandarchetype.placingsfields - Compare card choices across decks in the same format using
get_deckswith theformatfilter and card list data - Monitor deck price trends by collecting
pricefields fromget_deck_detailover time - Build a deck search tool using the
searchparameter to surface decks by card name or strategy keyword - Identify the most-viewed competitive builds by sorting on
viewsfromget_deck_detailresponses - Aggregate card frequency across a format by iterating paginated
get_decksresults and counting card quantities
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does onepiece.gg have an official developer API?+
What does the archetype object in get_deck_detail actually contain?+
archetype object has four fields: name (the archetype label), wins, points, and placings. These reflect aggregate competitive performance associated with the deck's archetype. All four values may be null for casual or community-submitted decks that lack tournament data.Can I filter decks by color, card ID, or leader card?+
get_decks endpoint supports filtering by format and search keyword only. Color, specific card ID, and leader card filtering are not current parameters. You can fork this API on Parse and revise it to add those filter options.How should I handle pagination when total is null?+
total field in get_decks responses may be null, so you cannot always calculate the total page count upfront. Use the has_more boolean to determine whether additional pages exist and increment page until has_more returns false.Does the API return individual card rulings or card text?+
cards array in get_deck_detail returns card_id, card_name, and quantity per card — deck composition data only. You can fork this API on Parse and revise it to add an endpoint that retrieves full card text and rulings if onepiece.gg exposes that data.