Cards
The card object
Each field available on a Riftbound card is described below.
id <string>
The unique identifier for the card.
name <string>
The name of the card.
number <string>
The number of the card within its expansion.
printed_number <string>
The number of the card as printed on the card (e.g., "296/298").
domain <string>
The domain of the card (e.g., "Colorless", "Fire", "Water").
type <string>
The type of the card (e.g., "Battlefield", "Champion", "Unit").
artist <string>
The artist who illustrated the card.
rarity <string>
The rarity of the card (e.g., "Common", "Uncommon", "Rare", "Epic").
rules <array of strings>
The rules or effects text of the card.
images <array of maps>
Contains URLs for the card's images.
- type
<string>: The type of image (e.g., "front"). - 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 <map>
Details about the expansion this card belongs to.
- id
<string>: The unique identifier for the expansion. - name
<string>: The name of the expansion. - type
<string>: The type of expansion. - code
<string>: The code for the expansion. - total
<integer>: Total number of cards in the expansion. - printed_total
<integer>: The number of cards printed in the set. - release_date
<string>: The release date of the expansion. - logo
<string>: URL for the expansion logo. - language
<string>: The language of the expansion. - language_code
<string>: The language code of the expansion.
language <string>
The language of the card.
language_code <string>
The language code of the card (e.g., "EN").
expansion_sort_order <integer>
The sort order of the card within its expansion.
variants <array of maps>
A list of collectible variants of the card.
- name
<string>: The name of the variant (e.g., "normal", "foil"). - images
<array of maps>: Images specific to this variant. - prices
<array of maps>: Price data for this variant.
Example JSON representation of a Riftbound card:
{
"id": "OGN-296",
"name": "Void Gate",
"number": "296",
"printed_number": "296/298",
"domain": "Colorless",
"type": "Battlefield",
"artist": "Envar Studio",
"rarity": "Uncommon",
"rules": [
"Spells and abilities affecting units here each deal 1 Bonus Damage. (Each instance of damage the spell deals is increased by 1.)"
],
"images": [
{
"type": "front",
"small": "https://images.scrydex.com/riftbound/OGN-296/small",
"medium": "https://images.scrydex.com/riftbound/OGN-296/medium",
"large": "https://images.scrydex.com/riftbound/OGN-296/large"
}
],
"expansion": {
"id": "OGN",
"name": "Origins",
"type": "Main",
"code": "OGN",
"total": 352,
"printed_total": 298,
"release_date": "2025/10/31",
"logo": "https://images.scrydex.com/riftbound/OGN-logo/logo",
"language": "English",
"language_code": "EN"
},
"language": "English",
"language_code": "EN",
"expansion_sort_order": 326,
"variants": [
{
"name": "normal",
"images": [],
"prices": [
{
"condition": "NM",
"is_perfect": false,
"is_signed": false,
"is_error": false,
"type": "raw",
"low": 0.05,
"market": 0.14,
"currency": "USD",
"trends": {
"days_1": {
"price_change": 0.0,
"percent_change": 0.0
},
"days_7": {
"price_change": 0.0,
"percent_change": 0.0
}
}
}
]
},
{
"name": "foil",
"images": [],
"prices": [
{
"condition": "NM",
"is_perfect": false,
"is_signed": false,
"is_error": false,
"type": "raw",
"low": 0.34,
"market": 0.52,
"currency": "USD",
"trends": {
"days_1": {
"price_change": 0.0,
"percent_change": 0.0
}
}
}
]
}
]
}
curl -X GET 'https://api.scrydex.com/riftbound/v1/cards/OGN-296' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Team-ID: YOUR_TEAM_ID'
Get a card
This endpoint retrieves a specific Riftbound card by its unique identifier.
URL
GET https://api.scrydex.com/riftbound/v1/cards/<id>
URL Parameters
- id
<string>
The unique identifier of the card to retrieve (e.g.,OGN-296).
Query Parameters
select
<string>
Comma-separated list of fields to include in the response.include
<string>
Related resources to include (e.g.,prices).
Example request to fetch a single card:
curl -X GET 'https://api.scrydex.com/riftbound/v1/cards/OGN-296' \
-H 'X-Api-Key: YOUR_API_KEY' \
-H 'X-Team-ID: YOUR_TEAM_ID'
Search cards
Fetching and searching for multiple cards 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.
URL
There are two primary endpoints for fetching multiple cards: Searching across the whole card database, or scoped to a specific expansion.
Get all cards (paginated), unfiltered:
GET https://api.scrydex.com/riftbound/v1/cards
Get all cards (paginated), for a specific expansion:
GET https://api.scrydex.com/riftbound/v1/expansions/OGN/cards
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 cards to return per page. The highest allowable value is 250. |
100 (max: 250) |
| 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 card searches.
Below are examples of supported query operations:
Keyword Matching
- Find cards that contain "void" in the name field:
name:void - Search for the phrase "Void Gate" in the name field:
name:"Void Gate" - Combine multiple conditions:
- Cards with "void" in the name AND "Battlefield" in the
typefield:name:void type:Battlefield
- Cards with "void" in the name AND "Battlefield" in the
Wildcard Matching
- Cards where the name starts with "voi":
name:voi*
Exact Matching
- Match cards where the name is exactly "Void Gate":
!name:"Void Gate"
Range Searches
Fields containing numerical data (if any) support range searches.
Searching Nested Fields
Leverage the . separator to search nested fields:
- Filter by expansion ID:
expansion.id:OGN
Example: Fetch & Search Cards
Use the query parameters to retrieve and search cards. Below are examples using Scrydex API:
Ordering Data
The orderBy parameter allows for flexible sorting of results:
- Order cards by name:
?orderBy=name
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:
{
"status": "success",
"data": [
{
"id": "OGN-296",
"name": "Void Gate",
"domain": "Colorless",
"type": "Battlefield"
}
],
"page": 1,
"pageSize": 1,
"totalCount": 1
}
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.