mallardduck / metacritic-api
Requires
- mashape/unirest-php: ^3.0
Requires (Dev)
- phpmetrics/phpmetrics: ^2.7
- vimeo/psalm: ^4.0
README
Using this Metacritic API, you are able to search games on metacritic.com.
It will give you back the metacritic score, users score, genres, rating, developers and much more (see below for an example). The output is in JSON format, so it is easy to parse in both PHP or other languages.
By default it uses the URL prefix: "http://www.metacritic.com/game/pc/". If you want to search for Playstation 3 games, just change it to: "http://www.metacritic.com/game/playstation-3". See metacritic.php file.
Example
Searching on the PC game called "The Elder Scrolls V: Skyrim", will give the following JSON output:
{ "name": "The Elder Scrolls V: Skyrim", "metascritic_score": 94, "users_score": 8.2, "rating": "M", "genres": [ "Role-Playing", "First-Person", "First-Person", "Western-Style" ], "developers": [ "Bethesda Game Studios" ], "publishers": "Bethesda Softworks", "release_date": "Nov 10, 2011", "also_on": [ "PlayStation 3", "Xbox 360" ], "also_on_url": [ "/game/playstation-3/the-elder-scrolls-v-skyrim", "/game/xbox-360/the-elder-scrolls-v-skyrim" ], "thumbnail_url": "http://static.metacritic.com/images/products/games/7/5988ee04196a686e107b46174f94a3ae-98.jpg", "cheat_url": "http://www.gamefaqs.com/console/pc/code/615805.html" }
On error
When for some reason the page couldn't be loaded / found or parsed, you will get the following JSON response:
{"error":"Page could not be loaded!"}
Or when metacritic.php is directly called, without input you will get: {"error": "Game title is empty"}
Code example
Please, see example.php
Another way to access the API is to directly call metacritic.php via the website URL:
metacritic.php?game_title=Halo%202
Be-aware that the game title needs to be URL encoded to work.
Have fun!
CI/CD
Code quality is checked in GitLab CI/CD, to avoid regression.
Currently in the pipeline:
- Psalm - Static analysis tool for PHP
- Phpcs - PHP coding style standard (
phpcbf
command for auto-fix) - Phpmetrics - PHP metrics for complexity, object oriented, maintainability and more.