Songstats · Capability
Songstats Enterprise API — Artists
Songstats Enterprise API — Artists. 14 operations. Lead operation: Get Artist Activities. Self-contained Naftiko capability covering one Songstats business surface.
What You Can Do
GET
Getartistactivities
— Get Artist Activities
/v1/artists/activities
GET
Getartistaudience
— Get Artist Audience
/v1/artists/audience
GET
Getartistaudiencedetails
— Get Artist Audience Details
/v1/artists/audience/details
GET
Getartistcatalog
— Get Artist Catalog
/v1/artists/catalog
GET
Getartisthistoricstats
— Get Artist Historic Stats
/v1/artists/historic-stats
GET
Getartistinfo
— Get Artist Info
/v1/artists/info
POST
Addartistlinkrequest
— Add Artist Link Request
/v1/artists/link-request
DELETE
Removeartistlinkrequest
— Remove Artist Link Request
/v1/artists/link-request
GET
Searchartists
— Search Artists
/v1/artists/search
GET
Getartistcurrentstats
— Get Artist Current Stats
/v1/artists/stats
GET
Getartisttopplaylists
— Get Artist Top Playlists
/v1/artists/top-playlists
GET
Getartisttoptracks
— Get Artist Top Tracks
/v1/artists/top-tracks
POST
Addartisttrackrequest
— Add Artist Track Request
/v1/artists/track-request
DELETE
Removeartisttrackrequest
— Remove Artist Track Request
/v1/artists/track-request
MCP Tools
get-artist-activities
Get Artist Activities
read-only
idempotent
get-artist-audience
Get Artist Audience
read-only
idempotent
get-artist-audience-details
Get Artist Audience Details
read-only
idempotent
get-artist-catalog
Get Artist Catalog
read-only
idempotent
get-artist-historic-stats
Get Artist Historic Stats
read-only
idempotent
get-artist-info
Get Artist Info
read-only
idempotent
add-artist-link-request
Add Artist Link Request
remove-artist-link-request
Remove Artist Link Request
idempotent
search-artists
Search Artists
read-only
idempotent
get-artist-current-stats
Get Artist Current Stats
read-only
idempotent
get-artist-top-playlists
Get Artist Top Playlists
read-only
idempotent
get-artist-top-tracks
Get Artist Top Tracks
read-only
idempotent
add-artist-track-request
Add Artist Track Request
remove-artist-track-request
Remove Artist Track Request
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Songstats Enterprise API — Artists
description: 'Songstats Enterprise API — Artists. 14 operations. Lead operation: Get Artist Activities. Self-contained Naftiko
capability covering one Songstats business surface.'
tags:
- Songstats
- Artists
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SONGSTATS_API_KEY: SONGSTATS_API_KEY
capability:
consumes:
- type: http
namespace: songstats-artists
baseUri: https://api.songstats.com/enterprise/v1
description: Songstats Enterprise API — Artists business capability. Self-contained, no shared references.
resources:
- name: artists-activities
path: /artists/activities
operations:
- name: getartistactivities
method: GET
description: Get Artist Activities
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: artists-audience
path: /artists/audience
operations:
- name: getartistaudience
method: GET
description: Get Artist Audience
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: artists-audience-details
path: /artists/audience/details
operations:
- name: getartistaudiencedetails
method: GET
description: Get Artist Audience Details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: country_code
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: true
- name: artists-catalog
path: /artists/catalog
operations:
- name: getartistcatalog
method: GET
description: Get Artist Catalog
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: artists-historic_stats
path: /artists/historic_stats
operations:
- name: getartisthistoricstats
method: GET
description: Get Artist Historic Stats
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: start_date
in: query
type: string
description: Start date for historical data
- name: end_date
in: query
type: string
description: End date for historical data
- name: artists-info
path: /artists/info
operations:
- name: getartistinfo
method: GET
description: Get Artist Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
- name: spotify_artist_id
in: query
type: string
description: Spotify artist ID
- name: apple_music_artist_id
in: query
type: string
description: Apple Music artist ID
- name: artists-link_request
path: /artists/link_request
operations:
- name: addartistlinkrequest
method: POST
description: Add Artist Link Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: removeartistlinkrequest
method: DELETE
description: Remove Artist Link Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
required: true
- name: link
in: query
type: string
required: true
- name: artists-search
path: /artists/search
operations:
- name: searchartists
method: GET
description: Search Artists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Search query
required: true
- name: artists-stats
path: /artists/stats
operations:
- name: getartistcurrentstats
method: GET
description: Get Artist Current Stats
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: artists-top_playlists
path: /artists/top_playlists
operations:
- name: getartisttopplaylists
method: GET
description: Get Artist Top Playlists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: artists-top_tracks
path: /artists/top_tracks
operations:
- name: getartisttoptracks
method: GET
description: Get Artist Top Tracks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
description: Songstats artist ID
required: true
- name: source
in: query
type: string
description: Streaming platform source filter
- name: artists-track_request
path: /artists/track_request
operations:
- name: addartisttrackrequest
method: POST
description: Add Artist Track Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: removeartisttrackrequest
method: DELETE
description: Remove Artist Track Request
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: songstats_artist_id
in: query
type: string
required: true
- name: songstats_track_id
in: query
type: string
required: true
authentication:
type: apikey
key: apikey
value: '{{env.SONGSTATS_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: songstats-artists-rest
port: 8080
description: REST adapter for Songstats Enterprise API — Artists. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/artists/activities
name: artists-activities
description: REST surface for artists-activities.
operations:
- method: GET
name: getartistactivities
description: Get Artist Activities
call: songstats-artists.getartistactivities
with:
songstats_artist_id: rest.songstats_artist_id
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/audience
name: artists-audience
description: REST surface for artists-audience.
operations:
- method: GET
name: getartistaudience
description: Get Artist Audience
call: songstats-artists.getartistaudience
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/audience/details
name: artists-audience-details
description: REST surface for artists-audience-details.
operations:
- method: GET
name: getartistaudiencedetails
description: Get Artist Audience Details
call: songstats-artists.getartistaudiencedetails
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
country_code: rest.country_code
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/catalog
name: artists-catalog
description: REST surface for artists-catalog.
operations:
- method: GET
name: getartistcatalog
description: Get Artist Catalog
call: songstats-artists.getartistcatalog
with:
songstats_artist_id: rest.songstats_artist_id
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/historic-stats
name: artists-historic-stats
description: REST surface for artists-historic_stats.
operations:
- method: GET
name: getartisthistoricstats
description: Get Artist Historic Stats
call: songstats-artists.getartisthistoricstats
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
start_date: rest.start_date
end_date: rest.end_date
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/info
name: artists-info
description: REST surface for artists-info.
operations:
- method: GET
name: getartistinfo
description: Get Artist Info
call: songstats-artists.getartistinfo
with:
songstats_artist_id: rest.songstats_artist_id
spotify_artist_id: rest.spotify_artist_id
apple_music_artist_id: rest.apple_music_artist_id
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/link-request
name: artists-link-request
description: REST surface for artists-link_request.
operations:
- method: POST
name: addartistlinkrequest
description: Add Artist Link Request
call: songstats-artists.addartistlinkrequest
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: removeartistlinkrequest
description: Remove Artist Link Request
call: songstats-artists.removeartistlinkrequest
with:
songstats_artist_id: rest.songstats_artist_id
link: rest.link
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/search
name: artists-search
description: REST surface for artists-search.
operations:
- method: GET
name: searchartists
description: Search Artists
call: songstats-artists.searchartists
with:
q: rest.q
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/stats
name: artists-stats
description: REST surface for artists-stats.
operations:
- method: GET
name: getartistcurrentstats
description: Get Artist Current Stats
call: songstats-artists.getartistcurrentstats
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/top-playlists
name: artists-top-playlists
description: REST surface for artists-top_playlists.
operations:
- method: GET
name: getartisttopplaylists
description: Get Artist Top Playlists
call: songstats-artists.getartisttopplaylists
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/top-tracks
name: artists-top-tracks
description: REST surface for artists-top_tracks.
operations:
- method: GET
name: getartisttoptracks
description: Get Artist Top Tracks
call: songstats-artists.getartisttoptracks
with:
songstats_artist_id: rest.songstats_artist_id
source: rest.source
outputParameters:
- type: object
mapping: $.
- path: /v1/artists/track-request
name: artists-track-request
description: REST surface for artists-track_request.
operations:
- method: POST
name: addartisttrackrequest
description: Add Artist Track Request
call: songstats-artists.addartisttrackrequest
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: removeartisttrackrequest
description: Remove Artist Track Request
call: songstats-artists.removeartisttrackrequest
with:
songstats_artist_id: rest.songstats_artist_id
songstats_track_id: rest.songstats_track_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: songstats-artists-mcp
port: 9090
transport: http
description: MCP adapter for Songstats Enterprise API — Artists. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-artist-activities
description: Get Artist Activities
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistactivities
with:
songstats_artist_id: tools.songstats_artist_id
outputParameters:
- type: object
mapping: $.
- name: get-artist-audience
description: Get Artist Audience
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistaudience
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: get-artist-audience-details
description: Get Artist Audience Details
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistaudiencedetails
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
country_code: tools.country_code
outputParameters:
- type: object
mapping: $.
- name: get-artist-catalog
description: Get Artist Catalog
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistcatalog
with:
songstats_artist_id: tools.songstats_artist_id
outputParameters:
- type: object
mapping: $.
- name: get-artist-historic-stats
description: Get Artist Historic Stats
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartisthistoricstats
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
start_date: tools.start_date
end_date: tools.end_date
outputParameters:
- type: object
mapping: $.
- name: get-artist-info
description: Get Artist Info
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistinfo
with:
songstats_artist_id: tools.songstats_artist_id
spotify_artist_id: tools.spotify_artist_id
apple_music_artist_id: tools.apple_music_artist_id
outputParameters:
- type: object
mapping: $.
- name: add-artist-link-request
description: Add Artist Link Request
hints:
readOnly: false
destructive: false
idempotent: false
call: songstats-artists.addartistlinkrequest
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-artist-link-request
description: Remove Artist Link Request
hints:
readOnly: false
destructive: true
idempotent: true
call: songstats-artists.removeartistlinkrequest
with:
songstats_artist_id: tools.songstats_artist_id
link: tools.link
outputParameters:
- type: object
mapping: $.
- name: search-artists
description: Search Artists
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.searchartists
with:
q: tools.q
outputParameters:
- type: object
mapping: $.
- name: get-artist-current-stats
description: Get Artist Current Stats
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartistcurrentstats
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: get-artist-top-playlists
description: Get Artist Top Playlists
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartisttopplaylists
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: get-artist-top-tracks
description: Get Artist Top Tracks
hints:
readOnly: true
destructive: false
idempotent: true
call: songstats-artists.getartisttoptracks
with:
songstats_artist_id: tools.songstats_artist_id
source: tools.source
outputParameters:
- type: object
mapping: $.
- name: add-artist-track-request
description: Add Artist Track Request
hints:
readOnly: false
destructive: false
idempotent: false
call: songstats-artists.addartisttrackrequest
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-artist-track-request
description: Remove Artist Track Request
hints:
readOnly: false
destructive: true
idempotent: true
call: songstats-artists.removeartisttrackrequest
with:
songstats_artist_id: tools.songstats_artist_id
songstats_track_id: tools.songstats_track_id
outputParameters:
- type: object
mapping: $.