All projects

Open source · 2026 – present Project 5 of 20

AniPHP

AniList in PHP: GraphQL queries built in code, results as objects.

Visit the site

Verified site status: Up, 35 ms response,

AniPHP documentation with the headline AniList, the PHP way

At a glance

Role
Author
Period
2026 – present
Status
Live
Technologies
5 technologies

AniPHP wraps AniList's public GraphQL API. Instead of hand-written query strings and digging through nested arrays, developers get a fluent query builder and results as typed objects. The library comes with documentation at aniphp.lausman.dev covering installation, a first query and a live playground.

Why it is technically interesting

  • The query builder. Variables are declared with a type from an enum (Int, String, [String]), and operations and nested fields are put together with method calls. A variable type cannot be misspelled, and the query stays readable inside PHP.
  • A model that follows AniList's schema. 35 classes mirror the API's types – Media, Title, CoverImage, Studio, Staff, Character, AiringSchedule, Recommendation and more – and a factory builds objects with typed properties from the response.
  • No configuration. Public queries need no token, so a first search takes a few lines.
  • A playground on the live API. The form in the documentation runs the same AnimeRepository::search() method the guide describes, on the server, against the real AniList.

What you don't see

  • Guarded input. The playground is a public path to someone else's service, so it limits the query length and the number of results and leaves adult titles out of the search.
  • A strict CSP. The browser never talks to AniList directly; the query goes through the server. That lets the page run under a Content Security Policy that allows connections only to its own domain and images only from AniList's CDN.

Technology

  • PHP 8.1+ – enums for variable types and typed model properties.
  • Guzzle – the HTTP client for API calls.
  • GraphQL – AniList API v2.
  • Composer – installation as a package.

Built with

  • PHP 8.1+
  • GraphQL
  • Guzzle
  • AniList API
  • Composer

Keyboard shortcuts.

Keyboard shortcuts for this site. They stay quiet while you type into a form.

This site

?
This help
g
12-column grid, components and page metrics
d
Appearance: system, light, dark, Linkin Park
Ctrl P
Print the CV instead of the website
Esc
Close the dialog or the grid

The blue dot after the name can be grabbed and thrown.

Linkin Park

l setlist lp
The setlist, songs by album
papercut
The page tears like paper
numb
The site goes numb for a few seconds
faint
The page faints and comes round
meteora
A meteor shower and a direct hit on the dot after the name
fromzero emily
The site fades down to zero and is reborn, with thanks to Emily Armstrong
concert koncert
Concert: the site runs through the colours of every album
castleofglass
The page turns to glass, cracks and shatters
iridescent
Headings and dots shimmer in rainbow colours
breakingthehabit
Whatever is on screen falls apart and snaps back
intheend
End credits, like at the cinema
victim morethevictim
The site breaks up in a glitch and stays distorted (until a reload, another word or Esc)
finalmasquerade
A masquerade mask over the whole site, the camera flies through an eye
lost
Off to the 404 page

Type the words anywhere outside the form; case and spaces do not matter. With reduced motion you get a short note instead.

On a phone, five taps on the blue dot after the name open the setlist.