PokéAPI Moves API

Moves, ailments, battle styles, categories, damage classes, learn methods, and targets.

Operations 14

GET /move List Moves #
GET /move/{id} Get Move #
GET /move-ailment List Move Ailments #
GET /move-ailment/{id} Get Move Ailment #
GET /move-battle-style List Move Battle Styles #
GET /move-battle-style/{id} Get Move Battle Style #
GET /move-category List Move Categories #
GET /move-category/{id} Get Move Category #
GET /move-damage-class List Move Damage Classes #
GET /move-damage-class/{id} Get Move Damage Class #
GET /move-learn-method List Move Learn Methods #
GET /move-learn-method/{id} Get Move Learn Method #
GET /move-target List Move Targets #
GET /move-target/{id} Get Move Target #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pokeapi-moves-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

pokeapi-moves-api-openapi.yml Raw ↑
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