Diablo III Community API

Battle.net Community and Game Data API for Diablo III providing access to acts, artisans, recipes, followers, character classes, items, item types, and player career/hero profile data. Like other Battle.net APIs, endpoints use regional hosts and require an OAuth 2.0 client credentials access token.

OpenAPI Specification

blizzard-diablo-iii-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Diablo III Community API
  description: >-
    Battle.net Community and Game Data API for Diablo III providing access to
    acts, artisans, recipes, followers, character classes, items, item types,
    and player profile data. Requires an OAuth 2.0 client credentials access
    token from https://oauth.battle.net.
  version: '1.0'
  contact:
    name: Battle.net Developer Portal
    url: https://develop.battle.net/
servers:
  - url: https://us.api.blizzard.com
    description: US regional host
  - url: https://eu.api.blizzard.com
    description: EU regional host
security:
  - bearerAuth: []
tags:
  - name: Acts
    description: Retrieve Diablo III act reference data.
  - name: Artisans
    description: Retrieve artisan and recipe reference data.
  - name: Characters
    description: Retrieve character class and skill reference data.
  - name: Items
    description: Retrieve item type and item reference data.
  - name: Profiles
    description: Retrieve player career and hero profile data.
paths:
  /d3/data/act:
    get:
      operationId: getActIndex
      summary: Get Act Index
      description: Returns an index of Diablo III acts.
      tags:
        - Acts
      parameters:
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Acts returned.
  /d3/data/artisan/{artisanSlug}:
    get:
      operationId: getArtisan
      summary: Get Artisan
      description: Returns an artisan by slug.
      tags:
        - Artisans
      parameters:
        - name: artisanSlug
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Artisan returned.
  /d3/data/hero/{classSlug}:
    get:
      operationId: getCharacterClass
      summary: Get Character Class
      description: Returns a Diablo III character class by slug.
      tags:
        - Characters
      parameters:
        - name: classSlug
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Class returned.
  /d3/data/item-type:
    get:
      operationId: getItemTypeIndex
      summary: Get Item Type Index
      description: Returns an index of item types.
      tags:
        - Items
      parameters:
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Item types returned.
  /d3/profile/{accountId}/:
    get:
      operationId: getApiAccount
      summary: Get Api Account
      description: Returns a player's full Diablo III career profile.
      tags:
        - Profiles
      parameters:
        - name: accountId
          in: path
          required: true
          description: Battle.net account id in the form name-tag.
          schema:
            type: string
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Profile returned.
  /d3/profile/{accountId}/hero/{heroId}:
    get:
      operationId: getApiHero
      summary: Get Api Hero
      description: Returns a single hero from a player's Diablo III career.
      tags:
        - Profiles
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
        - name: heroId
          in: path
          required: true
          schema:
            type: integer
        - $ref: '#/components/parameters/Locale'
      responses:
        '200':
          description: Hero returned.
components:
  parameters:
    Locale:
      name: locale
      in: query
      required: false
      description: Locale used for localized fields (e.g. en_US).
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT