Viberate API

Viberate API as documented publicly: 6 operations. Contract generated from the documentation by API Evangelist (2026-10-12); not the provider's own document.

Operations 6

GET /artist/by-channel/{channelname}/{linkid} Artist Search by Channel #
GET /artist/viberate/chart Artist Chart #
GET /rate-limit/status Rate Limit Status #
GET /share/docs-logo.png GET /share/docs-logo.png #

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/viberate:viberate-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

viberate-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Viberate API
  version: '2026-10-12'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-12: 6 operation(s) read from 1 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Viberate has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 1
    documentation: 5
    pages-with-code: 1
    pages-read: 1
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-12'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://api-docs.cluster.viberate.com/public-api.json
servers:
- url: https://viberate.ams3.cdn.digitaloceanspaces.com
paths:
  /artist/advanced/search:
    get:
      operationId: get_artist_advanced_search
      tags:
      - Artist
      summary: Artist Advanced Search by Name
      description: Advanced search for artists by their name. Search is elastic, so approximates can provide correct search results.
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
        description: Artist’s name
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: Maximum number of results per page
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset of results
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtistAdvancedSearchResponse'
      x-evidence:
        kind: documentation
  /artist/by-channel/{channelname}/{linkid}:
    get:
      operationId: get_artist_by_channel_channelname_linkid
      tags:
      - Artist
      summary: Artist Search by Channel
      description: Search for artists by their channel ID.
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      parameters:
      - name: channelname
        in: path
        required: true
        schema:
          type: string
      - name: linkid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtistByChannelChannelnameLinkidResponse'
      x-evidence:
        kind: documentation
  /artist/search:
    get:
      operationId: get_artist_search
      tags:
      - Artist
      summary: Artist Search by Name
      description: Search for artists by their name. Search is elastic, so approximates can provide correct search results.
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
        description: Artist’s name
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: Maximum number of results per page
      - name: offset
        in: query
        required: false
        schema:
          type: integer
        description: Offset of results
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtistSearchResponse'
      x-evidence:
        kind: documentation
  /artist/viberate/chart:
    get:
      operationId: get_artist_viberate_chart
      tags:
      - Artist
      summary: Artist Chart
      description: Get the Viberate Artist Chart, ranking artists by their overall music and social media performance in ascending order. Artists
        can be filtered and sorted by available parameters.
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      parameters:
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: Sort by parameters
      - name: timeframe
        in: query
        required: false
        schema:
          type: string
        description: Sort by timeframe
      - name: genres
        in: query
        required: false
        schema:
          type: integer
        description: Filter by genres
      - name: subgenres
        in: query
        required: false
        schema:
          type: integer
        description: Filter by subgenres
      - name: spotify-genres
        in: query
        required: false
        schema:
          type: integer
        description: Filter by spotify genres
      - name: hotness
        in: query
        required: false
        schema:
          type: string
        description: Filter by the HOT tag
      - name: countries
        in: query
        required: false
        schema:
          type: string
        description: Filter by country
      - name: status
        in: query
        required: false
        schema:
          type: string
        description: Filter by status
      - name: verified
        in: query
        required: false
        schema:
          type: boolean
        description: Filter by verified/unverified artists
      - name: uuid
        in: query
        required: false
        schema:
          type: string
        description: Filter by aritst UUID
      - name: labels
        in: query
        required: false
        schema:
          type: string
        description: Filter by major labels
      - name: exclude-countries
        in: query
        required: false
        schema:
          type: string
        description: Filter by excluding countries
      - name: first-release-date
        in: query
        required: false
        schema:
          type: string
        description: Filter by first release date
      - name: sort-by-pct
        in: query
        required: false
        schema:
          type: boolean
        description: Sort by percentage
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetArtistViberateChartResponse'
      x-evidence:
        kind: documentation
  /rate-limit/status:
    get:
      operationId: get_rate_limit_status
      tags:
      - Rate Limit
      summary: Rate Limit Status
      description: Get your current rate limit status.
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRateLimitStatusResponse'
      x-evidence:
        kind: documentation
  /share/docs-logo.png:
    get:
      operationId: get_share_docs_logo_png
      tags:
      - Share
      summary: GET /share/docs-logo.png
      x-source: https://api-docs.cluster.viberate.com/public-api.json
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShareDocsLogoPngResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -H 'Accept: application/json' -H 'Access-Key: {API token}' {URL} `\",\n    \"version\": \"1.24.0\",\n    \"x-logo\": {\n\
          \      \"url\": \"https://viberate.ams3.cdn.digitaloceanspaces.com/share/docs-logo.png\",\n      \"altText\": \"Viberate logo\",\n \
          \     \"href\": \"https://www.viberate.com/home\"\n    }\n  },\n  \"host\": \"data.viberate.com/api\",\n  \"basePath\": \"/v1\",\n \
          \ \"schemes\": [\"https\"],\n  \"securityDefinitions\": {\n  "
components:
  schemas:
    GetArtistAdvancedSearchResponse:
      type: object
      properties:
        api_version:
          type: string
        data:
          type: array
          description: List of artist objects with Spotify data
        data[].spotify_id:
          type: string
        data[].name:
          type: string
        data[].image:
          type: string
        data[].genres:
          type: array
        pagination:
          type: object
    GetArtistByChannelChannelnameLinkidResponse:
      type: object
      properties:
        api_version:
          type: string
        data:
          type: object
        data.uuid:
          type: string
        data.name:
          type: string
        data.slug:
          type: string
        data.image:
          type: string
        data.rank:
          type: integer
        data.status:
          type: string
        data.verified:
          type: boolean
        data.country:
          type: object
        data.city:
          type: object
        data.genre:
          type: object
        data.subgenres:
          type: array
    GetArtistSearchResponse:
      type: object
      properties:
        api_version:
          type: string
        data:
          type: array
          description: List of artist objects
        data[].uuid:
          type: string
        data[].name:
          type: string
        data[].slug:
          type: string
        data[].image:
          type: string
        data[].rank:
          type: integer
        data[].status:
          type: string
        data[].verified:
          type: boolean
        data[].country:
          type: object
        data[].city:
          type: object
        data[].genre:
          type: object
        data[].subgenres:
          type: array
        data[].spotify_genres:
          type: array
        pagination:
          type: object
    GetArtistViberateChartResponse:
      type: object
      properties:
        api_version:
          type: string
        data:
          type: array
          description: List of artist chart entries
        pagination:
          type: object
    GetRateLimitStatusResponse:
      type: object
      properties:
        api_version:
          type: string
        data:
          type: object
          description: Contains limit information
        data.limit:
          type: integer
        data.remaining:
          type: integer
        data.status:
          type: string
          description: UNDER_LIMIT or OVER_LIMIT
    GetShareDocsLogoPngResponse:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
tags:
- name: Artist
- name: Rate Limit
- name: Share