Skip to content
Announcement: An API update is available. Check the documentation for details.

Get evolution chain

GET
/api/v2/evolution-chain/{id}/
const url = 'https://pokeapi.co/api/v2/evolution-chain/1/';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}

Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution conditions for each as well as Pokémon they can evolve into up through the hierarchy.

id
required
string

This parameter can be a string or an integer.

Example
Terminal window
1
Media typeapplication/json
object
id
required
integer
baby_trigger_item
required
object
name
required
string
<= 200 characters
url
required
string format: uri
chain
required
object
is_baby
required
boolean
species
required
object
name
required
string
<= 200 characters
url
required
string format: uri
evolution_details
required
Array<object>
object
version_group
required
object
name
required
string
<= 200 characters
url
required
string format: uri
is_default
boolean
item
required
object
name
required
string
<= 200 characters
url
required
string format: uri
trigger
required
object
name
required
string
<= 200 characters
url
required
string format: uri
gender
integer | null
held_item
required
object
name
required
string
<= 200 characters
url
required
string format: uri
known_move
required
object
name
required
string
<= 200 characters
url
required
string format: uri
known_move_type
required
object
name
required
string
<= 200 characters
url
required
string format: uri
location
required
object
name
required
string
<= 200 characters
url
required
string format: uri
min_level
integer | null
>= -2147483648 <= 2147483647
min_happiness
integer | null
>= -2147483648 <= 2147483647
min_beauty
integer | null
>= -2147483648 <= 2147483647
min_affection
integer | null
>= -2147483648 <= 2147483647
near_special_rock
boolean
needs_multiplayer
boolean
needs_overworld_rain
boolean
party_species
required
object
name
required
string
<= 200 characters
url
required
string format: uri
party_type
required
object
name
required
string
<= 200 characters
url
required
string format: uri
relative_physical_stats
integer | null
>= -2147483648 <= 2147483647
time_of_day
string
<= 10 characters
trade_species
required
object
name
required
string
<= 200 characters
url
required
string format: uri
turn_upside_down
boolean
region
required
object
name
required
string
<= 200 characters
url
required
string format: uri
required_pokemon_form
required
object
name
required
string
<= 200 characters
url
required
string format: uri
evolved_pokemon_form
required
object
name
required
string
<= 200 characters
url
required
string format: uri
used_move
required
object
name
required
string
<= 200 characters
url
required
string format: uri
min_move_count
integer | null
>= -2147483648 <= 2147483647
min_steps
integer | null
>= -2147483648 <= 2147483647
min_damage_taken
integer | null
>= -2147483648 <= 2147483647
allowed_natures
required
Array<object>
object
name
required
string
<= 200 characters
url
required
string format: uri
condition_expression
required
One of:
object
expression
required

Evaluatable RPN condition expression using evolution variables (e.g. ‘EC 100 % 0 ==’)

string
percentage_chance
required

Percentage chance of evolution under this condition (0-100)

number | null format: double
variables
required

Evolution variables referenced in the expression

Array<object>
object
name
required
string
<= 200 characters
url
required
string format: uri
evolves_to
required
Array<object>
object
key
additional properties
Example
Terminal window
{
"id": 1,
"baby_trigger_item": null,
"chain": {
"is_baby": false,
"species": {
"name": "bulbasaur",
"url": "https://pokeapi.co/api/v2/pokemon-species/1/"
},
"evolution_details": [],
"evolves_to": [
{
"is_baby": false,
"species": {
"name": "ivysaur",
"url": "https://pokeapi.co/api/v2/pokemon-species/2/"
},
"evolution_details": [
{
"version_group": {
"name": "red-blue",
"url": "https://pokeapi.co/api/v2/version-group/1/"
},
"is_default": true,
"item": null,
"trigger": {
"name": "level-up",
"url": "https://pokeapi.co/api/v2/evolution-trigger/1/"
},
"gender": null,
"held_item": null,
"known_move": null,
"known_move_type": null,
"location": null,
"min_level": 16,
"min_happiness": null,
"min_beauty": null,
"min_affection": null,
"near_special_rock": false,
"needs_multiplayer": false,
"needs_overworld_rain": false,
"party_species": null,
"party_type": null,
"relative_physical_stats": null,
"time_of_day": "",
"trade_species": null,
"turn_upside_down": false,
"region": null,
"required_pokemon_form": null,
"evolved_pokemon_form": null,
"used_move": null,
"min_move_count": null,
"min_steps": null,
"min_damage_taken": null,
"allowed_natures": null,
"condition_expression": null
}
],
"evolves_to": [
{
"is_baby": false,
"species": {
"name": "venusaur",
"url": "https://pokeapi.co/api/v2/pokemon-species/3/"
},
"evolution_details": [
{
"version_group": {
"name": "red-blue",
"url": "https://pokeapi.co/api/v2/version-group/1/"
},
"is_default": true,
"item": null,
"trigger": {
"name": "level-up",
"url": "https://pokeapi.co/api/v2/evolution-trigger/1/"
},
"gender": null,
"held_item": null,
"known_move": null,
"known_move_type": null,
"location": null,
"min_level": 32,
"min_happiness": null,
"min_beauty": null,
"min_affection": null,
"near_special_rock": false,
"needs_multiplayer": false,
"needs_overworld_rain": false,
"party_species": null,
"party_type": null,
"relative_physical_stats": null,
"time_of_day": "",
"trade_species": null,
"turn_upside_down": false,
"region": null,
"required_pokemon_form": null,
"evolved_pokemon_form": null,
"used_move": null,
"min_move_count": null,
"min_steps": null,
"min_damage_taken": null,
"allowed_natures": null,
"condition_expression": null
}
],
"evolves_to": []
}
]
}
]
}
}