Building a Tarot Card Meanings API with JSON
If you're building a tarot app, chatbot, or any divination-related project, you need structured card data. I put together a complete JSON dataset of all 78 tarot cards with
meanings, elements, and zodiac associations.
## The Dataset
The dataset includes all 78 cards with these fields:
card_name— Full card name
arcana— Major or Minor
suit— Wands, Cups, Swords, Pentacles
element— Fire, Water, Air, Earth
upright_meaning— Keywords for upright position
reversed_meaning— Keywords for reversed position
love_meaning— Relationship interpretation
career_meaning— Career interpretation
yes_or_no— Yes/No/Maybe for simple readings
zodiac_sign— Associated zodiac or planet
## Quick Example
json
{
"card_name": "The Star",
"arcana": "Major",
"element": "Air",
"upright_meaning": "Hope, renewal, spirituality, inspiration",
"reversed_meaning": "Despair, lack of faith, disconnection",
"love_meaning": "Healing love, renewed hope",
"career_meaning": "Creative inspiration, dream career",
"yes_or_no": "Yes",
"zodiac_sign": "Aquarius",
"guide_url": "https://deckaura.com/blogs/guide/star-tarot-meaning"
}
Where to Get the Data
I've published the full dataset on multiple platforms:
- Kaggle: https://www.kaggle.com/datasets/morrispoint/complete-tarot-card-meanings-all-78-cards
- Hugging Face: https://huggingface.co/datasets/Blacik/tarot-card-meanings-78
- Full card guide source: https://deckaura.com/blogs/guide/tarot-card-meanings
Use Cases
Here are some project ideas using this data:
1. Tarot Reading Chatbot
Build a Discord or Telegram bot that pulls random cards and returns meanings. The yes_or_no field makes it easy to implement simple yes/no readings.
2. Daily Card Widget
Create a web widget that shows a random tarot card each day. You can see an example of this at https://deckaura.com/pages/daily-tarot-card.
3. Birth Card Calculator
Use numerology to calculate someone's tarot birth card from their birthday. Add all digits until you get 1-22, then map to the Major Arcana. Working example:
https://deckaura.com/pages/tarot-birth-card-calculator
4. Tarot + Numerology App
Combine the zodiac and element data with a https://deckaura.com/pages/numerology-calculator to create personalized readings.
5. NLP Sentiment Analysis
Run sentiment analysis on the upright vs reversed meanings. Interesting patterns emerge — Major Arcana reversals tend to be more intense than Minor Arcana.
Simple Implementation
Here's a basic JavaScript implementation:
// Fetch a random tarot card
const cards = await fetch('tarot_card_meanings.json')
.then(r => r.json());
const randomCard = cards[Math.floor(Math.random() * cards.length)];
const isReversed = Math.random() > 0.5;
console.log(`🃏 ${randomCard.card_name} ${isReversed ? '(Reversed)' : ''}`);
console.log(`Element: ${randomCard.element}`);
console.log(`Meaning: ${isReversed ? randomCard.reversed_meaning : randomCard.upright_meaning}`);
console.log(`Love: ${randomCard.love_meaning}`);
console.log(`Full guide: ${randomCard.guide_url}`);
Oracle Cards vs Tarot
If you're considering adding oracle card support, note that oracle cards have no standardized structure — each deck is unique. Read more about the differences:
https://deckaura.com/blogs/guide/what-are-oracle-cards
Links
- Dataset source: https://deckaura.com/blogs/guide/tarot-card-meanings
- Free interactive reading: https://deckaura.com/pages/free-tarot-reading
- NPM package: https://www.npmjs.com/package/tarot-card-meanings
If you build something with this data, drop a link in the comments — I'd love to see it!
SOCIAL SHARE CARD GENERATOR