ShareYourGroupShareYourGroupFree Public APIs

PokeAPI

A large, well-structured API of Pokemon data.

Address that will be called:

What it gives you

A large, well-structured API of Pokemon data. It is widely used to learn APIs because its answers are rich and nested, with links to related resources.

Terms and limits

PokeAPI's fair use policy says to cache resources locally whenever you request them and to be friendly to other developers, and lists policies that limit abuse (for example, a restriction on non-GET methods). Pokemon names and data belong to their owners: use it for learning.

_Read on 14 November 2026 from pokeapi.co/docs/v2._

Good habits

  1. Cache answers that do not change often.
  2. Handle errors: the service may be busy or down.
  3. Give credit where the terms ask for it.
  4. Do not put secret keys into a web page: this API needs none, but many others do.

The same request in code

curl

curl -L "https://pokeapi.co/api/v2/pokemon/pikachu"

Python

import json, urllib.request

with urllib.request.urlopen("https://pokeapi.co/api/v2/pokemon/pikachu") as r:
    data = json.load(r)
print(data['name'])

JavaScript (browser or Node.js)

const res = await fetch("https://pokeapi.co/api/v2/pokemon/pikachu");
const data = await res.json();
console.log(data.name);

A real answer

This is what the example request above returned when we called it on 14 November 2026 with the default values (it took about 0.3 s from our computer). Values such as times and temperatures change.

{
  "id": 25,
  "name": "pikachu",
  "base_experience": 112,
  "height": 4,
  "is_default": true,
  "order": 35,
  "weight": 60,
  "abilities": [
    {
      "is_hidden": false,
      "slot": 1,
      "ability": {
        "name": "static",
        "url": "https://pokeapi.co/api/v2/ability/9/"
      }
    },
    {
      "is_hidden": true,
      "slot": 3,
      "ability": {
        "name": "lightning-rod",
        "url": "https://pokeapi.co/api/v2/ability/31/"
      }
    }
  ],
  "past_abilities": [
    {
      "generation": {
        "name": "generation-iv",
        "url": "https://pokeapi.co/api/v2/generation/4/"
      },
      "abilities": [
        {
          "is_hidden": true,
          "slot": 3,
          "ability": null
        }
      ]
    }
  ],
  "forms": [
    {
      "name": "pikachu",
      "url": "https://pokeapi.co/api/v2/pokemon-form/25/"
    }
  ],
  "game_indices": [
    {
      "game_index": 84,
      "version": {
        "name": "red",
        "url": "https://pokeapi.co/api/v2/version/1/"
      }
    },
    {
      "game_index": 84,
      "version": {
        "name": "blue",
        "url": "https://pokeapi.co/api/v2/version/2/"
      }
    },
    {
      "game_index": 84,
      "version": {
        "name": "yellow",
        "url": "https://pokeapi.co/api/v2/version/3/"
      }
    },
    {
      "game_index": 25,
      "version": {
        "name": "gold",
        "url": "https://pokeapi.co/api/v2/version/4/"
      }
    },
    {
      "game_index": 25,
      "version": {
        "name": "silver",
        "url": "https://pokeapi.co/api/v2/version/5/"
      }
    },
    {
      "game_index": 25,
      "version": {
        "name": "crystal",
        "url": "https://pokeapi.co/api/v2/version/6/"
      }
    },
    {
      "game_index": 25,
  ...

This is an independent directory. It is not connected with any of the services listed. Each address was called on 14 November 2026 with curl, Python, Node.js and Chrome (from a page on another site), and the answer shown is a real one. APIs change: check the service's own page before you depend on it.