Pokemon Go

FREE
By brianiswu
Updated 4 months ago
Gaming
9.4/10
Popularity
356ms
Latency
92%
Success Rate

Pokemon Go API Overview

A small collection of Pokemon Go tools and APIs

Contact API Provider
star-blueRate

Pokemon Go API Documentation

This page holds the the documentation about all the API's we offer holding Pokemon Go Data.

GET /api/v1/pokemon_names.json

Returns a json dict with the keys being the pokemon ID, the values are an array containing the pokemon name and ID.

Example data

{
    1: {
        id: 1,
        name: "Bulbasaur"
    },
    2: {
        id: 2,
        name: "Ivysaur"
    },
    3: {
        id: 3,
        name: "Venusaur"
    }, ...
}

GET /api/v1/released_pokemon.json

Currently in Pokemon Go the majority of Pokemon have been released from the first three generations of Pokemon games. This API lets you get the full list of Pokemon that are currently released.

Returns a json dict with the keys being the pokemon ID, the values are an array containing the pokemon name and ID.

Example Data

{
    1: {
        id: 1,
        name: "Bulbasaur"
    },
    2: {
        id: 2,
        name: "Ivysaur"
    },
    3: {
        id: 3,
        name: "Venusaur"
    }, ...
}

GET /api/v1/nesting_pokemon.json

Only specific Pokemon will nest and this API lets you get the name and ID of all Pokemon known to currently nest.

Returns a JSON dict with the keys being the Pokemon ID, the values are an array containing the pokemon name and ID.

Example Data

{
    1: {
        id: 1,
        name: "Bulbasaur"
    },
    4: {
        id: 4,
        name: "Charmander"
    },
    7: {
        id: 7,
        name: "Squirtle"
    }, ...
}

GET /api/v1/shiny_pokemon.json

Returns a JSON dict with the keys being the Pokemon ID, the values are an array containing the Pokemon name, ID, and how that shiny can be found.

There are four main keys determining how the shiny can be found:

  • found_wild - True if the shiny Pokemon is found in the wild
  • found_raid - True if the shiny Pokemon was once in, or currently is in raids as a shiny possibility
  • found_egg - True if the shiny Pokemon can be hatched from an egg as a shiny
  • found_evolution - True if the Pokemon can be evolved from another shiny Pokemon

Example data

{
    1: {
        name: "Bulbasaur",
        found_wild: true,
        found_raid: false,
        found_egg: false,
        found_evolution: false,
        id: 1
    },
    2: {
        name: "Ivysaur",
        found_wild: false,
        found_raid: false,
        found_egg: false,
        found_evolution: true,
        id: 2
    }, ...
}

GET /api/v1/raidexclusivepokemon.json

Returns a JSON dict with the keys being the Pokemon ID, the values are an array containing the Pokemon name, ID, and and level raid they can be found in.

Currently all raid exclusive pokemon are tied to a specific raid level. In the future the API might need to change if this changes.

Example data

{
    303: {
        raid_level: 2,
        id: 303,
        name: "Mawile"
    },
    359: {
        raid_level: 4,
        id: 359,
        name: "Absol"
    }
}

GET /api/v1/alolan_pokemon.json

In Generation 7 of the Pokemon video games Alolan Pokemon were released. These are pokemon who canonically evolved in a different area so are subtly different from the standard Pokemon. These all look different and have different typing to classical pokemon. This API allows you to get a list of currently released alolan Pokemon.

Returns a JSON dict with the keys being the Pokemon ID, the values are an array containing the pokemon name and ID.

Example data

{
    19: {
        id: 19,
        name: "Rattata"
    },
    20: {
        id: 20,
        name: "Raticate"
    },
    26: {
        id: 26,
        name: "Raichu"
    }, ...
}

GET /api/v1/possibledittopokemon.json

Ditto is a Pokemon that can transform into any Pokemon. In the wild you find him by catching a Pokemon which then transforms into Ditto. You cant tell which Pokemon might turn into a Ditto however if someone has caught a Ditto it will be a Ditto for everyone. This API allows you to get the list of Pokemon which are potentially a Ditto.

Returns a JSON dict with the keys being the Pokemon ID, the values are an array containing the pokemon name and ID.

Example data

{
    41: {
        "id": 41,
        "name": "Zubat"
    },
    "16": {
        "id": 16,
        "name": "Pidgey"
    },
    "19": {
        "id": 19,
        "name": "Rattata"
    }, ...
}

GET /api/v1/pokemon_stats.json

Each Pokemon has three base stats, attack, defense and stamina which determine how innately strong it is in each of these areas. These effect how much HP and damage each move can do along with its level and the typing of the moves.

Returns a JSON array where each element is a dict containing the pokemon name, ID, base stamina, base attack, and base defense.

[
    {
        base_stamina: "90",
        base_defense: "118",
        base_attack: "118",
        name: "Bulbasaur",
        id: 1
    },
    {
        base_stamina: "120",
        base_defense: "151",
        base_attack: "151",
        name: "Ivysaur",
        id: 2
    },
    {
        base_stamina: "160",
        base_defense: "198",
        base_attack: "198",
        name: "Venusaur",
        id: 3
    },..
]

GET /api/v1/fast_moves.json

Each Pokemon has a fast and charged move. This API allows you to download the full list of fast moves in the current Pokemon Go game master.

Returns a JSON array where each element is a dict containing the staminalossscaler, name, power, duration, energy_delta and type.

[
    {
        "stamina_loss_scaler": "0.01",
        "name": "Fury Cutter",
        "power": 3,
        "duration": 400,
        "energy_delta": 6,
        "type": "Bug"
    }, {
        "stamina_loss_scaler": "0.01",
        "name": "Bug Bite",
        "power": 5,
        "duration": 500,
        "energy_delta": 6,
        "type": "Bug"
    }, {
        "stamina_loss_scaler": "0.01",
        "name": "Bite",
        "power": 6,
        "duration": 500,
        "energy_delta": 4,
        "type": "Dark"
    }, ...
]

GET /api/v1/charged_moves.json

Each Pokemon has a fast and charged move. This API allows you to download the full list of charged moves in the current Pokemon Go game master.

Returns a JSON array where each element is a dict containing the staminalossscaler, name, power, duration, criticalchance, energydelta and type.

[
    {
        "stamina_loss_scaler": "0.06",
        "name": "Wrap",
        "power": 60,
        "duration": 2900,
        "critical_chance": "0.05",
        "energy_delta": -33,
        "type": "Normal"
    }, {
        "stamina_loss_scaler": "0.15",
        "name": "Hyper Beam",
        "power": 150,
        "duration": 3800,
        "critical_chance": "0.05",
        "energy_delta": -100,
        "type": "Normal"
    }, {
        "stamina_loss_scaler": "0.08",
        "name": "Dark Pulse",
        "power": 80,
        "duration": 3000,
        "critical_chance": "0.05",
        "energy_delta": -50,
        "type": "Dark"
    }, ...
]

GET /api/v1/pokemonmaxcp.json

Each Pokemon has a maximum CP that it may achieve if it is a perfect pokemon (with 15 attack, stamina, and defense) and is level 40. This API returns the maximum CP for each Pokemon.

Returns a JSON array where each element is a dict containing the pokemon name, ID, and maximum CP.

[
    {
        name: "Bulbasaur",
        max_cp: 981,
        id: 1
    },
    {
        name: "Ivysaur",
        max_cp: 1552,
        id: 2
    },
    {
        name: "Venusaur",
        max_cp: 2568,
        id: 3
    }, ...
]

GET /api/v1/pokemonbuddydistances.json

When you make a Pokemon your buddy after a certain distance walked with them you will get 1 candy from them. This distance depends on the specific Pokemon. The current buddy distances are 1, 3, 5, and 20 kilometres distance.

Returns a JSON object where each key is the distance needed to gain a candy and the value is a list containing multiple objects holding distance, Pokemon ID, Pokemon name and optionally the form.

{
    "1": [
        {
            "distance": 1,
            "pokemon_id": 10,
            "pokemon_name": "Caterpie"
        },
        {
            "distance": 1,
            "pokemon_id": 11,
            "pokemon_name": "Metapod"
        },
        {
            "distance": 1,
            "pokemon_id": 12,
            "pokemon_name": "Butterfree"
        }, ...
    ], ...
}

GET /api/v1/pokemoncandyto_evolve.json

For all Pokemon that evolve there will be a specific candy requirement. This API groups the evolvable Pokemon into the specific candy requirements for each.

Returns a JSON object where each key is the amount of candy needed to evolve and the value is a list containing multiple objects holding candy needed to evolve, Pokemon ID, Pokemon name and optionally the form.

{
    "100": [
        {
            "candy_required": 100,
            "pokemon_id": 2,
            "pokemon_name": "Ivysaur"
        },
        {
            "candy_required": 100,
            "pokemon_id": 5,
            "pokemon_name": "Charmeleon"
        },
        {
            "candy_required": 100,
            "pokemon_id": 8,
            "pokemon_name": "Wartortle"
        }, ...
    ],...
}

GET /api/v1/pokemonencounterdata.json

When encountering a Pokemon there are a number of metrics that influence the catch rate, and what it does during the encounter. This API groups all the information that influences an encounter together.

Returns a JSON array where each element is a dict containing attackprobability, basecapturerate, basefleerate, dodgeprobability, maxpokemonactionfrequency, minpokemonactionfrequency, Pokemon ID, Pokemon name and optionally the form.

The fields attackprobability, basecapturerate, basefleerate, and dodgeprobability are a value from 0 to 1. 0 represents 0% chance of it ocurring each turn and 1 represents 100% chance. The fields maxpokemonactionfrequency, and minpokemonactionfrequency are in seconds representing the maximum and minimum amount of time between an action.

[
    {
        "attack_probability": 0.1,
        "base_capture_rate": 0.2,
        "base_flee_rate": 0.1,
        "dodge_probability": 0.15,
        "max_pokemon_action_frequency": 1.6,
        "min_pokemon_action_frequency": 0.2,
        "pokemon_id": 1,
        "pokemon_name": "Bulbasaur"
    },
    {
        "attack_probability": 0.1,
        "base_capture_rate": 0.1,
        "base_flee_rate": 0.07,
        "dodge_probability": 0.15,
        "max_pokemon_action_frequency": 1.6,
        "min_pokemon_action_frequency": 0.2,
        "pokemon_id": 2,
        "pokemon_name": "Ivysaur"
    }, ...
]

GET /api/v1/pokemon_types.json

All Pokemon have either one or two types, these types affect the strength of moves and weaknesses it has to opponents moves. This API lists the types of each Pokemon.

Returns a JSON array where each element is a dict containing type (an array of one or two items), Pokemon ID, Pokemon name and optionally the form.

[
    {
        "pokemon_id": 1,
        "pokemon_name": "Bulbasaur",
        "type": [
            "Grass",
            "Poison"
        ]
    },
    {
        "pokemon_id": 2,
        "pokemon_name": "Ivysaur",
        "type": [
            "Grass",
            "Poison"
        ]
    },
    {
        "pokemon_id": 3,
        "pokemon_name": "Venusaur",
        "type": [
            "Grass",
            "Poison"
        ]
    }, ...
]

GET /api/v1/weather_boosts.json

During different weather certain types will be boosted. When they are boosted Pokemon of the boosted types will be found at a higher level, and moves of that type will be more powerful. This API lists what each weather type boosts.

Returns a JSON dict where each key is the weather type and the value is an array of boosted types.

{
    Clear: [
        "Grass",
        "Ground",
        "Fire"
    ],
    Cloudy: [
        "Fairy",
        "Fighting",
        "Poison"
    ], ...
}

Install SDK for (Node.js)Unirest

OAuth2 Authentication
Client ID
Client Secret
OAuth2 Authentication