chartmetric
Chartmetric music analytics API for streaming data, playlist placements, audience demographics, and competitive analysis. Use when the user needs artist/track/album analytics, playlist tracking, streaming metrics, audience insights, chart positions, similar artists, or any music industry data. Triggers on requests involving Spotify followers, monthly listeners, TikTok trends, Instagram audience, playlist pitching research, or competitive artist analysis.
What this skill does
# Chartmetric API Music industry analytics via Python scripts. Get streaming metrics, playlist placements, audience data, and competitive insights. ## Setup ### With Python (recommended) ```bash cd .recoup/skills/chartmetric python3 -m venv .venv && source .venv/bin/activate pip install requests export CHARTMETRIC_REFRESH_TOKEN="your_token" ``` ### Without Python (curl fallback) If Python is unavailable, see `references/curl-fallback.md` for curl-only patterns. Only requires `curl` (universal). ## Quick Start ```bash # 1. Search for an artist python scripts/search_artist.py "Drake" # Returns: Chartmetric ID 3380 # 2. Get profile and stats python scripts/get_artist.py 3380 python scripts/get_artist_metrics.py 3380 --source spotify # 3. Get where fans listen python scripts/get_artist_cities.py 3380 ``` --- ## Critical Gotchas These are the API traps that cause 401/400 errors. Memorize them: | Gotcha | Wrong | Correct | |--------|-------|---------| | YouTube metrics | `--source youtube` | `--source youtube_channel` or `youtube_artist` | | Artist playlists | `/artist/:id/playlists` | `/artist/:id/:platform/current/playlists` | | Similar artists | `/artist/:id/similar` | `/artist/:id/relatedartists` or `similar-artists/by-configurations` | | TikTok charts | With `country_code` | **No** `country_code` parameter | | Amazon charts | With `country_code` | **No** `country_code` - use `genre` + `type` | | Curator search | By name | By **numeric** Chartmetric ID only | --- ## Scripts Reference ### Artist Discovery ```bash # Find US artists with 100K-500K Spotify monthly listeners python scripts/discover_artists.py --country US --spotify-listeners 100000 500000 # TikTok-famous but weak on Spotify python scripts/discover_artists.py --tiktok-followers 1000000 10000000 --spotify-listeners 0 100000 # Emerging artists in a genre, sorted by weekly growth python scripts/discover_artists.py --genre 86 --spotify-listeners 50000 200000 --sort weekly_diff.sp_monthly_listeners # Solo female artists in Brazil python scripts/discover_artists.py --country BR --band false --pronoun she/her # Festival performers with low Spotify (undervalued) python scripts/discover_artists.py --festival-id 123 --spotify-followers 0 50000 ``` **Available filters:** `--country`, `--genre`, `--band`, `--pronoun`, `--spotify-listeners`, `--spotify-followers`, `--tiktok-followers`, `--instagram-followers`, `--youtube-subscribers`, `--cpp`, `--festival-id` **Sort columns:** `latest.sp_monthly_listeners`, `weekly_diff.sp_monthly_listeners`, `monthly_diff.tt_followers`, etc. ### Search & Lookup ```bash python scripts/search_artist.py "Taylor Swift" # Search artists by name python scripts/get_artist.py 2762 # Get profile by CM ID python scripts/get_artist_by_spotify.py 3TVXtAsR... # Lookup by Spotify ID/URL python scripts/get_track.py 128613854 # Get track metadata python scripts/get_track_by_spotify.py 0VjIjW4G... # Lookup track by Spotify ``` ### Artist Data ```bash python scripts/get_artist_albums.py 3380 # All albums python scripts/get_artist_tracks.py 3380 # All tracks python scripts/get_artist_cities.py 3380 # Top cities by listeners python scripts/get_artist_urls.py 3380 # Social/streaming URLs python scripts/get_artist_insights.py 3380 # AI-generated insights python scripts/get_artist_career.py 3380 # Career timeline ``` ### Platform Metrics ```bash python scripts/get_artist_metrics.py 3380 --source spotify python scripts/get_artist_metrics.py 3380 --source instagram python scripts/get_artist_metrics.py 3380 --source youtube_channel ``` **Valid sources (14 total):** `spotify`, `instagram`, `tiktok`, `twitter`, `facebook`, `youtube_channel`, `youtube_artist`, `soundcloud`, `deezer`, `twitch`, `line`, `melon`, `wikipedia`, `bandsintown` ### Audience Demographics ```bash python scripts/get_artist_audience.py 3380 # Instagram (default) python scripts/get_artist_audience.py 3380 --platform tiktok # TikTok python scripts/get_artist_audience.py 3380 --platform youtube # YouTube python scripts/get_artist_instagram_posts.py 3380 # Top IG posts/reels ``` ### Playlist Placements ```bash # Basic - current Spotify playlists python scripts/get_artist_playlists.py 3380 # Other platforms python scripts/get_artist_playlists.py 3380 --platform applemusic python scripts/get_artist_playlists.py 3380 --platform deezer # Past placements python scripts/get_artist_playlists.py 3380 --status past # With filters python scripts/get_artist_playlists.py 3380 --editorial --newMusicFriday python scripts/get_artist_playlists.py 3380 --indie --majorCurator # With date range and sorting python scripts/get_artist_playlists.py 3380 --since 2025-01-01 --sort followers --limit 100 ``` **Platforms:** `spotify`, `applemusic`, `deezer`, `amazon`, `youtube` **Spotify filters:** `--editorial`, `--personalized`, `--chart`, `--thisIs`, `--newMusicFriday`, `--radio`, `--indie`, `--majorCurator`, `--popularIndie`, `--brand` ### Similar/Related Artists ```bash # Basic related artists python scripts/get_similar_artists.py 3380 --limit 10 # Advanced with configuration filters python scripts/get_similar_artists.py 3380 --by-config --audience high --genre high python scripts/get_similar_artists.py 3380 --by-config --mood medium --musicality high ``` **Config options:** `--audience`, `--mood`, `--genre`, `--musicality` (values: `high`, `medium`, `low`) ### Playlists & Curators ```bash python scripts/get_playlist.py spotify 37i9dQZF1DXcBWIGoYBM5M # Playlist metadata python scripts/get_curator.py 1 # Curator info (numeric ID) ``` ### Discovery ```bash python scripts/list_genres.py # All Chartmetric genres python scripts/list_festivals.py # Music festivals ``` --- ## Workflow Chains ### Research an Artist for Playlist Pitching ```bash # 1. Find the artist python scripts/search_artist.py "Phoebe Bridgers" # ID: 241089 # 2. Get their current playlist placements python scripts/get_artist_playlists.py 241089 --editorial --limit 50 # 3. Find similar artists who might share playlists python scripts/get_similar_artists.py 241089 --by-config --genre high --audience high # 4. Check where their fans are python scripts/get_artist_cities.py 241089 python scripts/get_artist_audience.py 241089 --platform instagram ``` ### Competitive Analysis ```bash # 1. Get base artist python scripts/get_artist.py 3380 # 2. Get similar artists with metrics python scripts/get_similar_artists.py 3380 --by-config --audience high --limit 25 # 3. Compare streaming growth python scripts/get_artist_metrics.py 3380 --source spotify python scripts/get_artist_metrics.py <competitor_id> --source spotify # 4. Compare playlist reach python scripts/get_artist_playlists.py 3380 --sort followers python scripts/get_artist_playlists.py <competitor_id> --sort followers ``` ### From Spotify URL to Full Profile ```bash # 1. Convert Spotify URL to Chartmetric ID python scripts/get_artist_by_spotify.py "https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4" # Returns: cm_artist: 1320 # 2. Get everything python scripts/get_artist.py 1320 python scripts/get_artist_metrics.py 1320 --source spotify python scripts/get_artist_cities.py 1320 python scripts/get_artist_playlists.py 1320 python scripts/get_artist_audience.py 1320 ``` ### More Advanced Workflows See `references/advanced-workflows.md` for 10 strategic workflow chains including: - Playlist pitching intelligence - TikTok-to-Spotify pipeline analysis - A&R discovery workflow - Collaboration finder - Viral song autopsy --- ## References | File | When to Use | |------|-------------| | `references/parameter-guide.md` | Detailed endpoint parameters and gotchas | | `references/endpoints.md` | All 120 endpoints w
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".