Amiibo API

A RESTful API that provides detailed information about Nintendo Amiibo figures, including character data, game series, amiibo series, type classifications, regional release dates (NA, EU, JP, AU), and compatible game lists for 3DS, Wii U, and Nintendo Switch. Supports filtering by name, character, gameSeries, amiiboSeries, type, and hexadecimal head/tail identifiers. No API key or authentication required.

OpenAPI Specification

amiibo-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Amiibo API
  description: >-
    AmiiboAPI is a free RESTful API providing comprehensive data about Nintendo
    Amiibo figures, including character details, game series, amiibo series
    classifications, regional release dates, and compatible game information
    across 3DS, Wii U, and Nintendo Switch platforms. The API requires no
    authentication and supports filtering by name, character, game series, type,
    and hexadecimal identifiers.
  version: 1.0.0
  contact:
    name: Nevin Vu
    url: https://amiiboapi.org/
  license:
    name: MIT
    url: https://github.com/N3evin/AmiiboAPI/blob/master/LICENSE
externalDocs:
  description: Official AmiiboAPI Documentation
  url: https://amiiboapi.org/docs/
servers:
  - url: https://amiiboapi.org/api
    description: Production API server
tags:
  - name: Amiibo
    description: Endpoints for retrieving Amiibo figure data
  - name: Reference
    description: Reference data endpoints for types, series, characters, and game series
  - name: Metadata
    description: API metadata endpoints
paths:
  /amiibo/:
    get:
      operationId: getAmiibo
      summary: Get Amiibo figures
      description: >-
        Returns all Amiibo figures or filters by provided query parameters.
        Supports optional modifiers to include compatible game data and usage
        information. Results can be sorted by various fields.
      tags:
        - Amiibo
      parameters:
        - name: id
          in: query
          description: >-
            Full 16-character hexadecimal Amiibo identifier (combination of
            head and tail).
          required: false
          schema:
            type: string
            pattern: '^[0-9a-fA-F]{16}$'
            example: '0000000000000002'
        - name: head
          in: query
          description: >-
            First 8 hexadecimal characters of the Amiibo ID representing game
            series, character, variant, and type.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]{1,8}$'
            example: '00000000'
        - name: tail
          in: query
          description: >-
            Last 8 hexadecimal characters of the Amiibo ID representing the
            amiibo model and series.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]{1,8}$'
            example: '00000002'
        - name: name
          in: query
          description: Filter by Amiibo name (case-insensitive substring match).
          required: false
          schema:
            type: string
            example: 'Link'
        - name: character
          in: query
          description: >-
            Filter by character name or hexadecimal character ID (prefix with
            0x for hex).
          required: false
          schema:
            type: string
            example: 'Link'
        - name: gameseries
          in: query
          description: >-
            Filter by game series name or hexadecimal game series ID (prefix
            with 0x for hex).
          required: false
          schema:
            type: string
            example: 'The Legend of Zelda'
        - name: amiiboSeries
          in: query
          description: >-
            Filter by Amiibo series name or hexadecimal amiibo series ID
            (prefix with 0x for hex).
          required: false
          schema:
            type: string
            example: 'Super Smash Bros.'
        - name: type
          in: query
          description: >-
            Filter by Amiibo type name (e.g., Figure, Card, Yarn) or
            hexadecimal type ID (prefix with 0x for hex).
          required: false
          schema:
            type: string
            example: 'Figure'
        - name: variant
          in: query
          description: Filter by hexadecimal variant ID.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
        - name: amiibo_model
          in: query
          description: Filter by hexadecimal Amiibo model ID.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
        - name: switch_titleid
          in: query
          description: Filter by Nintendo Switch game title ID.
          required: false
          schema:
            type: string
        - name: wiiu_titleid
          in: query
          description: Filter by Wii U game title ID.
          required: false
          schema:
            type: string
        - name: 3ds_titleid
          in: query
          description: Filter by Nintendo 3DS game title ID.
          required: false
          schema:
            type: string
        - name: showgames
          in: query
          description: >-
            When present, includes compatible game data for each Amiibo (games
            for 3DS, Wii U, and Switch with title IDs).
          required: false
          schema:
            type: boolean
        - name: showusage
          in: query
          description: >-
            When present, includes compatible game data along with usage
            information describing how the Amiibo is used in each game.
          required: false
          schema:
            type: boolean
        - name: sort
          in: query
          description: >-
            Comma-separated list of fields to sort by. Valid values: id, head,
            tail, name, gameseries, gameseries_id, gameseries_name, character,
            character_id, character_name, variant, variant_id, type, type_id,
            type_name, amiibo_model, amiibo_model_id, series, series_id,
            series_name, release_na, release_jp, release_eu, release_au.
          required: false
          schema:
            type: string
            example: 'name,release_na'
      responses:
        '200':
          description: Successful response with list of Amiibo figures
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmiiboListResponse'
              examples:
                basic:
                  $ref: '#/components/examples/AmiiboListExample'
                withGames:
                  $ref: '#/components/examples/AmiiboWithGamesExample'
        '400':
          description: Bad request — invalid hex identifier format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No Amiibo found matching the provided filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /amiibofull/:
    get:
      operationId: getAmiiboFull
      summary: Get Amiibo figures with full game compatibility data
      description: >-
        Returns Amiibo figures with complete game compatibility information
        including games for 3DS, Wii U, and Nintendo Switch. Supports the
        same filtering and sorting parameters as /amiibo/.
      tags:
        - Amiibo
      parameters:
        - name: id
          in: query
          description: Full 16-character hexadecimal Amiibo identifier.
          required: false
          schema:
            type: string
            pattern: '^[0-9a-fA-F]{16}$'
        - name: head
          in: query
          description: First 8 hexadecimal characters of the Amiibo ID.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]{1,8}$'
        - name: tail
          in: query
          description: Last 8 hexadecimal characters of the Amiibo ID.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]{1,8}$'
        - name: name
          in: query
          description: Filter by Amiibo name.
          required: false
          schema:
            type: string
        - name: character
          in: query
          description: Filter by character name or hex ID.
          required: false
          schema:
            type: string
        - name: gameseries
          in: query
          description: Filter by game series name or hex ID.
          required: false
          schema:
            type: string
        - name: amiiboSeries
          in: query
          description: Filter by Amiibo series name or hex ID.
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: Filter by type name or hex ID.
          required: false
          schema:
            type: string
        - name: variant
          in: query
          description: Filter by variant hex ID.
          required: false
          schema:
            type: string
        - name: amiibo_model
          in: query
          description: Filter by Amiibo model hex ID.
          required: false
          schema:
            type: string
        - name: switch_titleid
          in: query
          description: Filter by Nintendo Switch game title ID.
          required: false
          schema:
            type: string
        - name: wiiu_titleid
          in: query
          description: Filter by Wii U game title ID.
          required: false
          schema:
            type: string
        - name: 3ds_titleid
          in: query
          description: Filter by Nintendo 3DS game title ID.
          required: false
          schema:
            type: string
        - name: sort
          in: query
          description: >-
            Comma-separated list of fields to sort by. Valid values: id, head,
            tail, name, gameseries, gameseries_id, gameseries_name,
            switch_titleid, 3ds_titleid, wiiu_titleid, character, character_id,
            character_name, variant, variant_id, type, type_id, type_name,
            amiibo_model, amiibo_model_id, series, series_id, series_name,
            release_na, release_jp, release_eu, release_au.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful response with Amiibo figures including full game data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmiiboFullListResponse'
        '400':
          description: Bad request — invalid hex identifier format
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No Amiibo found matching the provided filters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /type/:
    get:
      operationId: getAmiiboTypes
      summary: Get Amiibo types
      description: >-
        Returns all Amiibo type classifications or filters by key or name.
        Types include Figure, Card, Yarn, and Band.
      tags:
        - Reference
      parameters:
        - name: key
          in: query
          description: Hexadecimal key identifier for the type.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
            example: '0x00'
        - name: name
          in: query
          description: Filter by type name.
          required: false
          schema:
            type: string
            example: 'Figure'
        - name: sort
          in: query
          description: Sort by key or name.
          required: false
          schema:
            type: string
            enum:
              - key
              - name
      responses:
        '200':
          description: Successful response with list of Amiibo types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceListResponse'
              examples:
                types:
                  $ref: '#/components/examples/TypeListExample'
        '404':
          description: Type not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /gameseries/:
    get:
      operationId: getGameSeries
      summary: Get game series
      description: >-
        Returns all game series associated with Amiibo figures or filters by
        hexadecimal key or name.
      tags:
        - Reference
      parameters:
        - name: key
          in: query
          description: Hexadecimal key identifier for the game series.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
            example: '0x0000'
        - name: name
          in: query
          description: Filter by game series name.
          required: false
          schema:
            type: string
            example: 'The Legend of Zelda'
        - name: sort
          in: query
          description: Sort by key or name.
          required: false
          schema:
            type: string
            enum:
              - key
              - name
      responses:
        '200':
          description: Successful response with list of game series
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceListResponse'
        '404':
          description: Game series not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /amiiboseries/:
    get:
      operationId: getAmiiboSeries
      summary: Get Amiibo series
      description: >-
        Returns all Amiibo series classifications or filters by hexadecimal
        key or name. Examples include Super Smash Bros., The Legend of Zelda,
        and Pokemon.
      tags:
        - Reference
      parameters:
        - name: key
          in: query
          description: Hexadecimal key identifier for the Amiibo series.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
            example: '0x00'
        - name: name
          in: query
          description: Filter by Amiibo series name.
          required: false
          schema:
            type: string
            example: 'Super Smash Bros.'
        - name: sort
          in: query
          description: Sort by key or name.
          required: false
          schema:
            type: string
            enum:
              - key
              - name
      responses:
        '200':
          description: Successful response with list of Amiibo series
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceListResponse'
        '404':
          description: Amiibo series not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /character/:
    get:
      operationId: getCharacters
      summary: Get characters
      description: >-
        Returns all characters associated with Amiibo figures or filters by
        hexadecimal key or name.
      tags:
        - Reference
      parameters:
        - name: key
          in: query
          description: Hexadecimal key identifier for the character.
          required: false
          schema:
            type: string
            pattern: '^(0x)?[0-9a-fA-F]+$'
            example: '0x0000'
        - name: name
          in: query
          description: Filter by character name.
          required: false
          schema:
            type: string
            example: 'Link'
        - name: sort
          in: query
          description: Sort by key or name.
          required: false
          schema:
            type: string
            enum:
              - key
              - name
      responses:
        '200':
          description: Successful response with list of characters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReferenceListResponse'
        '404':
          description: Character not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lastupdated/:
    get:
      operationId: getLastUpdated
      summary: Get last updated timestamp
      description: >-
        Returns the timestamp indicating when the Amiibo database was last
        updated. Useful for cache invalidation.
      tags:
        - Metadata
      responses:
        '200':
          description: Successful response with last updated timestamp
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LastUpdatedResponse'
              examples:
                lastUpdated:
                  $ref: '#/components/examples/LastUpdatedExample'
components:
  schemas:
    AmiiboRelease:
      type: object
      description: Regional release dates for the Amiibo figure.
      properties:
        au:
          type: string
          format: date
          nullable: true
          description: Release date in Australia (YYYY-MM-DD) or null if not released.
          example: '2014-11-29'
        eu:
          type: string
          format: date
          nullable: true
          description: Release date in Europe (YYYY-MM-DD) or null if not released.
          example: '2014-11-28'
        jp:
          type: string
          format: date
          nullable: true
          description: Release date in Japan (YYYY-MM-DD) or null if not released.
          example: '2014-05-29'
        na:
          type: string
          format: date
          nullable: true
          description: >-
            Release date in North America (YYYY-MM-DD) or null if not
            released.
          example: '2014-11-21'
    Amiibo:
      type: object
      description: Core Amiibo figure data.
      properties:
        amiiboSeries:
          type: string
          description: Name of the Amiibo series this figure belongs to.
          example: 'Super Smash Bros.'
        character:
          type: string
          description: Name of the character represented by this Amiibo.
          example: 'Link'
        gameSeries:
          type: string
          description: Name of the game series this Amiibo is associated with.
          example: 'The Legend of Zelda'
        head:
          type: string
          description: >-
            First 8 hexadecimal characters of the Amiibo ID encoding game
            series, character, variant, and type.
          pattern: '^[0-9a-fA-F]{8}$'
          example: '01000000'
        tail:
          type: string
          description: >-
            Last 8 hexadecimal characters of the Amiibo ID encoding model and
            series.
          pattern: '^[0-9a-fA-F]{8}$'
          example: '03560902'
        image:
          type: string
          format: uri
          description: URL to the JPEG image of the Amiibo figure.
          example: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.png'
        imgwebp:
          type: string
          format: uri
          description: URL to the WebP image of the Amiibo figure.
          example: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.webp'
        name:
          type: string
          description: Display name of the Amiibo figure.
          example: 'Link'
        type:
          type: string
          description: >-
            Type classification of the Amiibo (e.g., Figure, Card, Yarn,
            Band).
          example: 'Figure'
        release:
          $ref: '#/components/schemas/AmiiboRelease'
      required:
        - amiiboSeries
        - character
        - gameSeries
        - head
        - tail
        - image
        - name
        - type
        - release
    GameEntry:
      type: object
      description: A game compatible with the Amiibo.
      properties:
        gameID:
          type: array
          description: List of title IDs for this game on the platform.
          items:
            type: string
          example:
            - '0004000000086300'
        gameName:
          type: string
          description: Name of the compatible game.
          example: 'The Legend of Zelda: Breath of the Wild'
    GameUsageEntry:
      type: object
      description: A game compatible with the Amiibo including usage information.
      properties:
        gameID:
          type: array
          description: List of title IDs for this game on the platform.
          items:
            type: string
        gameName:
          type: string
          description: Name of the compatible game.
        usage:
          type: array
          description: List of usage descriptions for this Amiibo in the game.
          items:
            type: object
            properties:
              Usage:
                type: string
                description: Description of how the Amiibo is used in this game.
              write:
                type: boolean
                description: Whether this Amiibo can be written to by this game.
    AmiiboGames:
      type: object
      description: Compatible games organized by platform.
      properties:
        gamesSwitch:
          type: array
          description: Compatible Nintendo Switch games.
          items:
            $ref: '#/components/schemas/GameEntry'
        games3DS:
          type: array
          description: Compatible Nintendo 3DS games.
          items:
            $ref: '#/components/schemas/GameEntry'
        gamesWiiU:
          type: array
          description: Compatible Wii U games.
          items:
            $ref: '#/components/schemas/GameEntry'
    AmiiboGamesWithUsage:
      type: object
      description: Compatible games with usage data organized by platform.
      properties:
        gamesSwitch:
          type: array
          description: Compatible Nintendo Switch games with usage info.
          items:
            $ref: '#/components/schemas/GameUsageEntry'
        games3DS:
          type: array
          description: Compatible Nintendo 3DS games with usage info.
          items:
            $ref: '#/components/schemas/GameUsageEntry'
        gamesWiiU:
          type: array
          description: Compatible Wii U games with usage info.
          items:
            $ref: '#/components/schemas/GameUsageEntry'
    AmiiboFull:
      allOf:
        - $ref: '#/components/schemas/Amiibo'
        - $ref: '#/components/schemas/AmiiboGamesWithUsage'
      description: Complete Amiibo data including game compatibility and usage information.
    AmiiboListResponse:
      type: object
      description: Response envelope for a list of Amiibo figures.
      properties:
        amiibo:
          type: array
          items:
            $ref: '#/components/schemas/Amiibo'
      required:
        - amiibo
    AmiiboFullListResponse:
      type: object
      description: Response envelope for a list of Amiibo figures with full game data.
      properties:
        amiibo:
          type: array
          items:
            $ref: '#/components/schemas/AmiiboFull'
      required:
        - amiibo
    ReferenceItem:
      type: object
      description: A reference data item with a hexadecimal key and name.
      properties:
        key:
          type: string
          description: Hexadecimal key identifier.
          example: '0x00'
        name:
          type: string
          description: Human-readable name.
          example: 'Figure'
      required:
        - key
        - name
    ReferenceListResponse:
      type: object
      description: Response envelope for a list of reference data items.
      properties:
        amiibo:
          type: array
          items:
            $ref: '#/components/schemas/ReferenceItem'
      required:
        - amiibo
    LastUpdatedResponse:
      type: object
      description: Response containing the last database update timestamp.
      properties:
        lastUpdated:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the last database update.
          example: '2023-10-01T00:00:00+01:00'
      required:
        - lastUpdated
    ErrorResponse:
      type: object
      description: Error response body.
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: 'Not Found: The requested URL was not found on the server.'
        code:
          type: integer
          description: HTTP status code.
          example: 404
      required:
        - error
        - code
  examples:
    AmiiboListExample:
      summary: List of Amiibo figures (basic)
      value:
        amiibo:
          - amiiboSeries: 'The Legend of Zelda'
            character: 'Link'
            gameSeries: 'The Legend of Zelda'
            head: '01000000'
            tail: '03560902'
            image: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.png'
            imgwebp: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.webp'
            name: 'Link'
            type: 'Figure'
            release:
              au: '2014-11-29'
              eu: '2014-11-28'
              jp: '2014-12-06'
              na: '2014-11-21'
    AmiiboWithGamesExample:
      summary: Amiibo with game compatibility data (showgames)
      value:
        amiibo:
          - amiiboSeries: 'The Legend of Zelda'
            character: 'Link'
            gameSeries: 'The Legend of Zelda'
            head: '01000000'
            tail: '03560902'
            image: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.png'
            imgwebp: 'https://raw.githubusercontent.com/N3evin/AmiiboAPI/master/images/icon_01000000-03560902.webp'
            name: 'Link'
            type: 'Figure'
            release:
              au: '2014-11-29'
              eu: '2014-11-28'
              jp: '2014-12-06'
              na: '2014-11-21'
            gamesSwitch:
              - gameID:
                  - '01007EF00011E000'
                gameName: 'The Legend of Zelda: Breath of the Wild'
            games3DS:
              - gameID:
                  - '000400000018BF00'
                gameName: 'Hyrule Warriors Legends'
            gamesWiiU:
              - gameID:
                  - '0005000010145F00'
                gameName: 'Hyrule Warriors'
    TypeListExample:
      summary: List of Amiibo types
      value:
        amiibo:
          - key: '0x00'
            name: 'Figure'
          - key: '0x01'
            name: 'Card'
          - key: '0x02'
            name: 'Yarn'
          - key: '0x03'
            name: 'Band'
    LastUpdatedExample:
      summary: Last updated timestamp
      value:
        lastUpdated: '2023-10-01T00:00:00+01:00'