PokéAPI Moves API
Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/pokeapi-moves-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Poké Berries Moves API
description: PokéAPI v2 is a free, open-source RESTful API serving comprehensive Pokémon data — species, abilities, moves, items, types, locations, evolution chains, encounters, berries, contests, games, and machines. All endpoints are GET-only and require no authentication. Please cache resources locally; rate limits were removed in 2018 but persistent abusers may be IP-banned.
version: '2'
contact:
name: PokéAPI Maintainers
url: https://pokeapi.co
license:
name: BSD-3-Clause
url: https://github.com/PokeAPI/pokeapi/blob/master/LICENSE.md
servers:
- url: https://pokeapi.co/api/v2
description: PokéAPI v2 production base URL
tags:
- name: Moves
description: Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.
paths:
/move:
get:
tags:
- Moves
summary: List Moves
description: List all moves.
operationId: listMoves
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move/{id}:
get:
tags:
- Moves
summary: Get Move
description: Retrieve a single move by id or name.
operationId: getMove
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move resource.
content:
application/json:
schema:
$ref: '#/components/schemas/Move'
/move-ailment:
get:
tags:
- Moves
summary: List Move Ailments
description: List all move ailments.
operationId: listMoveAilments
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move ailment resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-ailment/{id}:
get:
tags:
- Moves
summary: Get Move Ailment
description: Retrieve a single move ailment by id or name.
operationId: getMoveAilment
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move ailment resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveAilment'
/move-battle-style:
get:
tags:
- Moves
summary: List Move Battle Styles
description: List all move battle styles.
operationId: listMoveBattleStyles
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move battle style resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-battle-style/{id}:
get:
tags:
- Moves
summary: Get Move Battle Style
description: Retrieve a single move battle style by id or name.
operationId: getMoveBattleStyle
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move battle style resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveBattleStyle'
/move-category:
get:
tags:
- Moves
summary: List Move Categories
description: List all move categories.
operationId: listMoveCategories
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move category resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-category/{id}:
get:
tags:
- Moves
summary: Get Move Category
description: Retrieve a single move category by id or name.
operationId: getMoveCategory
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move category resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveCategory'
/move-damage-class:
get:
tags:
- Moves
summary: List Move Damage Classes
description: List all move damage classes.
operationId: listMoveDamageClasses
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move damage class resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-damage-class/{id}:
get:
tags:
- Moves
summary: Get Move Damage Class
description: Retrieve a single move damage class by id or name.
operationId: getMoveDamageClass
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move damage class resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveDamageClass'
/move-learn-method:
get:
tags:
- Moves
summary: List Move Learn Methods
description: List all move learn methods.
operationId: listMoveLearnMethods
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move learn method resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-learn-method/{id}:
get:
tags:
- Moves
summary: Get Move Learn Method
description: Retrieve a single move learn method by id or name.
operationId: getMoveLearnMethod
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move learn method resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveLearnMethod'
/move-target:
get:
tags:
- Moves
summary: List Move Targets
description: List all move targets.
operationId: listMoveTargets
parameters:
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Offset'
responses:
'200':
description: A paginated list of move target resources.
content:
application/json:
schema:
$ref: '#/components/schemas/NamedAPIResourceList'
/move-target/{id}:
get:
tags:
- Moves
summary: Get Move Target
description: Retrieve a single move target by id or name.
operationId: getMoveTarget
parameters:
- $ref: '#/components/parameters/IdOrName'
responses:
'200':
description: A single move target resource.
content:
application/json:
schema:
$ref: '#/components/schemas/MoveTarget'
components:
schemas:
MoveAilment:
type: object
properties:
id:
type: integer
name:
type: string
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
MoveDamageClass:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
NamedAPIResource:
type: object
properties:
name:
type: string
description: Slug name of the referenced resource.
url:
type: string
format: uri
description: Canonical URL of the referenced resource.
FlavorText:
type: object
properties:
flavor_text:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
version:
$ref: '#/components/schemas/NamedAPIResource'
MoveCategory:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
MoveBattleStyle:
type: object
properties:
id:
type: integer
name:
type: string
names:
type: array
items:
$ref: '#/components/schemas/Name'
Move:
type: object
properties:
id:
type: integer
name:
type: string
accuracy:
type: integer
nullable: true
effect_chance:
type: integer
nullable: true
pp:
type: integer
priority:
type: integer
power:
type: integer
nullable: true
contest_combos:
type: object
nullable: true
contest_type:
$ref: '#/components/schemas/NamedAPIResource'
nullable: true
contest_effect:
$ref: '#/components/schemas/NamedAPIResource'
nullable: true
damage_class:
$ref: '#/components/schemas/NamedAPIResource'
effect_entries:
type: array
items:
type: object
flavor_text_entries:
type: array
items:
$ref: '#/components/schemas/FlavorText'
generation:
$ref: '#/components/schemas/NamedAPIResource'
meta:
type: object
names:
type: array
items:
$ref: '#/components/schemas/Name'
target:
$ref: '#/components/schemas/NamedAPIResource'
type:
$ref: '#/components/schemas/NamedAPIResource'
Description:
type: object
properties:
description:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
Name:
type: object
properties:
name:
type: string
language:
$ref: '#/components/schemas/NamedAPIResource'
NamedAPIResourceList:
type: object
properties:
count:
type: integer
next:
type: string
nullable: true
format: uri
previous:
type: string
nullable: true
format: uri
results:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
MoveLearnMethod:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
names:
type: array
items:
$ref: '#/components/schemas/Name'
version_groups:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
MoveTarget:
type: object
properties:
id:
type: integer
name:
type: string
descriptions:
type: array
items:
$ref: '#/components/schemas/Description'
moves:
type: array
items:
$ref: '#/components/schemas/NamedAPIResource'
names:
type: array
items:
$ref: '#/components/schemas/Name'
parameters:
IdOrName:
name: id
in: path
required: true
description: Resource id (integer) or name (slug).
schema:
type: string
Offset:
name: offset
in: query
required: false
description: Number of items to skip before starting to collect the result set.
schema:
type: integer
minimum: 0
default: 0
Limit:
name: limit
in: query
required: false
description: Number of items to return per page.
schema:
type: integer
minimum: 1
maximum: 100000
default: 20