Moves
Moves are the actions Pokémon use in battle. Each move has a type, damage class (Physical, Special, or Status), base power, accuracy, and PP (power points). The /move/ endpoint exposes all of this, plus effect descriptions, contest metadata, and game-version history.
There are over 900 moves across all generations.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /move/ | List all moves (paginated) |
| GET | /move/{name} | Get a move by name |
| GET | /move/{id} | Get a move by ID |
Example request
curl https://pokeapi.co/api/v2/move/thunderboltconst res = await fetch('https://pokeapi.co/api/v2/move/thunderbolt');
const thunderbolt = await res.json();Example response
{
"id": 85,
"name": "thunderbolt",
"accuracy": 100,
"effect_chance": 10,
"pp": 15,
"priority": 0,
"power": 90,
"type": { "name": "electric", "url": "https://pokeapi.co/api/v2/type/13/" },
"damage_class": { "name": "special", "url": "https://pokeapi.co/api/v2/move-damage-class/3/" },
"effect_entries": [
{
"effect": "Inflicts regular damage. Has a $effect_chance% chance to paralyze the target.",
"short_effect": "Has a $effect_chance% chance to paralyze the target.",
"language": { "name": "en", "url": "..." }
}
],
"flavor_text_entries": [
{
"flavor_text": "A strong electric blast is loosed at the target. It may also leave the target with paralysis.",
"language": { "name": "en", "url": "..." },
"version_group": { "name": "sword-shield", "url": "..." }
}
],
"meta": {
"ailment": { "name": "paralysis", "url": "..." },
"ailment_chance": 10,
"category": { "name": "damage+ailment", "url": "..." },
"crit_rate": 0,
"drain": 0,
"flinch_chance": 0,
"healing": 0,
"max_hits": null,
"max_turns": null,
"min_hits": null,
"min_turns": null,
"stat_chance": 0
},
"names": [
{ "name": "Thunderbolt", "language": { "name": "en", "url": "..." } }
]
}Key fields
powerinteger | nullrequiredBase power of the move. null for status moves that deal no damage.
accuracyinteger | nullrequiredPercentage chance to hit (1–100). null for moves that never miss (Swift, Aerial Ace).
ppintegerrequiredBase PP (power points) — the number of times the move can be used before needing to be restored at a Pokémon Center.
priorityintegerrequiredTurn order modifier. +1 moves (Quick Attack) go before 0. -6 moves (Trick Room effects) go last. Most moves are 0.
typeNamedAPIResourcerequiredThe move's type. Determines damage multipliers against defending types.
damage_classNamedAPIResourcerequiredOne of physical, special, or status. Physical uses Attack/Defense stats;
Special uses Sp.Atk/Sp.Def.
effect_entriesVerboseEffect[]requiredHuman-readable effect description. $effect_chance is a template placeholder
— substitute with the effect_chance field.
metaMoveMetaDatarequiredStructured metadata: ailment, drain, healing, crit rate, hit/turn ranges.
Damage classes
Uses the attacker's Attack stat and the defender's Defense stat. Examples: Tackle, Earthquake, Close Combat.
Uses the attacker's Special Attack stat and the defender's Special Defense stat. Examples: Thunderbolt, Flamethrower, Psychic.
Deals no direct damage. Applies effects like stat changes, weather, or ailments. Examples: Growl, Thunder Wave, Swords Dance.
Rendering the effect description
The effect string uses $effect_chance as a template token. Replace it before displaying:
function formatEffect(move) {
return move.effect_entries
.find(e => e.language.name === 'en')
?.effect
.replace(/\$effect_chance/g, move.effect_chance ?? '?');
}
console.log(formatEffect(thunderbolt));
// → "Inflicts regular damage. Has a 10% chance to paralyze the target."