BYTETOOLS

Digimon TCG (digimoncard.io) API

Free Digimon Card Game API with no key: search cards by name, colour, level, type or set and get play costs, DP, effects and every set a card appeared in. Live example.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Digimon TCG (digimoncard.io) API?

The digimoncard.io public API is a free, key-free search API for the Digimon Card Game. It returns cards matching your filters with play and evolution costs, DP, colour, form, attribute, rarity, full effect text and the list of sets each card was printed in.

The endpoint moved and the documentation has not caught up. Every guide still shows `/api-public/search.php`, which now answers with a 301 to `/api-public/search`. Following redirects hides the problem in curl but breaks any client that treats a redirect on a GET as an error, and it silently drops POST semantics. Point straight at the extensionless path and the issue disappears.

Duplicates are the other thing to plan for. Our search for Agumon returned the same card id `ST1-03` more than once, because the API returns a row per printing grouping rather than a distinct card. Deduplicate on `id` before rendering, and rely on the `set_name` array — which lists all nine sets that particular Agumon appeared in — for the printing history instead. Null handling is inconsistent too: unused slots are sometimes `null` (`digi_type2`, `artist`) and sometimes an empty string (`xros_req`, `source_effect`), so test for both.

Quick facts

Base URL
https://digimoncard.io/api-public
Authentication
No key or account. The response carries `x-ratelimit-limit` and `x-ratelimit-remaining` headers so you can see your remaining allowance.
Rate limit
Headers reported a limit of 90 with 89 remaining after one call, so budget for roughly 90 requests per window per address.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Digimon TCG (digimoncard.io) API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Search the Digimon Card Game for cards named Agumon

GET https://digimoncard.io/api-public/search?n=Agumon

curl
curl 'https://digimoncard.io/api-public/search?n=Agumon'
JavaScript (fetch)
const res = await fetch("https://digimoncard.io/api-public/search?n=Agumon");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://digimoncard.io/api-public/search?n=Agumon", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
[
  {
    "name": "Agumon",
    "type": "Digimon",
    "id": "ST1-03",
    "level": 3,
    "play_cost": 3,
    "evolution_cost": 0,
    "evolution_color": "Red",
    "evolution_level": 2,
    "xros_req": "",
    "color": "Red",
    "color2": null,
    "digi_type": "Reptile",
    "digi_type2": null,
    "digi_type3": null,
    "digi_type4": null,
    "digi_type5": null,
    "form": "Rookie",
    "dp": 2000,
    "attribute": "Vaccine",
    "rarity": "u",
    "stage": "Rookie",
    "artist": null,
    "main_effect": "Inherited Effect [Your Turn] This Digimon gets +1000 DP.",
    "source_effect": "",
    "link_requirements": "",
    "link_dp": null,
    "alt_effect": "",
    "series": "Digimon Card Game",
    "pretty_url": "agumon-st1-03",
    "date_added": "2025-11-25 15:17:16",
    "tcgplayer_name": "Agumon",
    "tcgplayer_id": 229753,
    "set_name": [
      "Digimon Illustration Competition Promotion Pack 2022",
      "Evolution Cup 2021",
      "Regionals 2021",
      "Special Promotion Pack 2022 Ver.3.0",
      "ST-1: Starter Deck Gaia Red",
      "ST-11 Special Entry Pack",
      "ST-11: Starter Deck Special Entry Deck",
      "Trial Deck: ST-1",
      "Trial Deck: STC-1"
    ]
  },
  {
    "name": "Agumon",
    "type": "Digimon",
    "id": "ST1-03",
    "level": 3,
    "play_cost": 3,
    "evolution_cost": 0,
    "evolution_color": "Red",
    "evolution_level": 2,
    "xros_req": "",
    "color": "Red",
    "color2": null,
    "digi_type": "Reptile",
    "digi_type2": null,
    "digi_type3": null,
    "digi_type4": null,
    "digi_type5": null,
    "form": "Rookie",

Parameters

ParameterTypeRequiredDescription
nqueryOptionalCard name to search for. Matches as a substring, so `Agumon` also returns Greymon-line evolutions naming it. Agumon
colorqueryOptionalCard colour: Red, Blue, Yellow, Green, Black, Purple, White. Red
typequeryOptionalCard type — `Digimon`, `Digi-Egg`, `Tamer` or `Option`. Digimon
cardqueryOptionalExact card id, such as `ST1-03`, to fetch one printing. ST1-03
packqueryOptionalRestrict to a set or booster pack name. ST-1: Starter Deck Gaia Red

Response fields

(root)array
The response is a bare array of card objects with no wrapper — there is no `data` key to unwrap.
idstring
Printed card code such as `ST1-03`. Not unique across the response: the same id can appear several times, so dedupe on it.
play_cost / evolution_costinteger
Memory cost to play, and the cost to evolve onto this card. Zero is meaningful, not missing.
dpinteger
Digimon power. Null on Tamers, Options and Digi-Eggs, which have no DP.
digi_type … digi_type5string | null
Up to five type slots as separate numbered keys rather than an array. Unused slots are null.
main_effect / source_effect / alt_effectstring
Effect text blocks. Unused blocks are empty strings rather than null — check for both when deciding whether to render.
set_namearray of strings
Every set and promo pack this card was printed in. This is the reliable printing history, not the duplicated rows.
tcgplayer_idinteger
TCGplayer product id, letting you link out to pricing without a name search.

What you can build with the Digimon TCG (digimoncard.io) API

  • Build a Digimon Card Game deckbuilder with search and filters
  • Add card lookup to a Discord bot for a playgroup
  • Cross-reference a collection against every set a card appeared in
  • Link cards to TCGplayer listings using the returned product id
  • Generate colour or level breakdowns of a decklist

Common errors and how to fix them

301 on /api-public/search.php

The `.php` extension was dropped from the route.

Fix: Call `/api-public/search` directly. Clients that do not follow redirects on GET will otherwise see an empty body.

An empty array

No card matched the filters.

Fix: The `n` parameter is a substring match, not fuzzy — check spelling, and remember colour and type values are capitalised.

Repeated card ids in the results

Expected behaviour, not a bug.

Fix: Deduplicate on `id` client-side and use the `set_name` array for the printing list.

429

The per-window request allowance is exhausted.

Fix: Read `x-ratelimit-remaining` on each response and stop before it reaches zero.

Digimon TCG (digimoncard.io) API — frequently asked questions

Is there a free Digimon Card Game API?

Yes. digimoncard.io publishes an open search API with no key or account needed, covering the whole Digimon Card Game with costs, DP, effect text, rarity and set membership.

Why does the Digimon API return the same card twice?

Because it returns a row per printing grouping rather than one row per distinct card. Deduplicate on the `id` field, and read the `set_name` array on any one of the rows for the full list of sets that card appeared in.

Why does the documented search.php URL redirect?

The route dropped its `.php` extension and the old path now 301s to `/api-public/search`. Most documentation still shows the old form. Use the extensionless path to avoid a redirect on every call.

How do I filter Digimon cards by colour or level?

Pass `color` with a capitalised colour name, and combine it with `type`, `pack` or a level filter in the same query string. Filters are exact matches, unlike the `n` name parameter which is a substring search.

Tools that pair with this API

Digimon TCG (digimoncard.io) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.