Artlist Enterprise Search API

Search and retrieve the Artlist music catalog — songs (with mood, genre, instrument and video-theme category filters, BPM, duration, vocal type and free-text query), artists and albums. Returns AAC stream URLs, waveform URLs, artwork and the full genre-category taxonomy per song. Paged at 20 results per request.

OpenAPI Specification

artlist-search-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Search
  version: 1.0.0
paths:
  /https://business.artlist.io/search/v1/song/{id}:
    get:
      operationId: song-controller-get-song
      summary: Song Controller Get Song
      tags:
        - song
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Get song by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSongResponse'
  /https://business.artlist.io/search/v1/song:
    get:
      operationId: song-controller-get-songs
      summary: Song Controller Get Songs
      tags:
        - song
      parameters:
        - name: page
          in: query
          description: Page number. Starts at 1
          required: true
          schema:
            type: number
            format: double
        - name: categoryIds
          in: query
          description: category IDs, including Instrument, Genre, Mood & Video Theme; See [dictionary](/dictionaries).
          required: false
          schema:
            type: array
            items:
              type: string
        - name: vocalType
          in: query
          description: >-
            Vocal type. Choose from a set of allowed values | VOCAL_AND_INSTRUMENTS, VOCAL, INSTRUMENTAL, FEMALE_VOCAL,
            MALE_VOCAL, DUET, GROUP, ACAPELLA
          required: false
          schema:
            type: string
        - name: durationMin
          in: query
          description: Duration in seconds. 0 to 420
          required: false
          schema:
            type: number
            format: double
        - name: durationMax
          in: query
          description: Duration in seconds. 0 to 420
          required: false
          schema:
            type: number
            format: double
        - name: bpmMin
          in: query
          description: BPM rate. 0 to 200
          required: false
          schema:
            type: number
            format: double
        - name: bpmMax
          in: query
          description: BPM rate. 0 to 200
          required: false
          schema:
            type: number
            format: double
        - name: query
          in: query
          description: Search term
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Get songs. 20 per request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSongsResponse'
  /https://business.artlist.io/search/v1/artist/{id}:
    get:
      operationId: artist-controller-get-artist
      summary: Artist Controller Get Artist
      tags:
        - artist
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Get artist by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtistResponse'
  /https://business.artlist.io/search/v1/album/{id}:
    get:
      operationId: album-controller-get-album
      summary: Album Controller Get Album
      tags:
        - album
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Get album by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAlbumResponse'
servers:
  - url: https://host.com
    description: Default
components:
  schemas:
    SongArtistDetails:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
          description: Slug of the artist for URL
      required:
        - id
        - name
        - slug
      title: SongArtistDetails
    SongAlbumDetails:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
          description: Slug of the album for URL
      required:
        - id
        - name
        - slug
      title: SongAlbumDetails
    SongGenreCategoryDetails:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      title: SongGenreCategoryDetails
    Song:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        artist:
          $ref: '#/components/schemas/SongArtistDetails'
        album:
          $ref: '#/components/schemas/SongAlbumDetails'
        url:
          type: string
          description: AAC URL of the song
        imageUrl:
          type: string
          description: Image URL of the album
        thumbImageUrl:
          type: string
          description: Thumbnail image URL of the album
        waveSurferUrl:
          type: string
          description: WaveSurfer URL of the song
        duration:
          type: number
          format: double
          description: Duration of the song in seconds
        bpmRate:
          type: number
          format: double
          description: BPM rate of the song
        genreCategories:
          type: array
          items:
            $ref: '#/components/schemas/SongGenreCategoryDetails'
          description: Genre categories of the song
      required:
        - id
        - name
        - artist
        - album
        - url
        - imageUrl
        - thumbImageUrl
        - waveSurferUrl
        - duration
        - bpmRate
        - genreCategories
      title: Song
    GetSongResponse:
      type: object
      properties:
        song:
          $ref: '#/components/schemas/Song'
      required:
        - song
      title: GetSongResponse
    GetSongsResponse:
      type: object
      properties:
        songs:
          type: array
          items:
            $ref: '#/components/schemas/Song'
        total:
          type: number
          format: double
      required:
        - songs
        - total
      title: GetSongsResponse
    Artist:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        profileImage:
          type: string
        slug:
          type: string
        bio:
          type: string
        bioImage:
          type: string
        coverImage:
          type: string
      required:
        - id
        - name
        - profileImage
        - slug
        - bio
        - bioImage
        - coverImage
      title: Artist
    GetArtistResponse:
      type: object
      properties:
        artist:
          $ref: '#/components/schemas/Artist'
      required:
        - artist
      title: GetArtistResponse
    AlbumArtistDetails:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        slug:
          type: string
          description: Slug of the artist for URL
      required:
        - id
        - name
        - slug
      title: AlbumArtistDetails
    AlbumCollaborativeArtistDetails:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      title: AlbumCollaborativeArtistDetails
    Album:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        slug:
          type: string
        artist:
          $ref: '#/components/schemas/AlbumArtistDetails'
        coverImage:
          type: string
        insetImage:
          type: string
        featuredArtists:
          type: array
          items:
            $ref: '#/components/schemas/AlbumCollaborativeArtistDetails'
          description: List of featured artists in the album
        primaryArtists:
          type: array
          items:
            $ref: '#/components/schemas/AlbumCollaborativeArtistDetails'
          description: List of primary artists in the album
      required:
        - id
        - name
        - description
        - slug
        - artist
        - coverImage
        - insetImage
        - featuredArtists
        - primaryArtists
      title: Album
    GetAlbumResponse:
      type: object
      properties:
        album:
          $ref: '#/components/schemas/Album'
      required:
        - album
      title: GetAlbumResponse
Where this information came from

This is an independent, third-party profile of Artlist Enterprise Search API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.