CM Documentation
API Reference
Integrations

Artist Overview

Fetch a Spotify artist overview including basic profile, monthly listeners, top tracks, city-level listener data, and related artists.

GET /api/v1/artist/{artist_id}

Path Parameters

artist_id string REQUIRED

The Spotify Artist ID

Response

artist_idstring
artist_namestring | null
descriptionstring | null
artwork_urlstring | null
verifiedboolean | null
monthly_listenersinteger | null
related_artists{ id: string }[]
top_tracks{ track_id, track_name, playcount }[]
cities{ city, region, country, listeners }[]

Try it live

Ready.
// Response will appear here

Artist Stat (Timeseries)

Returns up to 90 days of historical daily stats for a Spotify artist, including followers, popularity score, and monthly listeners.

GET /api/v1/artist/{artist_id}/stat

Path Parameters

artist_id string REQUIRED

The Spotify Artist ID

Response

artist_idstring
stats{ date, followers, popularity, monthly_listeners }[]
stats[].datestring (YYYY-MM-DD)
stats[].followersinteger
stats[].popularityinteger (0–100)
stats[].monthly_listenersinteger

Try it live

Ready.
// Response will appear here

Get Artist Metadata

Returns full artist metadata sourced directly from the Spotify partner API — identity, live stats (followers, monthly listeners, popularity, world rank), visuals, external links, top cities, and top tracks in a single call.

GET /api/v1/artist/{artist_id}/metadata

Path Parameters

artist_id string REQUIRED

The Spotify Artist ID

Response

Identity
artist_idstring
artist_namestring | null
verifiedboolean | null
biographystring | null
artwork_urlstring | nullprimary avatar image URL
gallerystring[]additional image URLs
external_links{ name, url }[]FACEBOOK, INSTAGRAM, TIKTOK, TWITTER, WIKIPEDIA
Stats
followers_latestinteger | null
monthly_listenersinteger | null
popularity_latestinteger (0–100) | nullvia spclient API
world_rankinteger | nullglobal rank by monthly listeners
Top Cities
top_cities{ city, country, region, listeners }[]
Top Tracks
top_tracks{ track_id, track_name, playcount }[]

Try it live

Ready.
// Response will appear here

Artist

Fetch JioSaavn artist profile including follower/fan counts, dominant language, verified status, and date of birth.

GET /api/v1/jiosaavn/artist/{artist_id}

Path Parameters

artist_idstringREQUIRED

JioSaavn numeric artist ID

Response

artist_idstring
namestring
urlstring
image_urlstring
follower_countinteger
fan_countinteger
is_verifiedboolean
is_radio_presentboolean
dominant_languagestring
dominant_typestring
dobstring

Try it live

Ready.
// Response will appear here

Song

Fetch JioSaavn song details including metadata, play count, lyrics availability, album reference, and artist IDs.

GET /api/v1/jiosaavn/song/{song_id}

Path Parameters

song_idstringREQUIRED

JioSaavn alphanumeric song ID (e.g. aRZbUYD7)

Response

song_idstring
namestring
urlstring
image_urlstring
languagestring
yearstring
release_datestring
duration_secondsinteger
labelstring
copyrightstring
has_lyricsboolean
explicit_contentboolean
play_countinteger
album{ id, name, url }
artist_idsstring[]

Try it live

Ready.
// Response will appear here

Album

Fetch JioSaavn album metadata including year, language, label, and song count.

GET /api/v1/jiosaavn/album/{album_id}

Path Parameters

album_idstringREQUIRED

JioSaavn numeric album ID

Response

album_idstring
namestring
urlstring
image_urlstring
yearstring
languagestring
labelstring
song_countinteger

Try it live

Ready.
// Response will appear here

Playlist

Fetch JioSaavn playlist details including description, song count, explicit flag, and first 10 tracks.

GET /api/v1/jiosaavn/playlist/{playlist_id}

Path Parameters

playlist_idstringREQUIRED

JioSaavn numeric playlist ID

Response

playlist_idstring
namestring
descriptionstring
urlstring
languagestring
song_countinteger
explicit_contentboolean
songs{ id, name, url }[] (first 10)

Try it live

Ready.
// Response will appear here

New Albums

Discover recently released albums on JioSaavn for a given language, sourced from the browse modules endpoint.

GET /api/v1/jiosaavn/new-albums

Query Parameters

languagestringOPTIONAL

Language filter. Default: hindi. Options: hindi, english, punjabi, tamil, telugu, kannada, malayalam, marathi, bengali.

Response

languagestring
albums{ album_id, name, release_date, language, artist_ids[] }[]

Try it live

Ready.
// Response will appear here

Top Playlists

Discover top editorial playlists on JioSaavn for a given language, sourced from the browse modules endpoint.

GET /api/v1/jiosaavn/top-playlists

Query Parameters

languagestringOPTIONAL

Language filter. Default: hindi.

Response

languagestring
playlists{ playlist_id, name, song_count, follower_count }[]

Try it live

Ready.
// Response will appear here

Top Artists

Scrape the JioSaavn homepage to discover trending artists. Returns name, perma_url, and token for each artist.

GET /api/v1/jiosaavn/top-artists

Response

artists{ name, perma_url, token }[]

Try it live

Ready.
// Response will appear here

Integrations

Use the Chartmetric Spotify API with your favorite tools and workflows.

🐍 Python SDK

Call the API directly with the requests library. Ideal for scripts, notebooks, and pipelines.

🌬️ Apache Airflow

Trigger API calls inside DAGs using PythonOperator. Fits naturally into scheduled data pipelines.

Python

Fetch artist data using the requests library in any Python environment.

import requests

BASE_URL = "https://api-doc-builder.replit.app"

def get_artist(artist_id: str) -> dict:
    res = requests.get(f"{BASE_URL}/api/v1/artist/{artist_id}")
    res.raise_for_status()
    return res.json()

def get_artist_stat(artist_id: str) -> dict:
    res = requests.get(f"{BASE_URL}/api/v1/artist/{artist_id}/stat")
    res.raise_for_status()
    return res.json()

artist = get_artist("0ljwTxWpYg9c0jnm8bHnQs")
print(artist["artist_name"])  # Billie Eilish

Apache Airflow

Use PythonOperator to call the API inside a scheduled DAG.

from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime
import requests

def fetch_artist_stat():
    artist_id = "0ljwTxWpYg9c0jnm8bHnQs"
    res = requests.get(
        f"https://api-doc-builder.replit.app/api/v1/artist/{artist_id}/stat"
    )
    data = res.json()
    print(f"Latest followers: {data['stats'][0]['followers']}")

with DAG("spotify_artist_stat", start_date=datetime(2024, 1, 1), schedule="@daily") as dag:
    task = PythonOperator(task_id="fetch_stat", python_callable=fetch_artist_stat)
Copied!