Pokeapi V1 Documentation

Information

Please take note when using this API:

  • This is a consumption-only API - only the HTTP GET method is available on resources.
  • No authentication is required to access this API. All resources are fully open and available.
    • There is, however, a daily rate limit of 300 requests per resource per IP address. So a single IP address can call the bulbasaur resource 300 times a day. Not 300 requests across the entire dataset! This is to stop our database from falling over under heavy load.
  • If you are going to be regularly using the API, I recommend caching data on your service.
    • Luckily, we provide modified/created datetime stamps on every single resource so you can check for updates (and thus make your caching efficient).

Fair Use Policy

PokéAPI is free and open to use. It is also very popular. Because of this, we ask every developer to abide by our fair use policy. People not complying with the fair use policy will have their IP address permenantly banned.

PokéAPI is primarily an educational tool, and we will not tolerate denial of service attacks preventing people from learning.

Rules:

  • Locally cache resources and images when ever you request them.
  • Do not spam the entire service to scrape all the data at once - use the paginated pages.
  • Use the correct user-agent header in API requests.
  • Be nice and friendly to your fellow PokéAPI developer.

Slack

Have questions? Ideas? Notice something amiss here in the docs? Hit us up on Slack. Sign up right here. then visit our slack team. We'ed encourage you to come here before opening a ticket on github so we can keep our issues nice and organized. Theres also a solid group of people using the api who may already have answers or plans from experience.

Wrappers

Wrappers for these languages have been made:

Written a wrapper? Let us know and we'll add it to the list here.

Pokedex

A Pokedex returns the names and resource_uri for all pokemon. Note: This is a special resource call. Always call /api/v1/pokedex/1/.

GET pokedex/1/

{
"created": "2013-11-09T15:14:48.957604",
"modified": "2013-11-09T15:14:48.957565",
"name": "national",
"pokemon": [
{
"name": "pidgeotto",
"resource_uri": "api/v1/pokemon/17/"
},
...
]
}
    

Pokedex

Name Description Data Type
name the pokedex name e.g. National string
resource_uri the uri of this resource. string
created the creation date of the resource. date
pokemon a big list of pokemon within this pokedex. list

Pokemon

A Pokemon resource represent a single Pokémon. Note: the ID for Pokémon is special. Use the National pokédex number as the ID to return the desired resource.

GET pokemon/

Returns a list of pokemon

GET pokemon/{id or name}/

{
"abilities": [
{
"name": "overgrow",
"resource_uri": "/api/v1/ability/1/"
},
{
"name": "chlorophyll",
"resource_uri": "/api/v1/ability/2/"
}
],
"attack": 49,
"catch_rate": 45,
"created": "2013-11-02T12:08:25.745455",
"defense": 49,
"egg_cycles": 21,
"egg_groups": [
{
"name": "Monster",
"resource_uri": "/api/v1/egg/1/"
},
{
"name": "Grass",
"resource_uri": "/api/v1/egg/8/"
}
],
"ev_yield": "1 Sp Atk",
"evolutions": {
"level": 16,
"method": "level up",
"resource_uri": "/api/v1/pokemon/2/",
"to": "Ivysaur"
},
"exp": 64,
"growth_rate": "ms",
"happiness": 70,
"height": "2'4",
"hp": 45,
"male_female_ratio": "87.5/12.5",
"modified": "2013-11-02T13:28:04.914889",
"moves": [
{
"learn_type": "other",
"name": "Tackle",
"resource_uri": "/api/v1/move/1/"
},
{
"learn_type": "other",
"name": "Growl",
"resource_uri": "/api/v1/move/2/"
},
{
"learn_type": "level up",
"level": 10,
"name": "Vine whip",
"resource_uri": "/api/v1/move/3/"
}
],
"name": "Bulbasaur",
"national_id": 1,
"resource_uri": "/api/v1/pokemon/4/",
"sp_atk": 65,
"sp_def": 65,
"species": "seed pokemon",
"speed": 45,
"total": 318,
"types": [
{
"name": "grass",
"resource_uri": "/api/v1/type/5/"
},
{
"name": "poison",
"resource_uri": "/api/v1/type/8/"
}
],
"weight": "15.2lbs"
}
    

Pokemon

Name Description Data Type
name the pokemon name e.g. Bulbasaur string
national_id the id of the resource, this is the National pokedex number of the pokemon. integer
resource_uri the uri of this resource. string
created the creation date of the resource. date
modified the last time this resource was modified. date
abilities the abilities this pokemon can have list
egg_groups the egg groups this pokemon is in list
evolutions the evolutions this pokemon can evolve into list
descriptions the pokedex descriptions this pokemon has list
moves the moves this pokemon can learn list
types the types this pokemon is list
catch_rate this pokemon's catch rate integer
species the species identifier of this pokemon string
hp the base hp stat of this pokemon integer
attack the base attack stat of this pokemon integer
defense the base defense stat of this pokemon integer
sp_atk the base special attack stat of this pokemon integer
sp_def the base special defense stat of this pokemon integer
speed the base speed stat of this pokemon integer
total the total of the above attributes integer
speed the base speed stat of this pokemon integer
egg_cycles number of egg cycles needed integer
ev_yield the ev yield for this pokemon integer
exp the exp yield from this pokemon integer
growth_rate the growth rate of this pokemon integer
height the height of this pokemon integer
weight the weight of this pokemon integer
male_female_ratio in the format M / F ratio

Type

A Type resource represent a single Pokémon type

GET type/

Returns a list of types

GET type/{id}/

{
"created": "2013-11-02T12:09:07.305733",
"id": 3,
"ineffective": [
{
"name": "fire",
"resource_uri": "/api/v1/type/2/"
},
{
"name": "ice",
"resource_uri": "/api/v1/type/6/"
},
{
"name": "steel",
"resource_uri": "/api/v1/type/17/"
},
{
"name": "water",
"resource_uri": "/api/v1/type/3/"
}
],
"modified": "2013-11-02T13:14:44.369331",
"name": "Water",
"no_effect": [],
"resistance": [
{
"name": "fire",
"resource_uri": "/api/v1/type/2/"
},
{
"name": "ice",
"resource_uri": "/api/v1/type/6/"
},
{
"name": "steel",
"resource_uri": "/api/v1/type/17/"
},
{
"name": "water",
"resource_uri": "/api/v1/type/3/"
}
],
"resource_uri": "/api/v1/type/3/",
"super_effective": [
{
"name": "fire",
"resource_uri": "/api/v1/type/2/"
},
{
"name": "ground",
"resource_uri": "/api/v1/type/9/"
},
{
"name": "rock",
"resource_uri": "/api/v1/type/13/"
}
],
"weakness": [
{
"name": "electric",
"resource_uri": "/api/v1/type/4/"
},
{
"name": "grass",
"resource_uri": "/api/v1/type/5/"
}
]
}
    

Type

Name Description Data Type
name the pokedex name e.g. Water string
id the id of the resource integer
resource_uri the uri of this resource. string
created the creation date of the resource. date
modified the last time this resource was modified. date
ineffective the types this type is ineffective against list
no_effect the types this type has no effect against list
resistance the types this type is resistant to list
super_effective the types this type is super effective against list
weakness the types this type is weak to list

Move

A Move resource represent a single move

GET move/

Returns a list of moves

GET move/{id}/

{
"accuracy": 100,
"category": "physical",
"created": "2013-11-02T12:37:05.266762",
"description": "A physical attack in which the user charges and slams into the target with its whole body.",
"id": 1,
"modified": "2013-11-03T11:51:57.009696",
"name": "Tackle",
"power": 50,
"pp": 35,
"resource_uri": "/api/v1/move/1/"
}
    

Move

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
description a description of the move string
power the power of the move integer
accuracy the accuracy of the move string
category the category of the move string
pp the pp points of the move string

Ability

An Ability resource represent a single Pokémon ability

GET ability/

Returns a list of abilities

GET ability/{id}/

{
"created": "2013-11-02T12:21:28.166682",
"description": "When a Pokmon with Overgrow uses a Grass-type move, the power will increase by 1.5x if the user has less than or equal to 1/3 of its maximum HP remaining.",
"id": 1,
"modified": "2013-11-02T13:27:06.591413",
"name": "Overgrow",
"resource_uri": "/api/v1/ability/1/"
}
    

Ability

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
description the description of this ability string

Egg group

An Egg group resource represent a single Pokémon egg group

GET egg/

Returns a list of egg groups

GET egg/{id}/

{
"created": "2013-11-02T12:24:55.532023",
"id": 1,
"modified": "2013-11-02T12:24:55.531989",
"name": "Monster",
"pokemon": [
{
"name": "Ivysaur",
"resource_uri": "/api/v1/pokemon/2/"
},
{
"name": "Bulbasaur",
"resource_uri": "/api/v1/pokemon/1/"
}
],
"resource_uri": "/api/v1/egg/1/"
}
    

EggGroup

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
pokemon the pokemon htis egg group is for list

Description

A Description resource represent a single Pokémon pokédex description

GET description/

Returns a list of descriptions

GET description/{id}/

{
created: '2013-12-24T17:14:38.281429',
description: 'A strange seed was planted on its back at birth. The plant sprouts and grows with this POKMON.',
games: [{
name: 'red(JPN)',
resource_uri: '/api/v1/game/1/'
}, {
name: 'green(JPN)',
resource_uri: '/api/v1/game/2/'
}],
id: 2,
modified: '2014-01-18T14:29:53.118541',
name: 'Bulbasaur_gen_1',
pokemon: {
name: 'bulbasaur',
resource_uri: '/api/v1/pokemon/1/'
},
resource_uri: '/api/v1/description/2/'
}
    

Description

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
games a list of games this description is in list
pokemon the pokemon this sprite is for list

Sprite

A Sprite resource represent a single Pokémon Sprite

GET sprite/

Returns a list of sprites

GET sprite/{id}/

{
"created": "2013-11-02T12:34:19.113143",
"id": 1,
"image": "/media/img/1383395659.12.png",
"modified": "2013-11-02T12:34:19.113053",
"name": "Bulbasaur_blue_red",
"pokemon": {
"name": "bulbasaur",
"resource_uri": "/api/v1/pokemon/1/"
},
"resource_uri": "/api/v1/sprite/1/"
}
    

Sprite

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
pokemon the pokemon this sprite is for pokemon
image the uri for the sprite image string

Game

A Game resource represent a single Pokémon game

GET game/

Returns a list of games

GET game/{id}/

{
"created": "2013-11-02T12:11:41.755402",
"generation": 1,
"id": 1,
"modified": "2013-11-02T12:12:47.378286",
"name": "Pokemon red (JPN)",
"release_year": 1996,
"resource_uri": "/api/v1/game/1/"
}
    

Game

Name Description Data Type
name the pokedex name e.g. National string
id the id of the resource integer
resource_uri the uri of this resource string
created the creation date of the resource date
modified the creation date of the resource date
release_year the year the game was released string
generation the generation this game belongs to integer