ReccoBeats Recommendation API

Track recommendations generated from seeds.

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/reccobeats-recommendation-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reccobeats-recommendation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ReccoBeats Album Recommendation API
  description: ReccoBeats is a free music recommendation and database API. It serves track, artist, and album metadata from a database of millions of tracks, generates track recommendations from seed tracks/artists/albums, and returns Spotify-style audio features (acousticness, danceability, energy, instrumentalness, liveness, loudness, speechiness, tempo, valence) either for a catalog track by ID or extracted directly from an uploaded audio file. Resources are addressed by a ReccoBeats UUID (v4) or by a Spotify Base-62 ID. No API key or authentication is required. The API enforces internal rate limits and returns HTTP 429 with a Retry-After header when throttled.
  version: '1.0'
  contact:
    name: ReccoBeats
    url: https://reccobeats.com
servers:
- url: https://api.reccobeats.com/v1
  description: ReccoBeats production API
tags:
- name: Recommendation
  description: Track recommendations generated from seeds.
paths:
  /track/recommendation:
    get:
      operationId: getRecommendation
      tags:
      - Recommendation
      summary: Track recommendation
      description: Generate track recommendations from one or more seeds (track, artist, or album IDs). The engine clusters songs, artists, and audio features and returns tracks whose characteristics best match the seeds. Optional audio-feature target parameters can be supplied to steer the results toward a desired sound and mood.
      parameters:
      - name: seeds
        in: query
        required: true
        description: Comma-separated list of seed IDs (ReccoBeats UUIDs or Spotify IDs) for tracks, artists, or albums.
        schema:
          type: string
      - name: size
        in: query
        required: false
        description: Number of recommended tracks to return.
        schema:
          type: integer
          default: 10
      - name: acousticness
        in: query
        required: false
        description: Target acousticness (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: danceability
        in: query
        required: false
        description: Target danceability (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: energy
        in: query
        required: false
        description: Target energy (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: instrumentalness
        in: query
        required: false
        description: Target instrumentalness (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: liveness
        in: query
        required: false
        description: Target liveness (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: speechiness
        in: query
        required: false
        description: Target speechiness (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: tempo
        in: query
        required: false
        description: Target tempo in BPM to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      - name: valence
        in: query
        required: false
        description: Target valence (0.0-1.0) to steer recommendations. Modeled.
        schema:
          type: number
          format: float
      responses:
        '200':
          description: A list of recommended tracks.
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: array
                    items:
                      $ref: '#/components/schemas/Track'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    Track:
      type: object
      description: A track in the ReccoBeats database.
      properties:
        id:
          type: string
          description: The ReccoBeats UUID for the track.
        trackTitle:
          type: string
        artists:
          type: array
          items:
            $ref: '#/components/schemas/Artist'
        durationMs:
          type: integer
        isrc:
          type: string
        ean:
          type: string
        upc:
          type: string
        href:
          type: string
        availableCountries:
          type: string
        popularity:
          type: integer
    Artist:
      type: object
      description: An artist in the ReccoBeats database.
      properties:
        id:
          type: string
          description: The ReccoBeats UUID for the artist.
        name:
          type: string
        href:
          type: string
  responses:
    BadRequest:
      description: The request was malformed or missing required parameters.
    TooManyRequests:
      description: Rate limit exceeded. Inspect the Retry-After header to determine how long to wait before retrying.