Lorcana

Cards

The card object

Here is the documentation of the Lorcana card object. Each field is described below with its field name and corresponding data type.


id <string>

The unique identifier for the card.


name <string>

The name of the Lorcana card.


version <string>

The version of the card, such as Playful Sorcerer in the card name of Mickey Mouse, Playful Sorcerer.


supertype <string>

The general category of the card (e.g., "Character").


subtypes <array of strings>

The subcategories for the card (e.g., ["Storyborn"]).


ink_types <array of strings>

The ink type(s) of the card (e.g., ["Amber"]).


keywords <array of maps>

Keywords found on the card (e.g., Bodyguard).

  • name <string>: The name of the keyword.
  • text <string>: Rules of the keyword.

abilities <array of maps>

Special abilities or powers on the card

  • name <string>: The name of the ability.
  • text <string>: A description of the ability.

number <string>

The card number in its set.


strength <string>

The strength of the card.


willpower <string>

The willpower of the card.


lore_value <string>

The lore value of the card.


source <string>

What the card is from, like a specific movie or book.


rarity <string>

The rarity of the card.


artist <string>

The artist who illustrated the card.


images <array of maps>

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

  • 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 <object>

Details about the card's expansion or set.

  • id <string>: The ID of the expansion.
  • name <string>: The name of the expansion.
  • code <string>: The code of the expansion.
  • total <integer>: Total cards in the set.
  • printed_total <integer>: Number of printed cards in the set.
  • language <string>: The language of the expansion.
  • language_code <string>: The language code of the expansion.
  • release_date <string>: The release date of the expansion.
  • logo <string>: The logo url of the expansion.

language <string>

The language of the card.


language_code <string>

The language code of the card.


expansion_sort_order <integer>

The position of the card 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.
  • prices <array>: The price data for the variant.

Here is an example JSON representation of the Lorcana card object.

Remember that you can use the casing parameter to change the casing of the field names. Default is snake case.

{
  "data": {
    "id": "ROJ-6",
    "name": "Minnie Mouse",
    "version": "Daring Defender",
    "number": "6",
    "ink_type": "Amber",
    "ink_types": [
      "Amber",
      "Ruby"
    ],
    "supertype": "Character",
    "subtypes": [
      "Dreamborn",
      "Hero"
    ],
    "rarity": "Rare",
    "cost": "4",
    "strength": "0",
    "willpower": "8",
    "lore_value": "1",
    "keywords": [
      {
        "name": "Bodyguard",
        "text": "(This character may enter play exerted. An opposing character who challenges one of your characters must choose one with Bodyguard if able.)"
      }
    ],
    "abilities": [
      {
        "name": "True Valor",
        "text": "This character gets +1 Strength for each 1 damage on her."
      }
    ],
    "source": "Standard Characters",
    "images": [
      {
        "type": "front",
        "small": "https://images.scrydex.com/lorcana/ROJ-6/small",
        "medium": "https://images.scrydex.com/lorcana/ROJ-6/medium",
        "large": "https://images.scrydex.com/lorcana/ROJ-6/large"
      }
    ],
    "expansion": {
      "id": "ROJ",
      "name": "Reign of Jafar",
      "code": "8",
      "total": 222,
      "printed_total": 204,
      "release_date": "2025/05/30",
      "language": "English",
      "language_code": "EN",
      "logo": "https://images.scrydex.com/lorcana/ROJ-logo/logo"
    },
    "language": "English",
    "language_code": "EN",
    "expansion_sort_order": 6,
    "variants": [
      {
        "name": "coldFoil",
        "prices": []
      },
      {
        "name": "normal",
        "prices": []
      }
    ]
  }
}

Get a card

This endpoint retrieves a specific Lorcana card by its unique identifier.

URL

GET https://api.scrydex.com/lorcana/v1/cards/<id>


URL Parameters

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

Query Parameters

  • select <comma-separated string>

    Specifies which fields to return in the response (e.g., "name,version,ink_types").

  • 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 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.

Query Parameters

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

Parameter Description Default Value
q A search query for advanced filtering. Examples can be found below. -
page The page of data to access. 1
pageSize The maximum number of cards to return per page. The highest allowable value is 100. 100 (max: 100)
orderBy Field(s) to order the results by. Use a comma-separated list. Examples below. -
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 cards that contain "mickey" in the name field: plaintext name:mickey
  • Search for the phrase "mickey mouse" in the name field: plaintext name:"mickey mouse"
  • Combine multiple conditions:
    • Cards with "mickey" in the name AND "sorcerer" in the subtypes field: plaintext name:mickey subtypes:sorcerer
    • Cards with "mickey" in the name AND either "sorcerer" or "dreamborn" in subtypes: plaintext name:mickey (subtypes:sorcerer OR subtypes:dreamborn)

Exclude Results

  • Retrieve only cards with subtypes:hero while excluding amber ink types: plaintext subtypes:hero -ink_types:amber

Wildcard Matching

  • Cards where the name starts with "mi": plaintext name:mi*
  • Cards where the name starts with "mi" and ends with "mouse": plaintext name:mi*mouse

Exact Matching

  • Match cards where the name is exactly "mickey" (no other characters appear in the name field): plaintext !name:mickey

Range Searches

Fields containing numerical data (e.g., strength, willpower) support range searches:

  • Cards featuring the original 151 Pokémon: plaintext strength:[1 TO 3]
  • Cards with willpower values up to 3: plaintext willpower:[* TO 3]
  • Cards with willpower values greater than or equal to 5: plaintext willpower:[5 TO *]

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 set ID: plaintext expansion.id:sm1
  • Find cards with a keyword named "Rush": plaintext keywords.name:rush

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 number within their set: plaintext ?orderBy=number
  • Combine ascending (ASC) and descending (DESC) order: plaintext ?orderBy=name,-number

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 cards: plaintext ?select=id,name

Response Example

Here’s a sample response for a search query:

{
  "data": [
    {
      "id": "ROJ-1",
      "name": "Louie",
      ...
    },
    {
      "id": "ROJ-2",
      "name": "Dewey",
      ...
    }
  ],
  "page": 1,
  "pageSize": 2,
  "count": 2,
  "totalCount": 500
}

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.