# API reference

> Every endpoint, with its credit cost and minimum plan.

Source: https://pokemontcgapi.com/docs/api

No key yet? One call gets you one: `POST /v1/accounts/free` with an `Idempotency-Key` header and your email address returns a working key in the response. Keep the original Idempotency-Key and body for response replay for up to 24 hours, under the conditions in the quickstart. The trial is 800 credits over 30 days once the address is confirmed, no card; paid plans start at 29 € a month. See the [quickstart](https://pokemontcgapi.com/docs/quickstart) and the [pricing](https://pokemontcgapi.com/pricing).

One page per operation, each with its parameters, a runnable example in three languages, the exact response, and the errors it can return.

For plain catalogue lists, credits are charged per request: use the largest allowed page to reduce calls. Priced includes and batches have their own costs, shown below.

## accounts

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Create a key for a script](https://pokemontcgapi.com/docs/api/accounts/free) | `POST /v1/accounts/free` | free, no key needed | free |

## cards

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Search cards](https://pokemontcgapi.com/docs/api/cards/search) | `GET /v1/cards` | 1 credit per 50 cards requested (the limit), rounded up: the default page of 50 costs 1, a page of 250 costs 5; include=index costs the same; with include=prices, 4 credits per 25: a page of 250 costs 40 | free |
| [Get a card](https://pokemontcgapi.com/docs/api/cards/get) | `GET /v1/cards/{id}` | 2 with include=prices, the same as GET /v1/cards/{id}/prices | free |
| [Batch cards](https://pokemontcgapi.com/docs/api/cards/batch) | `GET /v1/cards/batch` | 1 per 25 requested ids; include=index: 1 per 50; include=prices: 4 per 25. Rounded up, including unresolved and repeated ids. | free |

## sets

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [List sets](https://pokemontcgapi.com/docs/api/sets/list) | `GET /v1/sets` | 1 credit | free |
| [Get a set](https://pokemontcgapi.com/docs/api/sets/get) | `GET /v1/sets/{code}` | 1 credit | free |
| [Cards in a set](https://pokemontcgapi.com/docs/api/sets/cards) | `GET /v1/sets/{code}/cards` | 1 credit per 50 cards requested (the limit), rounded up; include=index costs the same; with include=prices, 4 credits per 25 | free |

## artists

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [List artists](https://pokemontcgapi.com/docs/api/artists/list) | `GET /v1/artists` | 1 credit | free |
| [Get an artist](https://pokemontcgapi.com/docs/api/artists/get) | `GET /v1/artists/{slug}` | 1 credit | free |

## series

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [List series](https://pokemontcgapi.com/docs/api/series/list) | `GET /v1/series` | 1 credit | free |

## sealed

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [List sealed products](https://pokemontcgapi.com/docs/api/sealed/list) | `GET /v1/sealed` | 1 credit per 50 products requested (the limit), rounded up; include=index costs the same | free |
| [Get a sealed product](https://pokemontcgapi.com/docs/api/sealed/get) | `GET /v1/sealed/{id}` | 1 credit | free |

## reference

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Reference lists](https://pokemontcgapi.com/docs/api/reference/lists) | `GET /v1/reference` | free, no key needed, cached for a day | free |

## status

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Service status](https://pokemontcgapi.com/docs/api/status/get) | `GET /v1/status` | free, no key needed | free |

## prices

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Current prices](https://pokemontcgapi.com/docs/api/prices/current) | `GET /v1/cards/{id}/prices` | 2 credits | free |
| [Current prices of a sealed product](https://pokemontcgapi.com/docs/api/prices/current-sealed) | `GET /v1/sealed/{id}/prices` | 2 credits | free |
| [Current prices, in batch](https://pokemontcgapi.com/docs/api/prices/batch) | `GET /v1/prices/current` | 4 per 25 ids: a full batch of 50 costs 8 | free |
| [Price history](https://pokemontcgapi.com/docs/api/prices/history) | `GET /v1/cards/{id}/prices/history` | 5 credits | free |
| [Price stats](https://pokemontcgapi.com/docs/api/prices/stats) | `GET /v1/cards/{id}/prices/stats` | 2 credits | free |
| [Movers](https://pokemontcgapi.com/docs/api/prices/movers) | `GET /v1/prices/movers` | 3 credits | growth |
| [Price sources](https://pokemontcgapi.com/docs/api/prices/sources) | `GET /v1/prices/sources` | free, no key needed | free |

## changes

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [List changes](https://pokemontcgapi.com/docs/api/changes/list) | `GET /v1/changes` | 1 credit | free |

## vision

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Identify a card from a photo](https://pokemontcgapi.com/docs/api/vision/identify) | `POST /v1/vision/identify` | 25 base; add ceil(top_k / 50) for include=index and 4 × ceil(top_k / 25) for include=prices (both add when requested together). With top_k 1–10: 26, 29 or 30 credits. An empty no_match costs only 25. | growth |

## centering

| Operation | Endpoint | Cost | Plan |
| --- | --- | --- | --- |
| [Measure card centering](https://pokemontcgapi.com/docs/api/centering/measure) | `POST /v1/centering/measure` | 25 credits; verified Free trial: 5 measure and 5 confirm calls, independently. Developer excluded. | growth |
| [Confirm centering lines](https://pokemontcgapi.com/docs/api/centering/confirm) | `POST /v1/centering/confirm` | 5 credits; verified Free trial: 5 measure and 5 confirm calls, independently. Developer excluded. | growth |
| [Grade known centering ratios](https://pokemontcgapi.com/docs/api/centering/grade) | `POST /v1/centering/grade` | 1 credits; verified Free trial: 5 measure and 5 confirm calls, independently. Developer excluded. | growth |
| [Read centering standards](https://pokemontcgapi.com/docs/api/centering/standards) | `GET /v1/centering/standards` | 1 credits; verified Free trial: 5 measure and 5 confirm calls, independently. Developer excluded. | growth |
