Pokémon API — free mock REST API for testing

Creatures, trainers and a battle simulator. Practice CRUD, Bearer auth, nested resources, pagination and optimistic concurrency.

The Pokémon API holds creatures, trainers and a battle endpoint that resolves a fight from the two teams you send it. The battle result is computed, not stored, which makes it the catalog's clearest example of a POST that is neither a create nor idempotent — and a good target for contract tests over a non-trivial response shape.

Base URL: https://funapi.dev/api/pokemon/v1 · 10 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.

Example request and response

GET https://funapi.dev/api/pokemon/v1/pokemon — List Pokémon (paginated, filter by type). No token, no signup:

curl -i https://funapi.dev/api/pokemon/v1/pokemon

answers 200 OK with:

{
  "page": 1,
  "pageSize": 4,
  "total": 8,
  "totalPages": 2,
  "data": [
    {
      "id": 1,
      "name": "Pikachu",
      "type": "electric",
      "level": 12,
      "hp": 60,
      "_v": 1
    },
    {
      "id": 2,
      "name": "Bulbasaur",
      "type": "grass",
      "level": 10,
      "hp": 65,
      "_v": 1
    },
    {
      "id": 3,
      "name": "Charmander",
      "type": "fire",
      "level": 11,
      "hp": 58,
      "_v": 1
    },
    {
      "id": 4,
      "name": "Squirtle",
      "type": "water",
      "level": 10,
      "hp": 63,
      "_v": 1
    }
  ]
}

Open and run this endpoint

What you can practise here

pokemon

eight starters and friends

trainers

three trainers, their rosters

battles

simulate a fight, get a random winner

All 39 mock REST APIs

Use this response elsewhere

How this Pokémon API differs from PokeAPI

Unofficial and fan-made. The Pokémon API is a practice API that borrows a theme; it is not affiliated with, sponsored or endorsed by the owners of the names it references, which belong to them. Every record it returns is test data for exercising HTTP behaviour, not an authoritative source on the subject.

Last updated