Lorcana
Expansions
The expansion object
Each field available on a Lorcana expansion is described below with its field name and corresponding data type.
id <string>
The unique identifier for the expansion.
name <string>
The name of the Lorcana card.
code <string>
The unique code for the expansion (e.g., 1, 2, 3 - printed on the card).
type <string>
The type of expansion (e.g. Main, Promo, etc.).
total <integer>
The total number of cards (including secret rares) in the expansion. Variants are not counted separately.
printed_total <integer>
The number of cards printed on the expansion, such as 204 in Reign of Jafar (1/204, 2/204, etc.)
language <string>
The language of the expansion (e.g. English).
language_code <string>
The language code (ISO 2) of the expansion (e.g. EN).
release_date <string>
The release date of the expansion in format YYYY/MM/DD (e.g. 2025/07/18).
logo <string>
The logo url of the expansion.
Here is an example JSON representation of the Pokémon expansion object:
{
"id": "ROJ",
"name": "Reign of Jafar",
"code": "8",
"type": "Main",
"total": 222,
"printed_total": 204,
"release_date": "2025/05/30",
"language": "English",
"language_code": "EN",
"logo": "https://images.scrydex.com/lorcana/ROJ-logo/logo"
}
curl --request GET \
--url https://api.scrydex.com/lorcana/v1/expansions \
--header 'X-Api-Key: <api_key_here>'
--header 'X-Team-ID: <team_id_here>'
curl --request GET \
--url https://api.scrydex.com/lorcana/v1/expansions/ROJ \
--header 'X-Api-Key: <api_key_here>'
--header 'X-Team-ID: <team_id_here>'
Get an expansion
This endpoint retrieves a specific Lorcana expansion by its unique identifier.
URL
GET https://api.scrydex.com/lorcana/v1/expansions/<id>
URL Parameters
- id
<string>
The unique identifier of the expansion to retrieve. This is a required parameter.
Query Parameters
select
<comma-separated string>
Specifies which fields to return in the response (e.g.,"name,logo").casing
<string>
Allows changing the output format of the response. Supported values are:camelsnake
Here is how you can retrieve an expansion using various programming languages (SDKs coming soon):
curl --request GET \
--url https://api.scrydex.com/lorcana/v1/expansions/ROJ \
--header 'X-Api-Key: <api_key_here>'
--header 'X-Team-ID: <team_id_here>'
Search expansions
Fetching and searching for multiple expansions in the Scrydex API is simple yet powerful.
Use the various query parameters to customize your requests and retrieve the specific cards or data you need.
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 cards 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. |
- |
Key Features of q (Search Queries)
Search queries use a Lucene-like syntax for filtering, making it easy to build powerful card searches.
Below are examples of supported query operations:
Keyword Matching
- Find expansions that contain "reign" in the name field:
name:reign - Search for the phrase "reign of jafar" in the name field:
name:"reign of jafar" - Combine multiple conditions:
- Expansions with the type "Promo" total less than 20 cards:
type:promo total:[* TO 20]
- Expansions with the type "Promo" total less than 20 cards:
Exclude Results
- Retrieve only expansions with
type:promowhile excluding Challenge promos:type:promo -name:challenge
Wildcard Matching
- Expansions where the name starts with "reign":
name:reign* - Expansions where the name starts with "reign" and ends with "jafar":
name:reign*jafar
Exact Matching
- Match expansions where the name is exactly "deep troule" (no other characters appear in the name field):
!name:"deep trouble"
Range Searches
Fields containing numerical data (e.g., "total", "printed_total") support range searches:
- Expansions with at least 200 cards:
total:[200 TO *] - Expansions with at most 100 cards:
total:[* TO 100] - Expansions with a printed total of 100 or more:
total:[100 TO *]
Pro Tip: Use square brackets
[ ]for inclusive ranges, and curly braces{ }for exclusive ranges.
Example: Fetch & Search Expansions
Use the query parameters to retrieve and search expansions. Below are examples using Scrydex API:
Ordering Data
The orderBy parameter allows for flexible sorting of results:
- Order expansions by name:
?orderBy=name - Combine ascending (
ASC) and descending (DESC) order:?orderBy=name,-total
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 cards:?select=id,name
Response Example
Here’s a sample response for a search query:
{
"data": [
{
"id": "ITI",
"name": "Into the Inklands",
"code": "3",
"type": "Main",
"total": 226,
"printed_total": 204,
"release_date": "2024/02/23",
"language": "English",
"language_code": "EN",
"logo": "https://images.scrydex.com/lorcana/ITI-logo/logo"
},
{
"id": "ROTF",
"name": "Rise of the Floodborn",
"code": "2",
"type": "Main",
"total": 216,
"printed_total": 204,
"release_date": "2023/11/17",
"language": "English",
"language_code": "EN",
"logo": "https://images.scrydex.com/lorcana/ROTF-logo/logo"
},
...
],
"page": 1,
"pageSize": 100,
"totalCount": 200
}
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.