Tarot API

App · Misc References · 10 actions

Read tarot cards from Tarot API, the free reference for the 78 cards of the Rider-Waite-Smith deck. Draw a card of the day, deal a whole spread with every card in its position and the reading written out ready for a model to interpret, or look one card up by name and get both of its meanings. Browse the deck by suit, by court rank, by number or by a search across every card's description and meanings. Card names, descriptions and divinatory meanings come from A. E. Waite's 'The Pictorial Key to the Tarot' (1910), the companion to the deck most modern decks are based on. No account or API key required.

Actions

ActionWhat it does
Draw a tarot cardDraw one card at random and get it the way up it came out, with the meaning that applies.
Draw a tarot spreadDraw a whole spread and lay it out: every card gets the position it was dealt into, from a three-card past, present and future to a ten-card Celtic cross.
Draw several tarot cardsDraw a number of cards at random, each one read the way it came out.
Get a suit's cardsGet the fourteen cards of one suit, in order from the Ace to the King, along with the element the suit is read as and the other names it goes by.
Get a tarot cardLook one card up by name and get both its meanings and Waite's description of its picture.
Get every tarot cardGet the whole 78-card deck, each card with its meanings and its description, for building a reference table or seeding a database.
Get one number across the suitsGet the same number in all four suits at once, e.g. all four Fours or all four Queens, which is how a repeated number in a reading is looked into.
Get the court cardsGet the court cards, all sixteen of them or the four of one rank.
Get the major arcanaGet the twenty-two trumps in trump order, from The Fool at 0 to The World at 21.
Search tarot cardsSearch the deck by text, suit, number or arcana.

Draw a tarot card

Draw one card at random and get it the way up it came out, with the meaning that applies. Use it for a card of the day, a daily message to a channel, or a prompt for a model to write around. The API only ever ships both meanings side by side, so the orientation and the meaning that goes with it are worked out here. No API key required.

Inputs

Allow reversed cardsallow_reversedtrue/false
Optional. Let a card come out reversed, which is decided here by a coin flip per card because the API has no notion of an orientation. On by default. Turn it off for an upright-only reading, which is how many readers work.Default: true.

Outputs

arcanatext
'major' or 'minor'.
cardobject
The card that was drawn, in full.
descriptiontext
Waite's description of the card's picture.
is_reversedtrue/false
True when the card came out reversed.
keywordslist
That meaning split into its separate terms.
meaningtext
The meaning for the way it came out, which is the field a reading should print.
nametext
The card's name, lifted out so a message can use it without reaching into the card.
orientationtext
'upright' or 'reversed'.
suittext
The card's suit, or null when it is one of the 22 trumps.
Example output
{
  "arcana": "major",
  "card": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "is_reversed": false,
    "keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "meaning": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "orientation": "upright",
    "position": null,
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice.",
  "is_reversed": false,
  "keywords": [
    "Folly",
    "mania",
    "extravagance"
  ],
  "meaning": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
  "name": "The Fool",
  "orientation": "upright",
  "suit": null
}

Draw a tarot spread

Draw a whole spread and lay it out: every card gets the position it was dealt into, from a three-card past, present and future to a ten-card Celtic cross. The reading comes back written out as text as well as card by card, so a following step can hand it straight to a model or paste it into a message. No API key required.

Inputs

Spreadspreadtext
Which layout to deal. Each one fixes how many cards are drawn and what each position is read as.One of: single (One card), three_card (Past, present, future (3 cards)), situation (Situation, action, outcome (3 cards)), horseshoe (Horseshoe (7 cards)), celtic_cross (Celtic cross (10 cards)). Default: three_card.
Allow reversed cardsallow_reversedtrue/false
Optional. Let a card come out reversed, which is decided here by a coin flip per card because the API has no notion of an orientation. On by default. Turn it off for an upright-only reading, which is how many readers work.Default: true.
Questionquestiontext
Optional. What the reading is about. It is not sent anywhere, only carried through onto the written-out reading so a model reading it knows what was asked.

Outputs

allow_reversedtrue/false
Whether this draw was allowed to turn cards up reversed.
cardslist
The cards, in the order they were dealt, each carrying the position it landed in.
countnumber
How many cards came back in this result.
is_completetrue/false
True when every position in the layout got a card.
nameslist
Just the card names, for a message or a check that does not need the whole record.
positionslist
What each position in this layout is read as, in order.
questiontext
The question that was asked, carried through. Null when none was given.
readingtext
The whole spread written out, one numbered line per position with the card, its orientation and its meaning. This is the field to hand to a model or paste into a message.
reversed_countnumber
How many of the drawn cards came out reversed.
spreadtext
Which layout was dealt, as its stored value.
spread_nametext
The layout's name, e.g. 'Celtic cross'.
upright_countnumber
How many came out upright.
Example output
{
  "allow_reversed": true,
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "is_reversed": false,
      "keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "meaning": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "orientation": "upright",
      "position": "The past",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 3,
  "is_complete": true,
  "names": [
    "The Fool",
    "Queen of Cups",
    "Ace of Wands"
  ],
  "positions": [
    "The past",
    "The present",
    "The future"
  ],
  "question": "What should I focus on this week?",
  "reading": "Past, present, future\nQuestion: What should I focus on this week?\n1. The past: The Fool (upright) - Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
  "reversed_count": 1,
  "spread": "three_card",
  "spread_name": "Past, present, future",
  "upright_count": 2
}

Draw several tarot cards

Draw a number of cards at random, each one read the way it came out. The cards are unique: a draw takes each card at most once, the way a shuffled deck does. Asking for more than the 78 the deck holds is refused here rather than quietly answered with the whole deck, which is what the API does. No API key required.

Inputs

How many cardscountnumber
How many cards to draw, 1 to 78. Three by default. Each card comes up at most once.From 1 to 78. Default: 3.
Allow reversed cardsallow_reversedtrue/false
Optional. Let a card come out reversed, which is decided here by a coin flip per card because the API has no notion of an orientation. On by default. Turn it off for an upright-only reading, which is how many readers work.Default: true.

Outputs

allow_reversedtrue/false
Whether this draw was allowed to turn cards up reversed.
cardslist
The cards that were drawn, in the order they came out.
countnumber
How many cards came back in this result.
deck_sizenumber
How many cards a tarot deck holds, which is always 78.
firstobject
The first card drawn, lifted out of the list so a message can use it without indexing. Null when nothing came back.
nameslist
Just the card names, for a message or a check that does not need the whole record.
requested_countnumber
How many cards were asked for, so a short answer from the service is visible.
reversed_countnumber
How many of the drawn cards came out reversed.
upright_countnumber
How many came out upright.
Example output
{
  "allow_reversed": true,
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "is_reversed": false,
      "keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "meaning": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "orientation": "upright",
      "position": null,
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 3,
  "deck_size": 78,
  "first": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "is_reversed": false,
    "keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "meaning": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "orientation": "upright",
    "position": null,
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "names": [
    "The Fool",
    "Queen of Cups",
    "Ace of Wands"
  ],
  "requested_count": 3,
  "reversed_count": 1,
  "upright_count": 2
}

Get a suit's cards

Get the fourteen cards of one suit, in order from the Ace to the King, along with the element the suit is read as and the other names it goes by. Wands, cups, swords and pentacles are the names the API takes; coins, disks, staves, rods, batons, chalices and blades are translated to them here rather than coming back as a missing suit. No API key required.

Inputs

SuitsuittextRequired
Which of the four suits. Other names for the same suits are accepted and translated: coins or disks for pentacles, staves, rods or batons for wands, chalices for cups, blades for swords.One of: wands (Wands (Fire)), cups (Cups (Water)), swords (Swords (Air)), pentacles (Pentacles (Earth)).

Outputs

also_known_aslist
The other names this suit goes by in older and non-English decks, e.g. coins and disks for pentacles.
cardslist
The suit's cards, Ace through King.
countnumber
How many cards came back in this result.
court_cardslist
The names of the suit's four court cards, Page through King.
elementtext
The element the suit is read as: Fire for wands, Water for cups, Air for swords, Earth for pentacles.
expected_countnumber
How many cards a complete answer holds, since the deck is fixed.
is_completetrue/false
True when every card that should be here is. False means the service answered with fewer than the deck holds, which is worth noticing rather than reading as an empty category.
nameslist
Just the card names, for a message or a check that does not need the whole record.
numbered_cardslist
The names of the suit's ten numbered cards.
suittext
The suit that was fetched, as the API spells it, after any other name for it was translated.
suit_display_nametext
The same suit capitalized, for a message.
total_matchednumber
How many cards the API matched, from the 'nhits' it reports. The API has no paging, so this is the whole match rather than one page of it, and it differs from 'count' only when a limit here cut the list short.
Example output
{
  "also_known_as": [
    "coins",
    "disks"
  ],
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 14,
  "court_cards": [
    "Page of Pentacles",
    "Knight of Pentacles",
    "Queen of Pentacles",
    "King of Pentacles"
  ],
  "element": "Earth",
  "expected_count": 14,
  "is_complete": true,
  "names": [
    "Ace of Pentacles",
    "Two of Pentacles"
  ],
  "numbered_cards": [
    "Ace of Pentacles",
    "Two of Pentacles"
  ],
  "suit": "pentacles",
  "suit_display_name": "Pentacles",
  "total_matched": 14
}

Get a tarot card

Look one card up by name and get both its meanings and Waite's description of its picture. Takes a full name ('The Fool'), a short name ('ar00') or part of a name ('hanged'). The API's search matches on descriptions and meanings too, so this step matches on the name only and falls back to reading the deck, which is what makes it a lookup rather than a search. No API key required.

Inputs

CardcardtextRequired
The card to look up: a name such as 'The Fool' or 'Ace of Cups', a short name such as 'ar00', or part of a name such as 'hanged'. When part of a name matches several cards the lowest-numbered one is returned and the rest are listed in 'other matches'.

Outputs

arcanatext
'major' or 'minor'.
cardobject
The card that was found, in full.
descriptiontext
Waite's description of the card's picture.
matched_exactlytrue/false
True when the name given was this card's name or short name. False means it was part of a name and this was the best match, so check 'other matches'.
meaning_reversedtext
What it means reversed.
meaning_uprighttext
What it means upright.
nametext
The card's name.
name_shorttext
The card's short name, e.g. 'ar00'.
other_matcheslist
The names of the other cards the text matched, empty when the match was exact.
reversed_keywordslist
The reversed meaning split into its terms.
suittext
The card's suit, or null for a trump.
upright_keywordslist
The upright meaning split into its terms.
valuetext
What the card's number is called.
value_intnumber
The same number as an integer.
Example output
{
  "arcana": "major",
  "card": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice.",
  "matched_exactly": true,
  "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
  "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
  "name": "The Fool",
  "name_short": "ar00",
  "other_matches": [],
  "reversed_keywords": [
    "Negligence",
    "absence",
    "distribution"
  ],
  "suit": null,
  "upright_keywords": [
    "Folly",
    "mania",
    "extravagance"
  ],
  "value": "0",
  "value_int": 0
}

Get every tarot card

Get the whole 78-card deck, each card with its meanings and its description, for building a reference table or seeding a database. The API sends the deck in one answer and has no paging, so a limit here shortens the result rather than saving a request. No API key required.

Inputs

Limitlimitnumber
Optional. Return at most this many cards. Left blank, every card that matched comes back. The API sends its whole answer at once, so this shortens the result rather than saving a request, and 'total matched' still reports the full count.From 1 to 78.
Skipoffsetnumber
Optional. Skip this many cards before the ones that come back, so a workflow can walk the deck in chunks. 0 by default.From 0 to 78. Default: 0.

Outputs

cardslist
The cards in this window of the deck.
countnumber
How many cards came back in this result.
deck_sizenumber
How many cards a tarot deck holds, which is always 78.
has_moretrue/false
True when there are cards after this window.
is_complete_decktrue/false
True when the API sent all 78 cards, before any limit here was applied.
limitnumber
The limit that was applied, or null for none.
nameslist
Just the card names, for a message or a check that does not need the whole record.
next_offsetnumber
The 'Skip' that fetches the next window. Null at the end of the deck.
offsetnumber
How many cards were skipped.
total_countnumber
How many cards the API sent, from the 'nhits' it reports. 78 for a healthy service.
Example output
{
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 78,
  "deck_size": 78,
  "has_more": false,
  "is_complete_deck": true,
  "limit": null,
  "names": [
    "The Fool",
    "The Magician",
    "The High Priestess"
  ],
  "next_offset": null,
  "offset": 0,
  "total_count": 78
}

Get one number across the suits

Get the same number in all four suits at once, e.g. all four Fours or all four Queens, which is how a repeated number in a reading is looked into. A number search can also match the trump that carries it, so the answer is filtered to exactly the arcana asked for and the trump is reported separately when it is wanted. No API key required.

Inputs

NumbervaluenumberRequired
The number to fetch. A suit runs 1 (Ace) to 14 (King), with 11 to 14 being the Page, Knight, Queen and King. Turn on 'Include the major arcana' to reach 0 to 21, which is the range the trumps use.From 0 to 21.
Include the major arcanainclude_major_arcanatrue/false
Optional. Also return the trump that carries this number, e.g. The Emperor alongside the four Fours. Off by default, which is what makes the answer the four suit cards and nothing else.Default: false.

Outputs

cardslist
The cards carrying this number.
countnumber
How many cards came back in this result.
expected_countnumber
How many cards a complete answer holds, since the deck is fixed.
include_major_arcanatrue/false
Whether the trumps were included.
is_completetrue/false
True when every card that should be here is. False means the service answered with fewer than the deck holds, which is worth noticing rather than reading as an empty category.
major_arcanalist
The names of any trumps carrying this number, empty unless 'Include the major arcana' was on.
nameslist
Just the card names, for a message or a check that does not need the whole record.
suits_coveredlist
Which suits the number was found in. All four for a complete answer.
total_matchednumber
How many cards the API matched, from the 'nhits' it reports. The API has no paging, so this is the whole match rather than one page of it, and it differs from 'count' only when a limit here cut the list short.
valuenumber
The number that was asked for.
value_nametext
What that number is called, e.g. 'ace' or 'queen', taken from the cards themselves.
Example output
{
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 4,
  "expected_count": 4,
  "include_major_arcana": false,
  "is_complete": true,
  "major_arcana": [],
  "names": [
    "Four of Wands",
    "Four of Cups",
    "Four of Swords",
    "Four of Pentacles"
  ],
  "suits_covered": [
    "cups",
    "pentacles",
    "swords",
    "wands"
  ],
  "total_matched": 4,
  "value": 4,
  "value_name": "four"
}

Get the court cards

Get the court cards, all sixteen of them or the four of one rank. These are the cards usually read as people, so this is the step for a reading about who is involved rather than what is happening. A rank can be given singular or plural, and the names other decks use are accepted: a Thoth Princess is a Page, a Prince is a Knight. No API key required.

Inputs

Rankranktext
Optional. Narrow to one rank's four cards. Left as any, all sixteen court cards come back. Plurals ('queens'), other decks' names ('princess', 'prince') and a playing card's 'jack' are all understood.One of: any (All sixteen court cards), page (Pages), knight (Knights), queen (Queens), king (Kings). Default: any.

Outputs

cardslist
The court cards that came back.
countnumber
How many cards came back in this result.
expected_countnumber
How many cards a complete answer holds, since the deck is fixed.
is_completetrue/false
True when every card that should be here is. False means the service answered with fewer than the deck holds, which is worth noticing rather than reading as an empty category.
nameslist
Just the card names, for a message or a check that does not need the whole record.
ranktext
The rank that was fetched, singular and lower-case. Null when every rank was.
ranks_includedlist
Which ranks are present in the result.
suits_includedlist
Which suits are present in the result.
total_matchednumber
How many cards the API matched, from the 'nhits' it reports. The API has no paging, so this is the whole match rather than one page of it, and it differs from 'count' only when a limit here cut the list short.
Example output
{
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 4,
  "expected_count": 4,
  "is_complete": true,
  "names": [
    "Queen of Wands",
    "Queen of Cups",
    "Queen of Swords",
    "Queen of Pentacles"
  ],
  "rank": "queen",
  "ranks_included": [
    "queen"
  ],
  "suits_included": [
    "cups",
    "pentacles",
    "swords",
    "wands"
  ],
  "total_matched": 4
}

Get the major arcana

Get the twenty-two trumps in trump order, from The Fool at 0 to The World at 21. These are the cards read as the big themes of a reading rather than its details. The API returns them in no particular order, so they are sorted here. No API key required.

Inputs

None.

Outputs

cardslist
The trumps, in order from 0 to 21.
countnumber
How many cards came back in this result.
expected_countnumber
How many cards a complete answer holds, since the deck is fixed.
firstobject
The lowest-numbered trump, which is The Fool. Null when nothing came back.
is_completetrue/false
True when every card that should be here is. False means the service answered with fewer than the deck holds, which is worth noticing rather than reading as an empty category.
lastobject
The highest-numbered trump, which is The World. Null when nothing came back.
nameslist
Just the card names, for a message or a check that does not need the whole record.
total_matchednumber
How many cards the API matched, from the 'nhits' it reports. The API has no paging, so this is the whole match rather than one page of it, and it differs from 'count' only when a limit here cut the list short.
Example output
{
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 22,
  "expected_count": 22,
  "first": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "is_complete": true,
  "last": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "names": [
    "The Fool",
    "The Magician",
    "The High Priestess"
  ],
  "total_matched": 22
}

Search tarot cards

Search the deck by text, suit, number or arcana. The text search runs over everything a card carries, its description and both its meanings included, so searching 'love' finds every card whose meaning speaks of it rather than only cards named for it. Leave everything blank to get the whole deck. No API key required.

Inputs

Search textquerytext
Optional. Text to look for, matched without regard to case across the card's name, description and both meanings. To find one card by name, use 'Get a tarot card' instead.
Suitsuittext
Optional. Only return cards of this suit. Coins, disks, staves, rods, batons, chalices and blades are accepted as other names for the same four suits.One of: any (Any suit), wands (Wands (Fire)), cups (Cups (Water)), swords (Swords (Air)), pentacles (Pentacles (Earth)). Default: any.
Numbervaluenumber
Optional. Only return cards carrying this number. A suit runs 1 (Ace) to 14 (King), with 11 to 14 being the Page, Knight, Queen and King; the trumps run 0 to 21.From 0 to 21.
Arcanaarcanatext
Optional. Narrow to the 22 trumps or the 56 suit cards.One of: any (Either arcana), major (Major arcana (the 22 trumps)), minor (Minor arcana (the 56 suit cards)). Default: any.
Limitlimitnumber
Optional. Return at most this many cards. Left blank, every card that matched comes back. The API sends its whole answer at once, so this shortens the result rather than saving a request, and 'total matched' still reports the full count.From 1 to 78.

Outputs

arcanatext
The arcana that was filtered on, or null.
cardslist
The cards that matched.
countnumber
How many cards came back in this result.
firstobject
The first matching card, lifted out of the list. Null when nothing matched.
has_cardstrue/false
True when anything matched. Branch on this rather than on the list being empty.
nameslist
Just the card names, for a message or a check that does not need the whole record.
querytext
The text that was searched for, or null.
suittext
The suit that was filtered on, after any other name for it was translated. Null when no suit was set.
total_matchednumber
How many cards the API matched, from the 'nhits' it reports. The API has no paging, so this is the whole match rather than one page of it, and it differs from 'count' only when a limit here cut the list short.
truncatedtrue/false
True when a limit cut the list short, so 'total matched' is larger than 'count'.
valuenumber
The number that was filtered on, or null.
Example output
{
  "arcana": "major",
  "cards": [
    {
      "arcana": "major",
      "court_rank": null,
      "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
      "is_court_card": false,
      "is_major_arcana": true,
      "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
      "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
      "name": "The Fool",
      "name_short": "ar00",
      "reversed_keywords": [
        "Negligence",
        "absence",
        "distribution",
        "carelessness",
        "apathy",
        "nullity",
        "vanity"
      ],
      "suit": null,
      "type": "major",
      "upright_keywords": [
        "Folly",
        "mania",
        "extravagance",
        "intoxication",
        "delirium",
        "frenzy",
        "bewrayment"
      ],
      "value": "0",
      "value_int": 0
    }
  ],
  "count": 1,
  "first": {
    "arcana": "major",
    "court_rank": null,
    "desc": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "description": "With light step, as if earth and its trammels had little power to restrain him, a young man in gorgeous vestments pauses at the brink of a precipice among the great heights of the world.",
    "is_court_card": false,
    "is_major_arcana": true,
    "meaning_rev": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_reversed": "Negligence, absence, distribution, carelessness, apathy, nullity, vanity.",
    "meaning_up": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "meaning_upright": "Folly, mania, extravagance, intoxication, delirium, frenzy, bewrayment.",
    "name": "The Fool",
    "name_short": "ar00",
    "reversed_keywords": [
      "Negligence",
      "absence",
      "distribution",
      "carelessness",
      "apathy",
      "nullity",
      "vanity"
    ],
    "suit": null,
    "type": "major",
    "upright_keywords": [
      "Folly",
      "mania",
      "extravagance",
      "intoxication",
      "delirium",
      "frenzy",
      "bewrayment"
    ],
    "value": "0",
    "value_int": 0
  },
  "has_cards": true,
  "names": [
    "The Fool"
  ],
  "query": "fool",
  "suit": null,
  "total_matched": 1,
  "truncated": false,
  "value": null
}

On this page