mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
fd787fc8d4
9
.github/FUNDING.yml
vendored
Normal file
9
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
#github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: jikan # Replace with a single Patreon username
|
||||
#open_collective: # Replace with a single Open Collective username
|
||||
#ko_fi: # Replace with a single Ko-fi username
|
||||
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
#custom: # Replace with a single custom sponsorship URL
|
15
README.MD
15
README.MD
@ -61,13 +61,14 @@ You're able to configure Jikan through the `.env` file.
|
||||
Before running, you need to set the correct values to the following keys in `.env`
|
||||
|
||||
1. `APP_KEY` : a random 32 alphanumeric character string
|
||||
2. `APP_URL` : If you're using a virtual host, set the correct domain here. **Do not leave a trailing slash.**
|
||||
2. `APP_URL` : If you're using a virtual host, set the correct domain here. Additionally, include the port number if you've changed it from the standard. **Do not leave a trailing slash.**
|
||||
|
||||
##### Do's
|
||||
|
||||
- `http://api.jikan.moe` :heavy_check_mark:
|
||||
- `https://api.jikan.local` :heavy_check_mark:
|
||||
- `http://localhost` :heavy_check_mark:
|
||||
- `http://localhost:8000` :heavy_check_mark:
|
||||
|
||||
##### Dont's
|
||||
- `http://localhost/` :x:
|
||||
@ -125,6 +126,18 @@ If you don't want to host your instance, there's a public API available.
|
||||
|
||||
Note: Tests may fail due to rate limit from MyAnimeList (HTTP 429)
|
||||
|
||||
---
|
||||
|
||||
# Backers
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://patreon.com/jikan)]
|
||||
- [PurplePinapples](https://github.com/purplepinapples/)
|
||||
- [Barkdoll (Jesse)](https://github.com/barkdoll/)
|
||||
|
||||
# Sponsors
|
||||
Thank you to all our sponsors! You will recieve advertisement/promotive perks. [[Become a sponsor](https://patreon.com/jikan)]
|
||||
- [Hibiki Matsujo](https://github.com/assintates)
|
||||
|
||||
---
|
||||
|
||||
## DISCLAIMER
|
||||
- Jikan is not affiliated with MyAnimeList.net
|
||||
|
441
apiary.apib
441
apiary.apib
@ -2,49 +2,61 @@ FORMAT: 1A
|
||||
HOST: https://api.jikan.moe/v3
|
||||
|
||||
# Jikan
|
||||
[Jikan](https://jikan.moe) is an **Unofficial** MyAnimeList REST-ful API.
|
||||
It's built on the Lumen microframework, uses Redis for caching and is powered by the [Jikan PHP API](https://github.com/jikan-me/jikan)
|
||||
|
||||
Base URL: `https://api.jikan.moe/v3`
|
||||
|
||||
[Bug Report](https://github.com/jikan-me/jikan/issues/new) | **[Discord](https://discordapp.com/invite/4tvCr36)**
|
||||
|
||||
## Announcement - 29 December, 18
|
||||
REST v3.2 has been released!
|
||||
|
||||
#### New Features
|
||||
- Anime/Manga **Reviews**
|
||||
- Anime/Manga **Recommendations**
|
||||
- Anime/Manga **User Updates**
|
||||
- [Club **Information**](https://jikan.docs.apiary.io/#reference/0/club)
|
||||
- [Club **Members**](https://jikan.docs.apiary.io/#reference/0/club)
|
||||
- [Season **later**](https://jikan.docs.apiary.io/#reference/0/season-later)
|
||||
- [Entity Tags - Cache validation](https://jikan.docs.apiary.io/#introduction/cache-validation)
|
||||
|
||||
**Important Changes**
|
||||
- All data from user related endpoints `/v3/user/*` are now cached for 5 minutes only
|
||||
- **(Anime/Manga)** Bug fixed for `related` property. It's an object but returns an array when it was empty. **This is fixed now.**
|
||||
[Jikan](https://jikan.moe) is an **Unofficial** MyAnimeList API.
|
||||
It's built on the Lumen microframework, uses Redis for caching and is powered by the [Jikan PHP API](https://github.com/jikan-me/jikan).
|
||||
|
||||
|
||||
**API Path:** `https://api.jikan.moe/v3`
|
||||
|
||||
**API Version**: `v3.3`
|
||||
|
||||
[Report an Issue](https://github.com/jikan-me/jikan/issues/new) | **[Discord](https://discordapp.com/invite/4tvCr36)**
|
||||
|
||||
## Announcement - 17th May, 2019
|
||||
REST v3.3 has been released!
|
||||
|
||||
### New Features
|
||||
- Improved Search
|
||||
- Order by data: `order_by`
|
||||
- Sort by ascending/descending: `sort`
|
||||
- Search by letter: `letter`
|
||||
- Improved multiple genre query: `genre=1,2,3,4,...`
|
||||
- Anime/Manga: Search by `producer`/`magazine`
|
||||
- User Lists (Anime/Manga)
|
||||
- Order by data: `order_by`, `order_by2`
|
||||
- Sort by ascending/descending: `sort`
|
||||
- Search user list: `search` or `q`
|
||||
- New **Anime** filters: `aired_from`, `aired_to`, `producer`, `season`, `year`, `airing_status`
|
||||
- New **Manga** filters: `published_from`, `published_to`, `magazine`, `publishing_status`
|
||||
- Caching improvements - no longer wait for an uncached request to finish parsing!
|
||||
- Updated Caching TTL
|
||||
- Added `Expires`, `X-Request-Cached`, `X-Request-Cache-Ttl`, `X-Request-Hash` header responses
|
||||
- Improved/helpful error responses
|
||||
- Bug fixes & improvements
|
||||
|
||||
|
||||
|
||||
# Information
|
||||
|
||||
## Links
|
||||
- [Website](https://jikan.moe)
|
||||
- [Jikan.moe](https://jikan.moe)
|
||||
- [About](https://jikan.moe/about)
|
||||
- [Projects/Apps using Jikan](https://jikan.moe/showcase)
|
||||
- [REST API Status](https://status.jikan.moe)
|
||||
|
||||
|
||||
## Wrappers
|
||||
- [JikanPHP - Parser](https://github.com/jikan-me/jikan/) by [Contributors](https://github.com/jikan-me/jikan/graphs/contributors)
|
||||
- [JikanPy - Wrapper](https://github.com/AWConant/jikanpy) by Andrew Conant & abhinavk99 (Abhinav Kasamsetty)
|
||||
- [Jikan.rb - Wrapper](https://github.com/Zerocchi/jikan.rb) by Zerocchi
|
||||
- [Jikan.Net - Wrapper](https://github.com/Ervie/jikan.net) by Ervie (Bartłomiej Buchała)
|
||||
- [JikanJs - Wrapper](https://github.com/zuritor/jikanjs) by zuritor (Sven)
|
||||
- [Jikan4java - Wrapper](https://github.com/Doomsdayrs/Jikan4java) by Doomsdayrs
|
||||
- [Jikan-php - Wrapper](https://github.com/janvernieuwe/jikan-jikanPHP) by Jan Vernieuwe
|
||||
- [Jikan-node - Wrapper](https://github.com/xy137/jikan-node) by xy137
|
||||
- [PHP API - JikanPHP](https://github.com/jikan-me/jikan/) by [Contributors](https://github.com/jikan-me/jikan/graphs/contributors)
|
||||
- [Python - JikanPy](https://github.com/AWConant/jikanpy) by Andrew Conant & abhinavk99 (Abhinav Kasamsetty)
|
||||
- [Ruby - Jikan.rb](https://github.com/Zerocchi/jikan.rb) by Zerocchi
|
||||
- [.NET/C# - Jikan.Net](https://github.com/Ervie/jikan.net) by Ervie (Bartłomiej Buchała)
|
||||
- [JavaScript - JikanJs](https://github.com/zuritor/jikanjs) by zuritor (Sven)
|
||||
- [Java - Jikan4java](https://github.com/Doomsdayrs/Jikan4java) by Doomsdayrs
|
||||
- [PHP - Jikan-php](https://github.com/janvernieuwe/jikan-jikanPHP) by Jan Vernieuwe
|
||||
- [NodeJS - Jikan-node](https://github.com/xy137/jikan-node) by xy137
|
||||
- [Dart - Jikan-dart](https://github.com/charafau/jikan-dart) by Rafal Wachol
|
||||
- [TypeScript - Jikants](https://github.com/Julien-Broyard/jikants) by Julien Broyard
|
||||
|
||||
# Information
|
||||
[Add your wrapper here!](https://github.com/jikan-me/jikan-rest/edit/master/apiary.apib)
|
||||
|
||||
## Rate Limiting
|
||||
Daily Limit: **Unlimited**
|
||||
@ -54,62 +66,105 @@ Daily Limit: **Unlimited**
|
||||
|
||||
**Note: Cached requests are NOT throttled**
|
||||
|
||||
### Bulk Requests
|
||||
This API serves as a purpose for apps/bots/etc that make consistent amount of requests. **If you're using the API for making bulk requests, keep a 3 second delay between each request. Abuse of the API will result in an IP ban.**
|
||||
## Bulk Requests
|
||||
This API serves as a purpose for apps/projects that are user based and make a nominal amount of requests.
|
||||
|
||||
## Response Schema Notes
|
||||
⚠️ If you're using the service for the sake of populating data/making your own database;
|
||||
- You are breaching [MyAnimeList's Terms Of Service](https://myanimelist.net/membership/terms_of_use). **You are responsible for what you're doing.**
|
||||
- **You MUST use a delay of 4 (FOUR) SECONDS between each request**
|
||||
- Requesting from multiple servers/IPs is being cheeky and is **NOT** allowed
|
||||
- **ABUSING THE API WILL RESULT IN GETTING BLOCKED FROM THE SERVICE**
|
||||
|
||||
If you're not comfortable being that restrictive, consider setting up your own Jikan REST API - It's super easy.
|
||||
- [Jikan REST API - GitHub](https://github.com/jikan-me/jikan-rest)
|
||||
- [Jikan REST API - Docker](https://github.com/fethica/jikan-rest-docker)
|
||||
|
||||
|
||||
## Disclaimer
|
||||
- Jikan is not affiliated with MyAnimeList.net
|
||||
- Jikan is a **free**, open-source API. Use it responsibly!
|
||||
|
||||
|
||||
## JSON Notes
|
||||
- Any property (except arrays) whose value does not exist or is undertermined, will be `null`
|
||||
- Any array property whose value does not exist or is undetermined, will be **empty**
|
||||
- Any `score` property whose value does not exist or is undetermined, will be `0`
|
||||
- All dates and timestamps are in **ISO8601** format and in **UTC**
|
||||
- All dates and timestamps are returned in **ISO8601** format and in **UTC**
|
||||
|
||||
## Caching
|
||||
User related requests are cached for **5 minutes**
|
||||
|
||||
All other requests are cached for **6 hours**
|
||||
By "caching", we refer to the data parsed from MyAnimeList that is cached temporarily on our servers for performance/faster responses.
|
||||
|
||||
- `request_cached` (bool) will tell you whether the request is cached
|
||||
All requests by default are cached for **24 hours** except for a few API endpoints which have their own unique cache expiry time.
|
||||
|
||||
|
||||
Request | Cache TTL
|
||||
:-------------- | :--------
|
||||
All (Default) | 24 hours
|
||||
Meta | 5 minutes
|
||||
User | 5 minutes
|
||||
Search | 120 hours (5 days)
|
||||
|
||||
The following Response Headers will detail cache information
|
||||
|
||||
Header | Remarks
|
||||
:--------------------- | :--------
|
||||
`Expires` | Expiry timestamp for the cache
|
||||
`X-Request-Cached` | (boolean) Is the request cached?
|
||||
`X-Request-Cache-Ttl` | (integer) Cache Time-To-Live in seconds
|
||||
|
||||
|
||||
**FAQ: Why is `X-Request-Cache-Ttl` negative?**
|
||||
|
||||
Jikan REST API v3.3+ uses a different caching logic. If the cache expires, it queues a job in the background to update the cache.
|
||||
So you're getting stale cache until the cache update completes.
|
||||
|
||||
- `request_cache_expiry` is the cache TTL in seconds
|
||||
|
||||
## Allowed HTTP(s) requests
|
||||
<pre>
|
||||
GET: All requests are done via GET
|
||||
</pre>
|
||||
|
||||
# Response Headers
|
||||
**The Jikan REST API does not provide authenticated requests for MyAnimeList.**
|
||||
This means you can not use it to update your anime/manga lists.
|
||||
|
||||
**Reasons:**
|
||||
- Why on earth would you send your credentials to a 3rd party API?
|
||||
- MyAnimeList will block our IP after multiple failed login attempts
|
||||
|
||||
However, do not fret. This is possible via their own website. [Read the Specification](https://github.com/jikan-me/jikan-auth/blob/master/SPECIFICATION.md)
|
||||
|
||||
Furthermore, [JikanAuth](https://github.com/jikan-me/jikan-auth) is a PHP API which you can use to update your lists - it implements the **Specification** above. So feel free to come up with your own client-side solution.
|
||||
|
||||
|
||||
# HTTP Response
|
||||
- 200 `OK` - the request was successful.
|
||||
- 304 `Not Modified` - You have the latest data
|
||||
- 400 `Bad Request` - You've made an invalid request or to an invalid endpoint.
|
||||
- 404 `Not Found` - MyAnimeList responded with a 404
|
||||
- 405 `Method Not Allowed` - requested method is not supported for resource.
|
||||
- 429 `Too Many Requests` - You are being rate limited or Jikan is being rate-limited by MyAnimeList
|
||||
- 500 `Internal Server Error` - Something broke on our end :(
|
||||
|
||||
# Errors
|
||||
If you get an error response, it'll be within the `error` field. Here's an example:
|
||||
# JSON Error Response
|
||||
This is a typical error response
|
||||
```
|
||||
{"error": "Something Happened"}
|
||||
{
|
||||
"status": 404,
|
||||
"type": "BadResponseException",
|
||||
"message": "Resource does not exist"
|
||||
"error": "Something Happened"
|
||||
}
|
||||
```
|
||||
|
||||
Here's a list of errors you can get and what you could do to over come them. Appropriate status headers are sent.
|
||||
Property | Remarks
|
||||
:-------------- | :--------
|
||||
`status` | HTTP Status returned
|
||||
`type` | `Exception` generated from the PHP API
|
||||
`message` | Appropriate error message from the REST API
|
||||
`error` | Error response from the PHP API
|
||||
`report_url` (fatal errors only) | Clicking on this would redirect you to a generated GitHub Issue
|
||||
|
||||
### Invalid extended request / Unsupported parse request
|
||||
Check each method for their proper extended requests. For example `/episodes` may exist for anime, but it doesn't exist for manga.
|
||||
|
||||
### Invalid or incomplete endpoint
|
||||
The endpoint you requested either does not exist or you did not make a proper request.
|
||||
|
||||
### Bad Request
|
||||
Same as above
|
||||
|
||||
### Other errors
|
||||
If there's any 404s or the parser is unable to complete the request, you'll get the appropriate status and header for that error.
|
||||
|
||||
|
||||
# Disclaimer
|
||||
- Jikan is not affiliated with MyAnimeList.
|
||||
- Jikan is a **free**, open-source API. Use it responsibly.
|
||||
- **Any abuse of the REST API instance will lead to temporary IP blocks!**
|
||||
|
||||
|
||||
# Cache Validation
|
||||
@ -131,41 +186,48 @@ If there's any 404s or the parser is unable to complete the request, you'll get
|
||||
|
||||
## Anime [/anime/{id}/{request}/{parameter}]
|
||||
A single anime object with all its details
|
||||
|
||||
**Endpoint Path:** `/anime/{id}(/request)`
|
||||
|
||||
### Requests
|
||||
| Request | Parameter | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| characters_staff | N/A | Fetches the list of characters & staff members of the anime |
|
||||
| episodes | Page number (integer) | Fetches the list of episodes of the anime |
|
||||
| news | N/A | News related to the item |
|
||||
| pictures | N/A | Pictures related to the item |
|
||||
| videos | N/A | PV & episodes (if any) related to the item |
|
||||
| stats | N/A | Statistical information related to the item |
|
||||
| forum | N/A | Forum topics related to the item |
|
||||
| moreinfo | N/A | More info related to the item |
|
||||
| reviews | Page number (integer) | Reviews written by users |
|
||||
| recommendations | N/A | Recommendations and their weightage made by users |
|
||||
| userupdates | Page number (integer) | Latest list updates made by users |
|
||||
| `/` | N/A | Resource object with all it's details |
|
||||
| `/characters_staff` | N/A | List of character and staff members |
|
||||
| `/episodes` | Page number (integer) | List of episodes |
|
||||
| `/news` | N/A | List of Related news |
|
||||
| `/pictures` | N/A | List of Related pictures |
|
||||
| `/videos` | N/A | List o fPromotional Videos & episodes (if any) |
|
||||
| `/stats` | N/A | Related statistical information |
|
||||
| `/forum` | N/A | List of Related forum topics |
|
||||
| `/moreinfo` | N/A | A string of more information (if any) |
|
||||
| `/reviews` | Page number (integer) | List of Reviews written by users |
|
||||
| `/recommendations` | N/A | List of Recommendations and their weightage made by users |
|
||||
| `/userupdates` | Page number (integer) | List of the latest list updates made by users |
|
||||
|
||||
|
||||
|
||||
#### Remarks
|
||||
#### Remarks
|
||||
|
||||
##### `/episodes`
|
||||
- The field `episodes_last_page` will tell you the last page of the paginated episodes list.
|
||||
|
||||
- The episodes page on MyAnimeList get paginated after 100 episodes. If there's an anime with more than 100 episodes, you'll have to use the parameter.
|
||||
|
||||
##### `/reviews`
|
||||
- Only 20 items are shown per page for reviews
|
||||
|
||||
### Example Calls
|
||||
### Examples
|
||||
- `/anime/1/characters_staff` // Returns the list of characters and staff
|
||||
- `/anime/1/episodes` // Defaults to the 1st page
|
||||
- `/anime/1/episodes/1` // Same as above
|
||||
- `/anime/1/episodes/2` // Returns 2nd page if there's any
|
||||
|
||||
|
||||
### Anime Request Example+Schema [GET]
|
||||
### Fetch Resource [GET]
|
||||
|
||||
+ Parameters
|
||||
+ id (required, Number, `1`) ... Returns the Anime details from that the ID
|
||||
+ id (required, Number, `1`) ... MyAnimeList ID of the anime
|
||||
+ request (optional, String, `episodes`) ... More details such as characters, staff, episodes
|
||||
+ parameter (optional, Number, `2`) ... Anime with more than 100 episodes are paginated, hence this parameter is required.
|
||||
|
||||
@ -254,33 +316,137 @@ A single character object with all its details
|
||||
## Search [/search/{type}/?q=Fate/Zero&page=1]
|
||||
Search results for the query
|
||||
|
||||
**NOTE: MyAnimeList only processes queries with a minimum of 3 letters**
|
||||
**NOTE: MyAnimeList only processes queries with a minimum of 3 letters.** However, the search function can be used without `q`! Check examples below for more details.
|
||||
|
||||
### Parameters
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| type | anime, manga, person, character | Specify where to search |
|
||||
| query **(v2 only)** | STRING | Query you want to search |
|
||||
| page | INTEGER | Page number of the results |
|
||||
|
||||
### Advanced Search Parameters (Anime & Manga)
|
||||
**Note:** These are search filters which have to be passed as GET `key=value`
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| q **(required for v3+)** | STRING | For UTF8 characters, percentage encoded and queries including back slashes |
|
||||
| q | STRING | For UTF8 characters, percentage encoded and queries including back slashes |
|
||||
| page | INTEGER | Page number |
|
||||
| type | `tv` `ova` `movie` `special` `ona` `music` `manga` `novel` `oneshot` `doujin` `manhwa` `manhua` | Filter type of results |
|
||||
| status | `airing` `completed` `complete` (alias) `tba` `upcoming` (alias) | Filter status of results |
|
||||
| rated | `g` `pg` `pg13` `r17` `r` `rx` | Filter age rating of results - [View Meaning](https://jikan.moe/docs#advanced-search-rating-constants) |
|
||||
| genre | INTEGER : 1-43 | These values reflect the genre IDs of MyAnimeList - [View Values](https://jikan.moe/docs#advanced-search-genre-constants) |
|
||||
| type | **See Enums Below** | Filter type of results |
|
||||
| status | **See Enums Below** | Filter status of results |
|
||||
| rated | **See Enums Below** | Filter age rating of results |
|
||||
| genre | **See Enums Below** | Filter by genre ID(s) |
|
||||
| score | FLOAT : 0.0-10.0 | Filter score of results |
|
||||
| start_date | ISO8601 | Filter start date of results |
|
||||
| end_date | ISO8601 | Filter end date of results |
|
||||
| start_date | `yyyy-mm-dd` | Filter start date of results |
|
||||
| end_date | `yyyy-mm-dd` | Filter end date of results |
|
||||
| genre_exclude | boolean : 0/1 | To exlude/include the `genre` you added in your request |
|
||||
| limit | INTEGER | Limits item results to the number specified |
|
||||
| order_by | **See Enums Below** | Order results with respect to a property |
|
||||
| sort | **See Enums Below** | Sort `order_by` (Default is `descending`) |
|
||||
|
||||
### Search Filters
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| limit | INTEGER | Limits item results to the amount specified |
|
||||
|
||||
#### Enums
|
||||
##### `type`
|
||||
| Anime Types | Manga Types |
|
||||
| :------------ | :---------- |
|
||||
| `tv` | `manga` |
|
||||
| `ova` | `novel` |
|
||||
| `movie` | `oneshot` |
|
||||
| `special` | `doujin` |
|
||||
| `ona` | `manhwa` |
|
||||
| `music` | `manhua` |
|
||||
|
||||
##### `status`
|
||||
| Anime Status | Manga Status |
|
||||
| :------------ | :---------- |
|
||||
| `airing` | `publishing` |
|
||||
| `completed` | `completed` |
|
||||
| `complete` (alias) | `complete` (alias) |
|
||||
| `to_be_aired` | `to_be_published` |
|
||||
| `tba` (alias) | `tbp` (alias) |
|
||||
| `upcoming` (alias) | `upcoming` (alias) |
|
||||
|
||||
##### `rated`
|
||||
Anime ratings are based on MyAnimeList's rating system.
|
||||
Read more about them [here](https://myanimelist.net/info.php?go=mpaa)
|
||||
|
||||
| Anime Search | Remarks |
|
||||
| :------------ | :----- |
|
||||
| `g` | **G** - All Ages |
|
||||
| `pg` | **PG** - Children |
|
||||
| `pg13` | **PG-13** - Teens 13 or older |
|
||||
| `r17` | **R** - 17+ recommended (violence & profanity) |
|
||||
| `r` | **R+** - Mild Nudity (may also contain violence & profanity) |
|
||||
| `rx` | **Rx** - Hentai (extreme sexual content/nudity) |
|
||||
|
||||
|
||||
##### `order_by`
|
||||
| Anime Search | Manga Search |
|
||||
| :------------ | :---------- |
|
||||
| `title` | `title` |
|
||||
| `start_date` | `start_date` |
|
||||
| `end_date` | `end_date` |
|
||||
| `score` | `score` |
|
||||
| `type` | `type` |
|
||||
| `members` | `members` |
|
||||
| `id` | `id` |
|
||||
| `episodes` | `chapters` |
|
||||
| `rating` | `volumes` |
|
||||
|
||||
##### `sort`
|
||||
| Anime & Manga Sort |
|
||||
| :------------ |
|
||||
| `ascending` |
|
||||
| `asc` (alias) |
|
||||
| `descending` |
|
||||
| `desc` (alias) |
|
||||
|
||||
##### `genre`
|
||||
| Anime Genre | Manga Genre |
|
||||
| :------------ | :---------- |
|
||||
| **Action:** `1` | **Action:** `1` |
|
||||
| **Adventure:** `2` | **Adventure:** `2` |
|
||||
| **Cars:** `3` | **Cars:** `3` |
|
||||
| **Comedy:** `4` | **Comedy:** `4` |
|
||||
| **Dementia:** `5` | **Dementia:** `5` |
|
||||
| **Demons:** `6` | **Demons:** `6` |
|
||||
| **Mystery:** `7` | **Mystery:** `7` |
|
||||
| **Drama:** `8` | **Drama:** `8` |
|
||||
| **Ecchi:** `9` | **Ecchi:** `9` |
|
||||
| **Fantasy:** `10` | **Fantasy:** `10` |
|
||||
| **Game:** `11` | **Game:** `11` |
|
||||
| **Hentai:** `12` | **Hentai:** `12` |
|
||||
| **Historical:** `13` | **Historical:** `13` |
|
||||
| **Horror:** `14` | **Horror:** `14` |
|
||||
| **Kids:** `15` | **Kids:** `15` |
|
||||
| **Magic:** `16` | **Magic:** `16` |
|
||||
| **Martial Arts:** `17` | **Martial Arts:** `17` |
|
||||
| **Mecha:** `18` | **Mecha:** `18` |
|
||||
| **Music:** `19` | **Music:** `19` |
|
||||
| **Parody:** `20` | **Parody:** `20` |
|
||||
| **Samurai:** `21` | **Samurai:** `21` |
|
||||
| **Romance:** `22` | **Romance:** `22` |
|
||||
| **School:** `23` | **School:** `23` |
|
||||
| **Sci Fi:** `24` | **Sci Fi:** `24` |
|
||||
| **Shoujo:** `25` | **Shoujo:** `25` |
|
||||
| **Shoujo Ai:** `26` | **Shoujo Ai:** `26` |
|
||||
| **Shounen:** `27` | **Shounen:** `27` |
|
||||
| **Shounen Ai:** `28` | *Shounen Ai*: `28` |
|
||||
| **Space:** `29` | **Space:** `29` |
|
||||
| **Sports:** `30` | **Sports:** `30` |
|
||||
| **Super Power:** `31` | **Super Power:** `31` |
|
||||
| **Vampire:** `32` | **Vampire:** `32` |
|
||||
| **Yaoi:** `33` | **Yaoi:** `33` |
|
||||
| **Yuri:** `34` | **Yuri:** `34` |
|
||||
| **Harem:** `35` | **Harem:** `35` |
|
||||
| **Slice Of Life:** `36` | **Slice Of Life:** `36` |
|
||||
| **Supernatural:** `37` | **Supernatural:** `37` |
|
||||
| **Military:** `38` | **Military:** `38` |
|
||||
| **Police:** `39` | **Police:** `39` |
|
||||
| **Psychological:** `40` | **Psychological:** `40` |
|
||||
| **Thriller:** `41` | **Seinen:** `41` |
|
||||
| **Seinen:** `42` | **Josei:** `42` |
|
||||
| **Josei:** `43` | **Doujinshi:** `43` |
|
||||
| | **Gender Bender:** `44` |
|
||||
| | **Thriller:** `45` |
|
||||
|
||||
#### Examples
|
||||
`/search/manga/Grand%20Blue/1` **(DEPRECIATED v3+)**
|
||||
@ -295,6 +461,7 @@ Furthermore, the former method is **depreciated** in v3+. Use `q` for passing qu
|
||||
|
||||
`/search/people/?q=Sawashiro&limit=3`
|
||||
|
||||
|
||||
### Search Request Example+Schema [GET]
|
||||
|
||||
|
||||
@ -485,8 +652,96 @@ User related data
|
||||
| ------------- | ------------- | ------------- |
|
||||
| history | `anime`, `manga` | Returns both combined if neither are passed |
|
||||
| friends | INTEGER | Pagination support; Status 404 if there's no friends on the page |
|
||||
| animelist | `all`, `watching`, `completed`, `onhold`, `dropped`, `plantowatch`, `ptw` (alias) |
|
||||
| mangalist | `all`, `reading`, `completed`, `onhold`, `dropped`, `plantoread`, `ptr` (alias) |
|
||||
| animelist | **See Enums Below** |
|
||||
| mangalist | **See Enums Below** |
|
||||
|
||||
#### User List Filter
|
||||
| Anime List `/animelist` | Manga List `/mangalist` |
|
||||
| :------------ | :---------- |
|
||||
| `/` | `/` |
|
||||
| `/all` (alias) | `/all` (alias) |
|
||||
| `/watching` | `/reading` |
|
||||
| `/onhold` | `/onhold` |
|
||||
| `/dropped` | `/dropped` |
|
||||
| `/plantowatch` | `/plantoread` |
|
||||
| `/ptw` (alias) | `/ptr` |
|
||||
|
||||
### Advanced User List Parameters (Anime & Manga)
|
||||
**Note:** These are search filters which have to be passed as GET `key=value`
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| `search` | STRING | Return items in your list matching the string |
|
||||
| `q` (alias) | STRING | Return items in your list matching the string |
|
||||
| `page` (alias) | INEGER | Pass page number as a `key=value` |
|
||||
| `sort` | **See Enums Below** | Sort `order_by` (Default is `descending`) |
|
||||
|
||||
### Advanced User List Parameters (ANIME)
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| `order_by` | **See Enums Below** | Order items with respect to a property |
|
||||
| `order_by2` | **See Enums Below** | Order items with respect to a second property |
|
||||
| `aired_from` | `yyyy-mm-dd` | Filter Anime that have aired from this date |
|
||||
| `aired_to` | `yyyy-mm-dd` | Filter Anime that have aired till this date |
|
||||
| `producer` | Integer | Filter Anime by this Producer ID |
|
||||
| `year` | Integer: Year | Filter anime from a year |
|
||||
| `season` | `summer` `spring` `fall` `winter` | Filter anime from a season (require `year`) |
|
||||
| `airing_status` | **See Enums Below** | Filter Anime with a status |
|
||||
|
||||
### Advanced User List Parameters (MANGA)
|
||||
| Parameter | Argument | Description |
|
||||
| ------------- | ------------- | ------------- |
|
||||
| `order_by` | **See Enums Below** | Order items with respect to a property |
|
||||
| `order_by2` | **See Enums Below** | Order items with respect to a second property |
|
||||
| `published_from` | `yyyy-mm-dd` | Filter Manga that have published from this date |
|
||||
| `published_to` | `yyyy-mm-dd` | Filter Manga that have published till this date |
|
||||
| `magazine` | Integer | Filter Manga by this Magazine ID |
|
||||
| `publishing_status` | **See Enums Below** | Filter Manga with a status |
|
||||
|
||||
Regarding `yyyy-mm-dd` dates, you can search for only the year or only the year and the month as well.
|
||||
Just pass it as `yyyy-00-00` or `yyyy-mm-00`. e.g `2018-00-00`, `2018-12-00`
|
||||
|
||||
|
||||
#### Enums
|
||||
##### `order_by` & `order_by2`
|
||||
| Anime List | Manga List |
|
||||
| :------------ | :---------- |
|
||||
| `title` | `title` |
|
||||
| `finish_date` | `finish_date` |
|
||||
| `start_date` | `start_date` |
|
||||
| `score` | `score` |
|
||||
| `last_updated` | `last_updated` |
|
||||
| `type` | `type` |
|
||||
| `rated` | `` |
|
||||
| `rewatch` | `` |
|
||||
| `rewatch_value` (alias) | `` |
|
||||
| `priority` | `priority` |
|
||||
| `progress` | `progress` (`chapters_read`) |
|
||||
| `episodes_watched` (alias) | `chapters_read` (alias) |
|
||||
| | `volumes_read` |
|
||||
| `storage` | `` |
|
||||
| `air_start` | `publish_start` |
|
||||
| `air_end` | `publish_end` |
|
||||
| `status` | `status` |
|
||||
|
||||
##### `sort`
|
||||
| Anime & Manga Sort |
|
||||
| :------------ |
|
||||
| `ascending` |
|
||||
| `asc` (alias) |
|
||||
| `descending` |
|
||||
| `desc` (alias) |
|
||||
|
||||
##### `airing_status` & `publishing_status`
|
||||
| Anime Airing Status | Manga Publishing Status |
|
||||
| :------------ | :------------ |
|
||||
| `airing` | `publishing` |
|
||||
| `finished` | `finished` |
|
||||
| `complete` (alias) | `complete` (alias) |
|
||||
| `to_be_aired` | `to_be_published` |
|
||||
| `not_yet_aired` (alias) | `not_yet_published` (alias) |
|
||||
| `tba` (alias) | `tbp` (alias) |
|
||||
| `nya` (alias) | `nyp` (alias) |
|
||||
|
||||
|
||||
#### Examples
|
||||
`/user/nekomata1037` - Parses Profile
|
||||
|
Loading…
x
Reference in New Issue
Block a user