PHPackages                             shaggyze/mal-scraper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. shaggyze/mal-scraper

ActiveLibrary[API Development](/categories/api)

shaggyze/mal-scraper
====================

Unofficial MyAnimeList API that scrap and parse everything from MyAnimeList web into array and json

00PHP

Since Dec 1Pushed 5mo agoCompare

[ Source](https://github.com/shaggyze/MAL-Scraper)[ Packagist](https://packagist.org/packages/shaggyze/mal-scraper)[ RSS](/packages/shaggyze-mal-scraper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

> Go [here](https://github.com/rl404/go-malscraper) for a better and more updated version.

[![](https://raw.githubusercontent.com/rl404/MyAnimeList/master/Images/malscraper-logo.png)](https://raw.githubusercontent.com/rl404/MyAnimeList/master/Images/malscraper-logo.png)
[![](https://camo.githubusercontent.com/b76bd2ac596779a72f4b132b65cbeb0c3063bc9131fbb823fe65297c00953cb9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344352e342d3838393242462e737667)](https://php.net/)[![StyleCI Status](https://camo.githubusercontent.com/0f5e39d6abff4c04086122307afa3901700593d70c5c5031d146b4a19ab107f2/68747470733a2f2f7374796c6563692e696f2f7265706f732f3134363137333230322f736869656c643f6272616e63683d6d6173746572267374796c653d666c6174)](https://styleci.io/repos/146173202)[![Code Factor](https://camo.githubusercontent.com/e11e37da81cc3e233542f70455ecea87921e7e3b7e86d3cf72109481f393e110/68747470733a2f2f7777772e636f6465666163746f722e696f2f7265706f7369746f72792f6769746875622f726c3430342f6d616c2d736372617065722f6261646765)](https://www.codefactor.io/repository/github/rl404/mal-scraper)[![Scrutinizer Score](https://camo.githubusercontent.com/cd6dc7a73a1727470a781b58891114e3d73cf59a87bc28d331696a06c0579bf7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f726c3430342f4d414c2d536372617065722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/rl404/MAL-Scraper/?branch=master)[![Stable Version](https://camo.githubusercontent.com/e0b2717929646e1559574169ace373efec1ece242c1660181ac56549f4783bdc/68747470733a2f2f706f7365722e707567782e6f72672f726c3430342f6d616c2d736372617065722f762f737461626c65)](https://packagist.org/packages/rl404/mal-scraper)[![Total Downloads](https://camo.githubusercontent.com/96883fc8e48c8eb665f7bf7d4af8fae1018d1d9eadb53052773b4caaef6f60d9/68747470733a2f2f706f7365722e707567782e6f72672f726c3430342f6d616c2d736372617065722f646f776e6c6f616473)](https://packagist.org/packages/rl404/mal-scraper)[![License](https://camo.githubusercontent.com/dd6741b8e429b284bede8e3f4d6b784871f590f038b49ab9c8bec182db9a9c83/68747470733a2f2f706f7365722e707567782e6f72672f726c3430342f6d616c2d736372617065722f6c6963656e7365)](https://packagist.org/packages/rl404/mal-scraper)

*Mal-Scraper* is an unofficial PHP API which scraps and parses page source of [MyAnimeList](https://myanimelist.net/).

Well, it is created to help people get MyAnimeList data without relying on MyAnimeList. It's working as long as the web is up and we can get its page source.

*Mal-Scraper* is using [Sunra's](https://github.com/sunra/php-simple-html-dom-parser) HTML DOM parser and inspired by [Kylart's](https://github.com/Kylart/MalScraper) and [Jikan's](https://github.com/jikan-me/jikan) API.

For those who want the **REST API** one, please come [here](https://github.com/shaggyze/MAL-Scraper-API).

### Features

[](#features)

- Get general information of anime, manga, character (from anime and manga), people (voice actor, author, staff, etc), review or recommendation
- Get additional information of anime or manga video, episode, review, recommendation, character and staff, statistic and score, or picture
- Get list of anime or manga of selected studio/producer, magazine, or genre
- Get list of all anime or manga genre, anime studio/producer or manga magazine
- Get list of character and staff involved in an anime or manga
- Get list of anime, manga or best-voted review (pagination supported)
- Get list of anime or manga recommendation (pagination supported)
- Get result of searching, anime, manga, character, people or user (pagination supported)
- Get seasonal anime
- Get list of top anime from various categories (all, airing, upcoming, etc) (pagination supported)
- Get list of top manga from various categories (all, manga, novel, etc) (pagination supported)
- Get list of most favorited character and people (pagination supported)
- Get information of user profile, friends, history, and anime/manga list
- Caching (using [Simple-PHP-Cache library](https://github.com/cosenary/Simple-PHP-Cache))
- Convertable return to http response (for API)
- (Bonus) Get all anime/manga cover from user list

*More will be coming soon...*

Installation
------------

[](#installation)

1. `composer require rl404/mal-scraper`
2. That's it.

#### Dependencies

[](#dependencies)

- PHP 5.4+
- rl404/simple-php-cache 1.6.1+
- rl404/php-simple-html-dom-parser 1.5.3+

Usage
-----

[](#usage)

```
require "vendor/autoload.php";
use MalScraper\MalScraper;

// Default (no caching, return array)
$myMalScraper = new MalScraper();

// Caching feature
$myMalScraper = new MalScraper([
    'enable_cache' => true,     // enable caching
    'cache_time' => 3600,       // (optional) caching time in seconds (1 day as default)
    'cache_path' => '../Cache/' // (optional) caching path (/src/MalScraper/Cache/ as default)
]);

// Return http response
$myMalScraper = new MalScraper([
    'to_api' => true,         	// convert return to http response
]);
```

> If you set the `cache_path`, don't forget the last slash ('/') of the folder location.

### Example

[](#example)

```
$cowboyBebopInfo = $myMalScraper->getInfo('anime', 1);
print_r($cowboyBebopInfo);
```

 Result ```
Array
(
    [id] => 1
    [cover] => https://cdn.myanimelist.net/images/anime/4/19644.jpg
    [title] => Cowboy Bebop
    [title2] => Array
        (
            [english] => Cowboy Bebop
            [synonym] =>
            [japanese] => カウボーイビバップ
        )
    [synopsis] => In the year 2071, humanity has colonized several of the planets and moons of the solar system leaving the now uninhabitable surface of planet Earth behind. The Inter Solar System Police attempts to keep peace in the galaxy, aided in part by outlaw bounty hunters, referred to as \"Cowboys.\" The ragtag team aboard the spaceship Bebop are two such individuals.
Mellow and carefree Spike Spiegel is balanced by his boisterous, pragmatic partner Jet Black as the pair makes a living chasing bounties and collecting rewards. Thrown off course by the addition of new members that they meet in their travels—Ein, a genetically engineered, highly intelligent Welsh Corgi; femme fatale Faye Valentine, an enigmatic trickster with memory loss; and the strange computer whiz kid Edward Wong—the crew embarks on thrilling adventures that unravel each member's dark and mysterious past little by little.
Well-balanced with high density action and light-hearted comedy, Cowboy Bebop is a space Western classic and an homage to the smooth and improvised music it is named after.
[Written by MAL Rewrite]
    [score] => 8.81
    [voter] => 397445
    [rank] => 27
    [popularity] => 39
    [members] => 777210
    [favorite] => 42552
    [type] => TV
    [episodes] => 26
    [status] => Finished Airing
    [aired] => Array
        (
            [start] => 1998-04-03
            [end] => 1999-04-24
        )
    [premiered] => Spring 1998
    [broadcast] => Saturdays at 01:00 (JST)
    [producers] => Array
        (
            [0] => Array
                (
                    [id] => 23
                    [name] => Bandai Visual
                )
        )
    [licensors] => Array
        (
            [0] => Array
                (
                    [id] => 102
                    [name] => Funimation
                )
            [1] => Array
                (
                    [id] => 233
                    [name] => Bandai Entertainment
                )
        )
    [studios] => Array
        (
            [0] => Array
                (
                    [id] => 14
                    [name] => Sunrise
                )
        )
    [source] => Original
    [genres] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Action
                )
            [1] => Array
                (
                    [id] => 2
                    [name] => Adventure
                )
            [2] => Array
                (
                    [id] => 4
                    [name] => Comedy
                )
            [3] => Array
                (
                    [id] => 8
                    [name] => Drama
                )
            [4] => Array
                (
                    [id] => 24
                    [name] => Sci-Fi
                )
            [5] => Array
                (
                    [id] => 29
                    [name] => Space
                )
        )
    [duration] => 24 min. per ep.
    [rating] => R - 17+ (violence & profanity)
    [related] => Array
        (
            [adaptation] => Array
                (
                    [0] => Array
                        (
                            [id] => 173
                            [title] => Cowboy Bebop
                            [type] => manga
                        )
                    [1] => Array
                        (
                            [id] => 174
                            [title] => Shooting Star Bebop: Cowboy Bebop
                            [type] => manga
                        )
                )
            [side story] => Array
                (
                    [0] => Array
                        (
                            [id] => 5
                            [title] => Cowboy Bebop: Tengoku no Tobira
                            [type] => anime
                        )
                    [1] => Array
                        (
                            [id] => 17205
                            [title] => Cowboy Bebop: Ein no Natsuyasumi
                            [type] => anime
                        )
                )
            [summary] => Array
                (
                    [0] => Array
                        (
                            [id] => 4037
                            [title] => Cowboy Bebop: Yose Atsume Blues
                            [type] => anime
                        )
                )
        )
    [character] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Spiegel, Spike
                    [role] => Main
                    [image] => https://cdn.myanimelist.net/images/characters/4/50197.jpg
                    [va_name] => Yamadera, Kouichi
                    [va_id] => 11
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/3/44674.jpg
                    [va_role] => Japanese
                )
            [1] => Array
                (
                    [id] => 16
                    [name] => Wong Hau Pepelu Tivrusky IV, Edward
                    [role] => Main
                    [image] => https://cdn.myanimelist.net/images/characters/16/30533.jpg
                    [va_name] => Tada, Aoi
                    [va_id] => 658
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/2/27665.jpg
                    [va_role] => Japanese
                )
            [2] => Array
                (
                    [id] => 2
                    [name] => Valentine, Faye
                    [role] => Main
                    [image] => https://cdn.myanimelist.net/images/characters/15/264961.jpg
                    [va_name] => Hayashibara, Megumi
                    [va_id] => 14
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/1/54011.jpg
                    [va_role] => Japanese
                )
            [3] => Array
                (
                    [id] => 3
                    [name] => Black, Jet
                    [role] => Main
                    [image] => https://cdn.myanimelist.net/images/characters/11/253723.jpg
                    [va_name] => Ishizuka, Unshou
                    [va_id] => 357
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/2/17135.jpg
                    [va_role] => Japanese
                )
            [4] => Array
                (
                    [id] => 4
                    [name] => Ein
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/5/30624.jpg
                    [va_name] => Yamadera, Kouichi
                    [va_id] => 11
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/3/44674.jpg
                    [va_role] => Japanese
                )
            [5] => Array
                (
                    [id] => 2734
                    [name] => Vicious
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/4/284773.jpg
                    [va_name] => Wakamoto, Norio
                    [va_id] => 84
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/3/46186.jpg
                    [va_role] => Japanese
                )
            [6] => Array
                (
                    [id] => 2736
                    [name] => Eckener, Grencia Mars Elijah Guo
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/13/213557.jpg
                    [va_name] => Horiuchi, Kenyuu
                    [va_id] => 262
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/2/49692.jpg
                    [va_role] => Japanese
                )
            [7] => Array
                (
                    [id] => 2735
                    [name] => Julia
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/9/52297.jpg
                    [va_name] => Takashima, Gara
                    [va_id] => 497
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/3/46185.jpg
                    [va_role] => Japanese
                )
            [8] => Array
                (
                    [id] => 23740
                    [name] => Von de Oniyate, Andy
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/3/213563.jpg
                    [va_name] => Ebara, Masashi
                    [va_id] => 179
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/3/49817.jpg
                    [va_role] => Japanese
                )
            [9] => Array
                (
                    [id] => 29313
                    [name] => Mad Pierrot
                    [role] => Supporting
                    [image] => https://cdn.myanimelist.net/images/characters/11/212087.jpg
                    [va_name] => Ginga, Banjou
                    [va_id] => 330
                    [va_image] => https://cdn.myanimelist.net/images/voiceactors/1/44678.jpg
                    [va_role] => Japanese
                )
        )
    [staff] => Array
        (
            [0] => Array
                (
                    [id] => 40009
                    [name] => Maseba, Yutaka
                    [role] => Producer
                    [image] => https://cdn.myanimelist.net/images/voiceactors/3/40216.jpg
                )
            [1] => Array
                (
                    [id] => 6519
                    [name] => Minami, Masahiko
                    [role] => Producer
                    [image] => https://cdn.myanimelist.net/images/voiceactors/2/39506.jpg
                )
            [2] => Array
                (
                    [id] => 2009
                    [name] => Watanabe, Shinichiro
                    [role] => Director, Script, Storyboard
                    [image] => https://cdn.myanimelist.net/images/voiceactors/1/54604.jpg
                )
            [3] => Array
                (
                    [id] => 20050
                    [name] => Kobayashi, Katsuyoshi
                    [role] => Sound Director
                    [image] =>
                )
        )
    [song] => Array
        (
            [opening] => Array
                (
                    [0] => \"Tank!\" by The Seatbelts (eps 1-25)
                )
            [closing] => Array
                (
                    [0] => \"The Real Folk Blues\" by The Seatbelts feat. Mai Yamane (eps 1-12, 14-25)
                    [1] => \"Space Lion\" by The Seatbelts (ep 13)
                    [2] => \"Blue\" by The Seatbelts feat. Mai Yamane (ep 26)
                )
        )
)

```

For more usage and methods, please go to the [wiki](https://github.com/rl404/MAL-Scraper/wiki)

Contributing
------------

[](#contributing)

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request.

Disclamer
---------

[](#disclamer)

All data (including anime, manga, people, etc) and MyAnimeList logos belong to their respective copyrights owners. Mal-Scraper does not have any affliation with content providers.

License
-------

[](#license)

MIT License

Copyright (c) rl404

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance52

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 92.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f6fb61588db4f0458ec3648e3ef297001f4f8e34ba933695fc70ade22d2ae259?d=identicon)[shaggyze](/maintainers/shaggyze)

---

Top Contributors

[![shaggyze](https://avatars.githubusercontent.com/u/6075285?v=4)](https://github.com/shaggyze "shaggyze (1069 commits)")[![rl404](https://avatars.githubusercontent.com/u/8389774?v=4)](https://github.com/rl404 "rl404 (88 commits)")

### Embed Badge

![Health badge](/badges/shaggyze-mal-scraper/health.svg)

```
[![Health](https://phpackages.com/badges/shaggyze-mal-scraper/health.svg)](https://phpackages.com/packages/shaggyze-mal-scraper)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M475](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M270](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M452](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
