7digital Artists API

Browse, search, chart, and resolve 7digital artists and their releases.

Documentation

Specifications

Code Examples

Schemas & Data

Other Resources

OpenAPI Specification

7digital-artists-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: 7digital Artists API
  description: The classic 7digital REST API (v1.2) provides access to the 7digital music catalogue (artists, releases, tracks, tags), user lockers, basket/checkout, payment, editorial, territories and IP-lookup. All operations are signed with OAuth 1.0 and scoped by a consumer key issued under a commercial agreement.
  version: '1.2'
  contact:
    name: 7digital / MassiveMusic Client Success
    url: https://docs.massivemusic.com/docs/support
  license:
    name: Commercial — 7digital / MassiveMusic
    url: https://docs.massivemusic.com/docs/sla
  x-last-validated: '2026-05-28'
  x-generated-from: documentation
  x-source-url: https://github.com/7digital/7digital-api/blob/master/assets/7digital-api-schema.json
servers:
- url: https://api.7digital.com/1.2
  description: 7digital Public API v1.2 (production)
security:
- oauth1: []
tags:
- name: Artists
  description: Browse, search, chart, and resolve 7digital artists and their releases.
paths:
  /artist/browse:
    get:
      operationId: browseArtists
      summary: 7digital Browse Artists
      description: Browse artists in the 7digital catalogue whose names start with the given letter(s).
      tags:
      - Artists
      parameters:
      - name: letter
        in: query
        required: true
        description: The starting letter or letters to browse by (e.g. `A`, `Be`).
        schema:
          type: string
        example: B
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paged list of artists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/chart:
    get:
      operationId: getArtistChart
      summary: 7digital Get Artist Chart
      description: Get the current artist chart for a given period and territory.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/Country'
      - $ref: '#/components/parameters/Period'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A chart of artists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/details:
    get:
      operationId: getArtistDetails
      summary: 7digital Get Artist Details
      description: Get all available metadata for an artist by 7digital artist id.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/ArtistId'
      responses:
        '200':
          description: Artist metadata payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistDetailsResponse'
        '404':
          $ref: '#/components/responses/NotFoundError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/releases:
    get:
      operationId: getArtistReleases
      summary: 7digital Get Artist Releases
      description: List releases by a given artist, optionally filtered by release type (album, single, etc.).
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/ArtistId'
      - $ref: '#/components/parameters/ReleaseType'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A list of releases by the artist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/similar:
    get:
      operationId: getSimilarArtists
      summary: 7digital Get Similar Artists
      description: List artists similar to the seed artist.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/ArtistId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A list of similar artists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/search:
    get:
      operationId: searchArtists
      summary: 7digital Search Artists
      description: Free-text search the 7digital catalogue for artists matching a query.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/Query'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A paged list of matching artists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/topTracks:
    get:
      operationId: getArtistTopTracks
      summary: 7digital Get Artist Top Tracks
      description: List the top-streamed tracks by an artist.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/ArtistId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A list of top tracks by the artist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrackListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/tags:
    get:
      operationId: getArtistTags
      summary: 7digital Get Artist Tags
      description: Get the tags / genre labels applied to an artist.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/ArtistId'
      responses:
        '200':
          description: A list of tags for the artist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/match/byId:
    get:
      operationId: matchArtistById
      summary: 7digital Match Artist By Id
      description: Match an artist in a partner system to the 7digital artist using an external identifier (e.g. MusicBrainz id).
      tags:
      - Artists
      security:
      - oauth1_two_legged: []
      parameters:
      - name: id
        in: query
        required: true
        description: External artist identifier to match.
        schema:
          type: string
        example: mbid:5b11f4ce-a62d-471e-81fc-a69a8278c7da
      responses:
        '200':
          description: A matched artist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistDetailsResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /artist/bytag/top:
    get:
      operationId: getTopArtistsByTags
      summary: 7digital Get Top Artists By Tags
      description: List top-performing artists for a given tag or set of tags.
      tags:
      - Artists
      parameters:
      - $ref: '#/components/parameters/Tags'
      - $ref: '#/components/parameters/Country'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: A list of top artists for the tag(s).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistListResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    Tags:
      name: tags
      in: query
      required: true
      description: One or more tag identifiers, comma-separated.
      schema:
        type: string
      example: rock,indie
    ReleaseType:
      name: type
      in: query
      description: Release type filter.
      schema:
        type: string
        enum:
        - album
        - single
        - ep
        - compilation
      example: album
    Page:
      name: page
      in: query
      description: 1-based page number for paged endpoints.
      schema:
        type: integer
        minimum: 1
        default: 1
      example: 1
    ArtistId:
      name: artistId
      in: query
      required: true
      description: 7digital artist id.
      schema:
        type: string
      example: '12345'
    Country:
      name: country
      in: query
      description: ISO 3166-1 alpha-2 country code for the sales territory.
      schema:
        type: string
        minLength: 2
        maxLength: 2
      example: GB
    Query:
      name: q
      in: query
      required: true
      description: Free-text search query.
      schema:
        type: string
      example: beatles
    Period:
      name: period
      in: query
      description: Chart period — typically `day`, `week`, `month`, `year`.
      schema:
        type: string
        enum:
        - day
        - week
        - month
        - year
      example: week
    PageSize:
      name: pageSize
      in: query
      description: Number of items per page.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
      example: 20
  schemas:
    Tag:
      type: object
      description: A genre/tag label.
      properties:
        id:
          type: string
          example: rock
        name:
          type: string
          example: Rock
        parentId:
          type: string
          nullable: true
          example: null
    Release:
      type: object
      description: A 7digital release (album, single, EP, compilation).
      properties:
        id:
          type: string
          description: 7digital release id.
          example: '11700062'
        title:
          type: string
          description: Release title.
          example: Abbey Road
        version:
          type: string
          description: Release version (e.g. `Remastered`).
          example: Remastered
        type:
          type: string
          enum:
          - album
          - single
          - ep
          - compilation
          example: album
        artist:
          $ref: '#/components/schemas/Artist'
        url:
          type: string
          format: uri
          example: https://uk.7digital.com/artist/the-beatles/release/abbey-road-11700062
        image:
          type: string
          format: uri
          example: https://artwork-cdn.7static.com/static/img/sleeveart/00/117/000/0011700062_350.jpg
        releaseDate:
          type: string
          format: date
          example: '1969-09-26'
        label:
          type: string
          example: Apple Records
        explicit:
          type: boolean
          example: false
        upc:
          type: string
          description: Universal Product Code (UPC/EAN).
          example: 00602445912025
        price:
          $ref: '#/components/schemas/Price'
    Track:
      type: object
      description: A 7digital track.
      properties:
        id:
          type: string
          description: 7digital track id.
          example: '123456'
        title:
          type: string
          description: Track title.
          example: Come Together
        version:
          type: string
          description: Track version (e.g. `Remastered 2019`).
          example: Remastered 2019
        artist:
          $ref: '#/components/schemas/Artist'
        release:
          $ref: '#/components/schemas/Release'
        trackNumber:
          type: integer
          description: Track number on the release.
          example: 1
        duration:
          type: integer
          description: Duration in seconds.
          example: 259
        explicit:
          type: boolean
          example: false
        isrc:
          type: string
          description: International Standard Recording Code.
          example: GBAYE6900477
        previewUrl:
          type: string
          format: uri
          description: URL for the 30-second preview clip.
          example: https://previews.7digital.com/clip/123456
        price:
          $ref: '#/components/schemas/Price'
    ArtistDetailsResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        artist:
          $ref: '#/components/schemas/Artist'
    TagListResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    ErrorResponse:
      type: object
      description: Standard 7digital error envelope.
      properties:
        status:
          type: string
          description: Always `error` on a failure.
          example: error
        error:
          type: object
          properties:
            code:
              type: integer
              description: 7digital error code (1xxx input, 2xxx resource, 3xxx user, 7xxx app, 9xxx server).
              example: 2001
            message:
              type: string
              description: Human-readable error message.
              example: Resource not found
            errors:
              type: array
              description: Per-item errors for batch requests (code 1008).
              items:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  index:
                    type: integer
    ReleaseListResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        page:
          type: integer
          example: 1
        pageSize:
          type: integer
          example: 20
        totalItems:
          type: integer
          example: 42
        releases:
          type: array
          items:
            $ref: '#/components/schemas/Release'
    Artist:
      type: object
      description: A 7digital artist.
      properties:
        id:
          type: string
          description: 7digital artist id.
          example: '12345'
        name:
          type: string
          description: Artist name.
          example: The Beatles
        url:
          type: string
          format: uri
          description: Artist page URL on 7digital.
          example: https://uk.7digital.com/artist/the-beatles
        image:
          type: string
          format: uri
          description: Artist image URL.
          example: https://artwork-cdn.7static.com/static/img/artistimages/00/000/012/0000001234_350.jpg
        sortName:
          type: string
          description: Sort form of the artist name.
          example: Beatles, The
        appearsAs:
          type: string
          description: Alternative spellings under which the artist appears.
          example: Beatles, The
    Price:
      type: object
      description: A price quoted in the requested territory's currency.
      properties:
        formattedPrice:
          type: string
          example: £9.99
        amount:
          type: number
          description: Numeric price value.
          example: 9.99
        currency:
          type: string
          description: ISO 4217 currency code.
          example: GBP
    TrackListResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        page:
          type: integer
          example: 1
        pageSize:
          type: integer
          example: 20
        totalItems:
          type: integer
          example: 13
        tracks:
          type: array
          items:
            $ref: '#/components/schemas/Track'
    ArtistListResponse:
      type: object
      properties:
        status:
          type: string
          example: ok
        page:
          type: integer
          example: 1
        pageSize:
          type: integer
          example: 20
        totalItems:
          type: integer
          example: 42
        artists:
          type: array
          items:
            $ref: '#/components/schemas/Artist'
  responses:
    NotFoundError:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    oauth1:
      type: apiKey
      in: query
      name: oauth_consumer_key
      description: 7digital uses OAuth 1.0 signing. Every request MUST include `oauth_consumer_key` as either a query parameter or in the Authorization header. Sensitive operations require a 2-legged or 3-legged signature with a user access token.
    oauth1_two_legged:
      type: apiKey
      in: query
      name: oauth_consumer_key
      description: 2-legged OAuth 1.0 (partner-scoped — consumer key + secret only).
    oauth1_three_legged:
      type: apiKey
      in: query
      name: oauth_consumer_key
      description: 3-legged OAuth 1.0 (consumer key + secret plus a user access token + secret).