Public APIs
GraphQL Pokemon favicon

GraphQL Pokemon

Games & Comics

GraphQL powered Pokemon API. Supports generations 1 through 8.

GraphQL Pokemon's website screenshot

About GraphQL Pokemon

GraphQL-Pokemon is a GraphQL API providing Pokémon data, including the Pokédex, items, abilities, moves, learnsets, type matchups, and natures. Data is sourced from the Pokemon Showdown GitHub repository, Serebii, and Bulbapedia, with new game data added shortly after release and Smogon tier data updated automatically after tier shifts.

The project offers a JavaScript/TypeScript companion library (@favware/graphql-pokemon) with generated typings and response-parsing tools, published to npm and GitHub Package Registry. Docker images of the API are also published to Dockerhub and GitHub Package Registry for private hosting.

Documentation is available in two forms: an autogenerated text-based reference covering all queries and types, and an interactive GraphQL Playground with embedded documentation. The API is intended for developers building applications that consume Pokémon data, with usage examples provided for Fetch, Apollo Boost, and Apollo Client React. One known limitation is that retrieving all data for all Pokémon in a single query is not currently possible due to resulting object size.

Key features

  • GraphQL API providing extensive Pokémon data (Pokédex, items, abilities, moves, learnsets, type matchups, natures)
  • Fully generated TypeScript typings published as @favware/graphql-pokemon on npm and GitHub Package Registry
  • Docker images published for private hosting on Dockerhub and GitHub Container Registry
  • JavaScript companion library for parsing responses and providing TypeScript typings
  • New game data added shortly after release, with Smogon tier data auto-updated after tier shifts
  • Interactive GraphQL Playground and autogenerated text-based documentation

Frequently asked questions

What data sources does GraphQL Pokemon use?

Data is pulled from the Pokemon Showdown GitHub, Serebii, and Bulbapedia.

What languages or platforms can I use to consume this API?

It can be consumed via any GraphQL client such as Fetch, Apollo Boost, or Apollo Client React, and examples are provided in TypeScript/JavaScript.

Is there a client library available?

Yes, a JavaScript companion library (@favware/graphql-pokemon) is available via npm, yarn, pnpm, or bun for parsing responses and getting TypeScript typings.

Can I self-host this API?

Yes, Docker images are published to Dockerhub and GitHub Container Registry for private hosting.

Are there any known limitations?

It is currently not possible to get all data of all Pokémon in one query because the resulting data object is too large for Node.js to process.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product