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
}
}
}
]
}
]
}
curl --request GET \
--url https://api.scrydex.com/pokemon/v1/sealed/me1-s1 \
--header 'X-Api-Key: <api_key_here>'
--header 'X-Team-ID: <team_id_here>'
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:camelsnake
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):
curl --request GET \
--url https://api.scrydex.com/pokemon/v1/sealed/me1-s1 \
--header 'X-Api-Key: <api_key_here>'
--header 'X-Team-ID: <team_id_here>'
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
typefield: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")
- Sealed products with "alakazam" in the name AND "Booster Pack" in the
Exclude Results
- Retrieve only sealed products with
type:boxwhile 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
idandnamefields 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
pageandpageSizeparameters to prevent overloading responses. - Limit Fields Returned: Use the
selectparameter to only get the data you need. - Avoid Overhead: Minimize wildcard or range queries for better performance.