palworldtcg.gg

Developers

Palworld TCG public API.

Read-only JSON endpoints backed by our card database and the community deck list. CORS is on for every route, so browser clients, Discord bots, streamer overlays, and CLI tools can hit them directly. No auth, no key, no signup. Please cache responses if you're making a public tool.

Base URL

https://palworldtcg.gg/api/v1

Every endpoint below is relative to this URL. All responses are JSON with a stable envelope: { data, meta } for lists, { data } for single items, { error, message } on failures.

Rate limits and caching

There is no per-key rate limit today. Please be a good citizen: cache responses locally, use ETag/If-None-Match, and don't hammer the endpoints in a tight loop. Every route ships aggressiveCache-Control headers (5 minutes for cards, 1 hour for sets, 1 minute for decks) so Vercel's edge cache absorbs most traffic before it reaches our origin.

If we start seeing abuse, we'll flip on IP-based limits without notice. Build defensively.

GET/api/v1/cards

List cards with filters and pagination.

ParamDefaultNotes
page11-indexed page number.
per_page50Max 100.
q-Free-text: matches name, pal_name, card_number, effect_text.
set-Set code (e.g. TD01, BP01).
color-Comma list, any-of match: Red,Blue.
type-Comma list: Pal,Gear,Structure,Event,Soul.
cost_min-Integer.
cost_max-Integer.
keyword-Ability keyword (Quick, Assault).
lucky-true / false.
include_parallelsfalseInclude TSP/TSR/SEC/SR/SP alternate art.
statusrevealedPass "any" to include prototype/announced/etc.

Example

https://palworldtcg.gg/api/v1/cards?set=TD01&type=Pal&cost_min=1&cost_max=3
GET/api/v1/cards/{slug}

Single card. Includes usage_count (how many public decks reference it).

Example

https://palworldtcg.gg/api/v1/cards/td01-001-grizzbolt-rumbling-tank
GET/api/v1/sets

List every announced set, ordered by release date.

ParamDefaultNotes
page11-indexed page number.
per_page50Max 100.

Example

https://palworldtcg.gg/api/v1/sets
GET/api/v1/sets/{code}

Set metadata plus its full card list.

Example

https://palworldtcg.gg/api/v1/sets/TD01
GET/api/v1/decks

Community-shared decks. Only rows the author marked public.

ParamDefaultNotes
page11-indexed page number.
per_page25Max 100.
color-Comma list, any-of match: Red,Blue.
sortupdated"updated" or "new".

Example

https://palworldtcg.gg/api/v1/decks?color=Red,Blue&sort=new
GET/api/v1/decks/{share_id}

Single deck including its full payload (main + soul entries).

Example

https://palworldtcg.gg/api/v1/decks/a3f9e8d201

Field reference

Card fields, in the order they appear in list responses: slug, set_code, card_number, name, pal_name, card_type, subtype, color, cost, power, strike, rarity, effect_text, keywords, work_keywords, is_lucky, image_url, thumbnail_url, status. The single-card endpoint adds japanese_name, durability, effect_text_ja, flavor_text, attack_name, orientation, art_url_full, revealed_at, source_url, usage_count.

Machine-readable and agents

For scripts, bots, and AI agents, the same API is described in machine-readable form:

This page and the homepage also support Markdown content negotiation: send Accept: text/markdown to get a Markdown view instead of HTML.

Terms

The API surfaces the same data that powers the site itself. You're free to use it in personal projects, community tools, Discord bots, and open-source stuff. If you build something cool, tell us so we can link it. Please don't:

  • Re-serve a copy of our card database as your own competing site.
  • Scrape the API to train a model without asking us first.
  • Attribute card art to yourself. All card art belongs to Bushiroad / Pocketpair.

See our terms of use for the full editorial stance.