Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ekelen/tarot-api
Simple REST API for the tarot cards of the Rider-Waite-Smith deck
https://github.com/ekelen/tarot-api
get-request rest-api tarot-api tarot-readings
Last synced: about 6 hours ago
JSON representation
Simple REST API for the tarot cards of the Rider-Waite-Smith deck
- Host: GitHub
- URL: https://github.com/ekelen/tarot-api
- Owner: ekelen
- Created: 2018-02-12T12:31:08.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2023-12-21T00:27:09.000Z (11 months ago)
- Last Synced: 2023-12-21T01:56:42.941Z (11 months ago)
- Topics: get-request, rest-api, tarot-api, tarot-readings
- Language: JavaScript
- Homepage: https://tarotapi.dev
- Size: 97.7 KB
- Stars: 227
- Watchers: 8
- Forks: 88
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
1. [See full documentation + play with the API on SwaggerHub](https://app.swaggerhub.com/apis/ekswagger/tarot-api/1.3)
2. See below for quick start
### Quick start
JS:
```javascript
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!)
1. You are welcome to [just grab the JSON file](./static/card_data.json) that serves as the data source and use it for your own projects.
2. Clone or fork this repository and install dependencies locally. Requires Node 10.0.0 or higher, and npm 6.0.0 or higher.
```sh
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:
```sh
cd tarot-apinpm 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 `onrender` URL 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 `courts` endpoint (no specific rank parameter required)
- Bumped `nodemon`
- `require` typo 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 🧙♂️