Pokemon

Sealed Products

The sealed product object

Each field available on a Pokémon sealed product is described below with its field name and corresponding data type.


id <string>

The unique identifier for the sealed product.


name <string>

The name of the sealed product.


description <string>

A brief description of the sealed product.


type <string>

The type of sealed product (e.g., "Booster Pack", "Booster Box", "Elite Trainer Box").


images <array of maps>

Contains URLs for the card's images in various sizes.

  • type <string>: The type of image (e.g., "front", "back").
  • small <string>: The URL of the small image.
  • medium <string>: The URL of the medium image.
  • large <string>: The URL of the large image.

expansion <object>

Details about the expansion this sealed product belongs to.

  • id <string>: The ID of the expansion.
  • name <string>: The name of the expansion.
  • series <string>: The series of the expansion.
  • total <integer>: Total cards in the set, including secret rares.
  • printed_total <integer>: Number of cards in the set that are printed on a card. If a card is 87/160, the printed_total is 160.
  • language <string>: The language of the expansion.
  • language_code <string>: The language code of the expansion (e.g., "EN", "JA")
  • release_date <string>: The release date of the expansion, in the format YYYY/MM/DD.
  • is_online_only <boolean>: Indicates if the set is only available online, such as Pocket expansions.

language <string>

The language of the sealed product.


language_code <string>

The language code of the sealed product (e.g., "EN", "JA").


expansion_sort_order <integer>

The position of the sealed product in the expansion, used for sorting.


variants <array of maps>

A list of collectible variants of the card.

  • name <string>: The name of the variant.
  • images <array of maps>: Any images available for the specific variant, such as a 1st edition image versus unlimited.
  • prices <array>: The price data for the variant.

Here is an example JSON representation of the Pokémon sealed product object:

{
  "id": "me1-s1",
  "name": "Mega Evolution Booster Pack",
  "type": "Booster Pack",
  "description": "Mega Evolve Your Strength to the Next Stage!\nStriving to become stronger, Pokémon of all types are putting everything on the line to become Mega Evolution Pokémon ex! Harness the strong aura of Mega Lucario ex, embrace the overflowing power of Mega Gardevoir ex, and team up with more of these powerful Pokémon that boast devastating attacks and massive HP. But consider your strategy carefully—extra power brings extra risks! Choose your Pokémon partners and prepare for the biggest battles you’ve ever seen in the Pokémon TCG: Mega Evolution expansion!\n\nEach pack contains 10 cards.",
  "images": [
    {
      "type": "front",
      "small": "https://images.scrydex.com/pokemon/me1-s1/small",
      "medium": "https://images.scrydex.com/pokemon/me1-s1/medium",
      "large": "https://images.scrydex.com/pokemon/me1-s1/large"
    }
  ],
  "expansion": {
    "id": "me1",
    "name": "Mega Evolution",
    "series": "Mega Evolution",
    "code": "MEG",
    "total": 188,
    "printed_total": 132,
    "language": "English",
    "language_code": "EN",
    "release_date": "2025/09/26",
    "is_online_only": false
  },
  "expansion_sort_order": 1,
  "variants": [
    {
      "name": "normal",
      "prices": [
        {
          "condition": "U",
          "is_perfect": false,
          "is_signed": false,
          "is_error": false,
          "type": "raw",
          "low": 7.39,
          "market": 7.13,
          "currency": "USD",
          "trends": {
            "days_1": {
              "price_change": 0.25,
              "percent_change": 3.63
            },
            "days_7": {
              "price_change": -0.76,
              "percent_change": -9.63
            }
          }
        }
      ]
    }
  ]
}

Get a sealed product

This endpoint retrieves a specific Pokémon sealed product by its unique identifier.

URL

GET https://api.scrydex.com/pokemon/v1/sealed/<id>


URL Parameters

  • id <string>
    The unique identifier of the sealed product to retrieve. This is a required parameter.

Query Parameters

  • select <comma-separated string>

    Specifies which fields to return in the response (e.g., "type,description").

  • casing <string>

    Allows changing the output format of the response. Supported values are:

    • camel
    • snake
  • include <comma-separated string>

    Fetch additional resources alongside the card. Supported values include:

    • prices (Fetches price details for the card. It is recommended to not include prices if you don't need that data for a given request.)

Here is how you can retrieve a card using various programming languages (SDKs coming soon):

Search sealed products

Fetching and searching for multiple sealed products in the Scrydex API is simple yet powerful.
Use the various query parameters to customize your requests and retrieve the specific sealed products or data you need.

URL

There are two primary endpoints for fetching multiple sealed products: Searching across the whole database, or scoped to a specific expansion.

Get all sealed products (paginated), unfiltered:

GET https://api.scrydex.com/pokemon/v1/sealed

Get all sealed products (paginated), for a specific expansion:

GET https://api.scrydex.com/pokemon/v1/expansions/me1/sealed

Both of these endpoints support the same query parameters and underlying search logic.

Query Parameters

All query parameters are optional, but combining them allows for advanced and targeted searches.

Note that all query parameters can be used with snake case or camel case (so pageSize or page_size are both acceptable).

Parameter Description Default Value
q A search query for advanced filtering. Examples can be found below. -
page The page of data to access. 1
page_size The maximum number of sealed products to return per page. The highest allowable value is 100. 100 (max: 100)
select A comma-delimited list of fields to return in the response (e.g., ?select=id,name). If omitted, all fields are returned. -
include Used to include additional data, such as prices. These are fields you opt-in to, and aren't included in the response by default. -

Key Features of q (Search Queries)

Search queries use a Lucene-like syntax for filtering, making it easy to build powerful sealed product searches.
Below are examples of supported query operations:

Keyword Matching

  • Find sealed products that contain "charizard" in the name field: name:charizard
  • Search for the phrase "venusaur v" in the name field: name:"venusaur v"
  • Combine multiple conditions:
    • Sealed products with "alakazam" in the name AND "Booster Pack" in the type field: name:alakazam type:"Booster Pack"
    • Sealed products with "alakazam" in the name AND either "Booster Pack" or "Booster Box" in type: name:alakazam (type:"Booster Pack" OR type:"Booster Box")

Exclude Results

  • Retrieve only sealed products with type:box while excluding base set: type:box -expansion.id:base1

Wildcard Matching

  • Products where the name starts with "char": name:char*
  • Products where the name starts with "char" and ends with "der": name:char*der

Exact Matching

  • Match sealed products where the name is exactly "jungle booster box" (no other characters appear in the name field): !name:"jungle booster box"

Range Searches

Fields containing numerical data (e.g., "hp", "national_pokedex_numbers") support range searches:

  • Currently no fields in a sealed product support range searches.

Pro Tip: Use square brackets [ ] for inclusive ranges, and curly braces { } for exclusive ranges.

Searching Nested Fields

Leverage the . separator to search nested fields:

  • Filter by expansion ID: expansion.id:sm1

Example: Fetch & Search Sealed Products

Use the query parameters to retrieve and search sealed products. Below are examples using Scrydex API:


Ordering Data

The orderBy parameter allows for flexible sorting of results:

  • Order sealed products by name within their set: ?orderBy=name
  • Combine ascending (ASC) and descending (DESC) order: ?orderBy=name,-expansion_sort_order

Field Selection

Optimize and reduce response payload sizes using the select parameter to return only the fields you care about:

  • Example: Request only id and name fields for all sealed products: ?select=id,name

Response Example

Here’s a sample response for a search query:

{
  "status": "success",
  "data": [
    {
      "id": "base2-s2",
      "name": "Jungle Booster Box",
      "type": "Booster Box",
      "images": [
        {
          "type": "front",
          "small": "https://images.scrydex.com/pokemon/base2-s2f/small",
          "medium": "https://images.scrydex.com/pokemon/base2-s2f/medium",
          "large": "https://images.scrydex.com/pokemon/base2-s2f/large"
        }
      ],
      "expansion": {
        "id": "base2",
        "name": "Jungle",
        "series": "Base",
        "total": 64,
        "printed_total": 64,
        "language": "English",
        "language_code": "EN",
        "release_date": "1999/06/16",
        "is_online_only": false
      },
      "expansion_sort_order": 2,
      "variants": [
        {
          "name": "firstEdition",
          "prices": []
        },
        {
          "name": "unlimited",
          "prices": []
        }
      ]
    },
    {
      "id": "base3-s2",
      "name": "Pokemon Fossil Booster Box",
      "type": "Booster Box",
      "images": [
        {
          "type": "front",
          "small": "https://images.scrydex.com/pokemon/base3-s2f/small",
          "medium": "https://images.scrydex.com/pokemon/base3-s2f/medium",
          "large": "https://images.scrydex.com/pokemon/base3-s2f/large"
        }
      ],
      "expansion": {
        "id": "base3",
        "name": "Fossil",
        "series": "Base",
        "total": 62,
        "printed_total": 62,
        "language": "English",
        "language_code": "EN",
        "release_date": "1999/10/10",
        "is_online_only": false
      },
      "expansion_sort_order": 2,
      "variants": [
        {
          "name": "firstEdition",
          "prices": []
        },
        {
          "name": "unlimited",
          "prices": []
        }
      ]
    }
  ],
  "page": 1,
  "pageSize": 2,
  "totalCount": 263
}

Best Practices for Fetching & Searching

  • Paginate Results: Use the page and pageSize parameters to prevent overloading responses.
  • Limit Fields Returned: Use the select parameter to only get the data you need.
  • Avoid Overhead: Minimize wildcard or range queries for better performance.