Genius API: List an artist's songs
Lists an artist's songs on Genius by popularity or newest release date, with featured artists, release dates, page views and song art. The artist can be given by name or by Genius artist link; dates or views may be unavailable.
Unofficial. Not affiliated with or endorsed by Genius.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Sort optional
sort Order songs by popularity or newest release date, for example popularity.
popularity
One of
popularity,release_date. Defaultpopularity.- Artist, required
artist Artist name or Genius artist link, for example Taylor Swift or https://genius.com/artists/Taylor-swift.
Grimes
- Max Results optional
max_results Maximum number of songs, for example 20.
100
Whole number from 1 to 100. Default
20.
Input as JSON
{ "sort": "popularity", "artist": "Grimes", "max_results": 100}Output
{ "songs": [ { "title": "Genesis", "song_link": "https://genius.com/Grimes-genesis-lyrics" , "page_views": 628397, "release_date": "2012-01-09", "genius_song_id": 75097, "featured_artists": [], "song_art_image_link": "https://images.genius.com/70f421b88d0e9ddb2e7e6a4f5461148d.1000x1000x1.jpg" }, { "title": "Kill V. Maim", "song_link": "https://genius.com/Grimes-kill-v-maim-lyrics" , "page_views": 612612, "release_date": "2015-11-06", "genius_song_id": 2338809, "featured_artists": [], "song_art_image_link": "https://images.genius.com/1632f5fb43077e89d687fdb7a82533b3.1000x1000x1.jpg" }, { "title": "Oblivion", "song_link": "https://genius.com/Grimes-oblivion-lyrics" , "page_views": 564235, "release_date": "2012-01-31", "genius_song_id": 75096, "featured_artists": [], "song_art_image_link": "https://images.genius.com/0b192fee179867f83aaad83e10688389.1000x1000x1.png" } ], "artist_link": "https://genius.com/artists/Grimes" , "artist_name": "Grimes"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"genius.com/list_artist_songs","input":{"sort":"popularity","artist":"Grimes","max_results":100}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "genius.com/list_artist_songs" , "input": { "sort": "popularity", "artist": "Grimes", "max_results": 100 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "genius.com/list_artist_songs" , "input": { "sort": "popularity", "artist": "Grimes", "max_results": 100 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run genius.com/list_artist_songs# with {"sort":"popularity","artist":"Grimes","max_results":100}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "artist" ], "properties": { "sort": { "enum": [ "popularity", "release_date" ], "type": "string", "default": "popularity", "description": "Order songs by popularity or newest release date, for example popularity." }, "artist": { "type": "string", "description": "Artist name or Genius artist link, for example Taylor Swift or https://genius.com/artists/Taylor-swift." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of songs, for example 20." } }}Output schema
{ "type": "object", "required": [ "artist_name", "artist_link", "songs" ], "properties": { "songs": { "type": "array", "items": { "type": "object", "required": [ "title", "featured_artists", "release_date", "page_views", "song_art_image_link", "song_link", "genius_song_id" ], "properties": { "title": { "type": "string" }, "song_link": { "type": "string" }, "page_views": { "type": [ "integer", "null" ] }, "release_date": { "type": [ "string", "null" ], "format": "date" }, "genius_song_id": { "type": "integer" }, "featured_artists": { "type": "array", "items": { "type": "string" } }, "song_art_image_link": { "type": [ "string", "null" ] } } }, "description": "Songs in the selected order." }, "artist_link": { "type": "string", "description": "Genius artist page link." }, "artist_name": { "type": "string", "description": "Name of the matched artist." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
genius.com/list_artist_songs- Returns
- artist name, artist link, songs (title, featured artists, release date, page views, song art, link, Genius song id)
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method genius.com/list_artist_songs with the inputs above.
Ask your agent
- What are Kendrick Lamar's 10 most popular songs on Genius, with page view counts?
- Show me the newest songs released by SZA, sorted by release date, including any featured artists
- Pull up to 50 tracks from https://genius.com/artists/Tyler-the-creator ordered by popularity
- I need a list of Bad Bunny's latest releases with release dates and cover art, 15 songs max
- Get Radiohead's top 30 songs by popularity along with their song IDs and links
See more
Lists a SoundCloud artist's public tracks in latest or SoundCloud popular order, with profile and track details. SoundCloud's popular list may contain fewer than 100 tracks (currently at most 30).
soundcloud.com/list_artist_tracksFinds artists similar to a named artist on Last.fm, ordered by similarity. Similarity percentages are null because public pages do not show them.
last.fm/list_similar_artistsLooks up a Last.fm artist by name and returns listening statistics, profile, top tracks and albums, similar artists, and upcoming events.
last.fm/get_artistGets an artist's upcoming concerts and tour dates on Songkick, optionally filtered by country, with ticket links and start times when listed.
songkick.com/get_artist_tour_datesLists Bandcamp releases in a genre, sorted by best-selling or new arrivals and filtered by format. Physical-format prices come from the matching package when available.
bandcamp.com/list_releases_by_genreReturns an artist's Billboard Hot 100 song history or Billboard 200 album history: chart totals (entries, No. 1 hits, top 10 hits) and each title's debut, peak and weeks on chart, most recent debut first.
billboard.com/get_artist_chart_historyLists an artist's albums, singles, EPs and compilations on Discogs, grouped by master release and ordered oldest first.
discogs.com/get_artist_discographyGets an Apple Music artist profile by name or artist link. The profile includes the latest release, top songs and albums.
music.apple.com/get_artist