All Projects → KatsuteDev → Mal4J

KatsuteDev / Mal4J

Licence: GPL-2.0 license
Java wrapper for the official MyAnimeList API

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Mal4J

myanimelist-api-v2
An awesome wrapper on Nodejs for the new MyAnimeList's API v2!
Stars: ✭ 30 (+30.43%)
Mutual labels:  anime, manga, myanimelist-api, myanimelist, api-anime, api-manga
kuristina
An API that lets you fetch user lists from MyAnimeList.
Stars: ✭ 14 (-39.13%)
Mutual labels:  anime, manga, mal, myanimelist-api, myanimelist
Jikan4java
Kotlin wrapper for Jikan, an myanimelist api
Stars: ✭ 27 (+17.39%)
Mutual labels:  anime, manga, myanimelist-api, myanimelist
anilist-to-mal
A python tool that will export your Anilist.co anime list for MAL importing
Stars: ✭ 33 (+43.48%)
Mutual labels:  anime, mal, myanimelist-api, myanimelist
Kitsu
A kitsu.io api wrapper written in C# .NET Core
Stars: ✭ 15 (-34.78%)
Mutual labels:  anime, manga, mal
anilabx
AniLabX - android app for watching anime/dramas/cartoons and reading manga/comics/light novels
Stars: ✭ 54 (+134.78%)
Mutual labels:  anime, manga, myanimelist
arm
A JSON-based database to relational mapping Anime ID's between MyAnimeList, Annict, AniList and Syoboi Calendar
Stars: ✭ 25 (+8.7%)
Mutual labels:  anime, mal, myanimelist
jikan-nodejs
A Node.js wrapper for Jikan REST API.
Stars: ✭ 16 (-30.43%)
Mutual labels:  anime, manga, myanimelist
Jikan
Unofficial MyAnimeList PHP+REST API which provides functions other than the official API
Stars: ✭ 531 (+2208.7%)
Mutual labels:  anime, manga, myanimelist
Malgraph4
MALgraph: statistics service for MyAnimeList.net users.
Stars: ✭ 143 (+521.74%)
Mutual labels:  anime, manga, myanimelist
Shukofukurou
Native AniList, Kitsu, and MyAnimeList Tracker for macOS written in Objective-C
Stars: ✭ 39 (+69.57%)
Mutual labels:  anime, manga, myanimelist
Railgun
An extension of the MyAnimeList API.
Stars: ✭ 8 (-65.22%)
Mutual labels:  anime, manga, myanimelist
Jikan Rest
The REST API for Jikan
Stars: ✭ 200 (+769.57%)
Mutual labels:  anime, manga, myanimelist
JikanKt
A Kotlin wrapper for Jikan REST API
Stars: ✭ 17 (-26.09%)
Mutual labels:  anime, manga, myanimelist
nyaamal
A chrome extension to download anime torrents directly from MyAnimeList and Anilist
Stars: ✭ 75 (+226.09%)
Mutual labels:  anime, mal, myanimelist
MalScraper
Scrape everything you can from MyAnimeList.net
Stars: ✭ 132 (+473.91%)
Mutual labels:  anime, myanimelist-api, myanimelist
python3-mal
Python interface to MyAnimeList
Stars: ✭ 18 (-21.74%)
Mutual labels:  mal, myanimelist-api, myanimelist
Malclient
Not so small client app for Myanimelist.net - Windows 10 UWP & Android
Stars: ✭ 253 (+1000%)
Mutual labels:  anime, manga, myanimelist
Malsync
Integrates MyAnimeList/AniList/Kitsu/Simkl into various sites, with auto episode tracking.
Stars: ✭ 572 (+2386.96%)
Mutual labels:  anime, manga, myanimelist
Moelist
Another unofficial Android MAL client
Stars: ✭ 45 (+95.65%)
Mutual labels:  anime, manga, myanimelist
Mal4J - MyAnimeList for Java

Java wrapper for the official MyAnimeList API


Mal4J is a Java wrapper for the MyAnimeList API. This library is compatible with Java 8+, Java 9+ modules, and Android.

This library supports read and write operations, including list updates.

(back to top)

📃 Installation

Mal4J requires at least Java 8. No additional dependencies/libraries are required.

Compiled binaries can be installed from:

See setup for steps to authenticate and actually use this library.

(back to top)

Features

🔎 Search Queries

Find Anime and Manga by search, ranking, season, and suggestions.

MyAnimeList mal = MyAnimeList.withClientID("");
List<Anime> search =
    mal.getAnime()
        .withQuery("さくら荘のペットな彼女")
        .withLimit(1)
        .withOffset(1)
        .includeNSFW(false)
        .search();

📋 Anime and Manga Lists

Read and edit your Anime and Manga listings.

MyAnimeList mal = MyAnimeList.withToken("");
MangaListStatus status =
    mal.updateMangaListing(28107)
        .status(MangaStatus.Reading)
        .volumesRead(7)
        .chaptersRead(2)
        .rereading(false)
        .priority(Priority.High)
        .timesReread(0)
        .rereadValue(RereadValue.VeryHigh)
        .tags("tags", "more tags")
        .comments("comments")
        .update();

📦 Everything Else

All information provided in the MyAnimeList API including Anime, Manga, forums, genres, pictures, and statistics, are accessible in this library.

MyAnimeList mal = MyAnimeList.withClientID("");
Anime anime = mal.getAnime(13759);

String ja = anime.getAlternativeTitles().getJapanese();
Genre[] genres = anime.getGenres();
RelatedAnime[] relatedAnime = anime.getRelatedAnime();
AnimeRecommendation[] recs = anime.getRecommendations();
OpeningTheme[] op = anime.getOpeningThemes();
Video[] PV = anime.getVideos();

(back to top)

👨‍💻 Contributing

GitHub Copilot

GitHub Copilot

GitHub Copilot is strictly prohibited on this repository.
Pulls using this will be rejected.

  • Found a bug? Post it in issues.
  • Want to further expand our project? Fork this repository and submit a pull request.

⚠️️ Before you start

For Anime/Manga list tests Sakura-sou no Pet na Kanojo (Anime#13759 and Manga#28107) will be used.

The test cases will create a backup of your list in the anime-list.txt and manga-list.txt files. Make sure you fix your ratings and any other information that might be overwritten by this test.

Ignore test failures for these known issues: ⚠️ External Issues.

💻 Running Tests Locally

For local tests you can use Java 8+, however only methods in the Java 8 API may be used. The src/main/java9 and src/main/java11 folders should not be marked as a source root.

Run tests locally by adding a text file named client.txt that contains the client ID in the src/test/java/resources directory.

Please note that the client ID being used for tests must not have a client secret and must have an app redirect url of http://localhost:5050.

🌐 Running Tests using GitHub Actions

Tests can be run using GitHub Actions by running the MyAnimeList CI workflow manually in the actions tab of your fork. Note that this requires two secrets, a MAL_CLIENT which contains the client ID, and a MAL_TOKEN which contains the OAuth token (ex: Bearer <oauth token>).

(back to top)


💼 License

This library is released under the GNU General Public License (GPL) v2.0.

⚠️️ Disclaimer

(back to top)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].