tarot-api
tarot-api copied to clipboard
Simple REST API for the tarot cards of the Rider-Waite-Smith deck
Tarot Card API
For all your cybermysticism needs. 🔮
Provides information parsed from AE Waite's The Pictorial Key to the Tarot, meeting the OpenAPI 3 spec. This was created as a friendly introduction to REST APIs.
API Usage
-
See below for quick start
Quick start
JS:
fetch("https://tarotapi.dev/api/v1/cards/random?n=10")
.then(function (response) {
return response.json();
})
.then(function (response) {
// handle ten random cards
})
.catch(function (error) {
// handle what went wrong
});
Condensed documentation
| GET path | Result | Params |
|---|---|---|
/api/v1/ or /api/v1/cards |
return all cards | |
/api/v1/cards/:name_short |
return card with specified name_short |
minors: /swac, /wa02, ..., /cupa, /pequ, /waqu, /swki, majors /ar01, /ar02, .../ar[n] |
/api/v1/cards/search |
search all cards | q={text}, meaning={text}, meaning_rev={text} |
/api/v1/cards/random |
get random card(s) | optional n={integer <= 78} |
Examples:
Get all cards with word "peace" in meaning (reversed or upright):
https://tarotapi.dev/api/v1/cards/search?meaning=peace
Get 10 random cards:
https://tarotapi.dev/api/v1/cards/random?n=10
Get the Knight of Wands:
https://tarotapi.dev/api/v1/cards/wakn
💻 Local development
(Novice-friendly!)
-
You are welcome to just grab the JSON file that serves as the data source and use it for your own projects.
-
Clone or fork this repository and install dependencies locally. Requires Node 10.0.0 or higher, and npm 6.0.0 or higher.
git clone https://github.com/ekelen/tarot-api.git
# or [email protected]:ekelen/tarot-api.git
# -OR- click fork on this project's Github page, then:
git clone https://github.com/YOUR-USERNAME/tarot-api.git
Then:
cd tarot-api
npm install
npm run dev
External resources
If you are looking for images to complement your tarot app, the Rider Waite 1909 deck is public domain. You can find images of the cards here: https://www.sacred-texts.com/tarot/xr/index.htm
🗞 Updates
2023/12/19
- 'Tis the season for a nice domain name and a more reliable server. You can now use https://tarotapi.dev (and https://tarotapi.dev/api/v1 etc). The old
onrenderURL should still work (faster).
2023/05/12
- Important render.com stopped supporting my pretty URL (👎), so the project must be accessed at https://tarot-api-3hv5.onrender.com/.
2023/12/30
- Important Heroku stopped offering free dynos (👎), so you must replace all references to https://rws-cards-api.herokuapp.com to ~~tarot-api.onrender.com~~ https://tarot-api-3hv5.onrender.com (see May update) if you are using this API in your app.
2022/06/18
- Updated Swagger docs
- Added a
courtsendpoint (no specific rank parameter required) - Bumped
nodemon requiretypo fix
2021/01/25
- Linted, finished, and published the Swagger documentation
- Removed unused packages
- Reorganized source files to remove extraneous files from build
- Updated other documentation
2020/10/17
- Now supports CORS, so you can use this pretty much anywhere 🧙♂️