Tarot Cards API
Draw random tarot cards from a full 78-card deck — Major and Minor Arcana, upright and reversed, with short meanings included in every response.
Get your API token
Create an account and subscribe ($9/month) to start using the API.
Why use this instead of asking an AI?
When you ask an AI model to "draw a random tarot card" it does not draw randomly — it predicts
the most statistically likely answer based on training data. Cards like The Star or The Fool appear
far more often than Ten of Swords or Five of Pentacles because they are over-represented in the
corpus. This API uses PHP mt_rand() + shuffle() — a
real pseudo-random number generator with no bias toward any card, any arcana, or any orientation.
Every card in the filtered pool has an exactly equal probability of being drawn.
- No hallucinated card names or invented meanings
- No popularity bias — obscure Minor Arcana cards have the same draw probability as The World
- Stateless — each call is independent; no history or pattern affects the next draw
- Deterministic deck — same 78 cards, same meanings, every time
Endpoint
/api/tarot
All parameters are optional query strings.
Authentication
Include your API token in every request:
- Query parameter:
?token=YOUR_TOKEN - Header:
Authorization: Bearer YOUR_TOKEN
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
amount |
integer | 1 |
Number of cards to draw. Min 1, max = total cards in the filtered pool (22 for major, 56 for minor, 78 for all). No duplicates. |
arcana |
string | all |
Which arcana to draw from: all, major, or minor. |
reversed |
boolean | true |
Whether cards can appear reversed. true = each drawn card has a 50 % chance of being reversed. false = all cards are upright. |
version |
string | abesttools_api_tarot_v1 |
Deck version to use. See Deck Versions below. |
Response Fields
| Field | Type | Description |
|---|---|---|
data.version |
string | Deck version used. |
data.arcana_filter |
string | Arcana filter applied: all, major, or minor. |
data.reversed_enabled |
boolean | Whether reversed orientation was enabled for this draw. |
data.total_in_pool |
integer | Total cards available after applying the arcana filter. |
data.amount |
integer | Number of cards returned. |
data.cards[].id |
integer | Unique card ID (1–78, stable across requests). |
data.cards[].name |
string | Card name, e.g. The Fool, Ace of Wands. |
data.cards[].arcana |
string | major or minor. |
data.cards[].number |
integer | Card number within its arcana. Major: 0–21. Minor: 1–14 per suit. |
data.cards[].suit |
string|null | For Minor Arcana: wands, cups, swords, or pentacles. null for Major Arcana. |
data.cards[].orientation |
string | upright or reversed. |
data.cards[].meaning |
string | Short keyword meaning matching the card's orientation. |
Deck Versions
| Version key | Cards | Major Arcana | Minor Arcana | Status |
|---|---|---|---|---|
abesttools_api_tarot_v1 |
78 | 22 (The Fool – The World) | 56 (Wands, Cups, Swords, Pentacles — Ace through King) | Active |
New deck versions (e.g. thematic decks with different meaning flavours) will be added as separate version keys. Existing version keys never change their card list or meanings, so your integration stays stable.
Example Requests
Draw 1 card (default)
GET /api/tarot?token=YOUR_TOKEN
Draw a 3-card spread, Major Arcana only, upright only
GET /api/tarot?token=YOUR_TOKEN&amount=3&arcana=major&reversed=false
Draw a Celtic Cross (10 cards), full deck, reversals enabled
GET /api/tarot?token=YOUR_TOKEN&amount=10
Example Response
{
"success": true,
"data": {
"version": "abesttools_api_tarot_v1",
"arcana_filter": "all",
"reversed_enabled": true,
"total_in_pool": 78,
"amount": 3,
"cards": [
{
"id": 14,
"name": "Death",
"arcana": "major",
"number": 13,
"suit": null,
"orientation": "upright",
"meaning": "Endings, transformation, transition, change"
},
{
"id": 47,
"name": "Page of Cups",
"arcana": "minor",
"number": 11,
"suit": "cups",
"orientation": "reversed",
"meaning": "Emotional immaturity, creative blocks, insecurity"
},
{
"id": 72,
"name": "Eight of Pentacles",
"arcana": "minor",
"number": 8,
"suit": "pentacles",
"orientation": "upright",
"meaning": "Mastery, skill development, diligence, craftsmanship"
}
]
}
}
Error Responses
| HTTP Status | Reason |
|---|---|
401 |
Missing or invalid API token. |
403 |
No active subscription. |
422 |
Invalid arcana value or unknown version. |
Live Tester
Log in to use the live tester.