# Genius API

> Genius provides song credits, relationships, artist song lists, and page details as a workflow and API.

Genius returns song credits, relationships, and page details from a song title or Genius link, with an optional artist name. It lists an artist’s songs by popularity or release date from an artist name or Genius artist link.

- Page: https://fous.com/tools/genius
- Handle: `@genius`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://genius.com
- Last verified: Sep 28, 2026

## Methods

### Get song

Operation `get_song`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a song’s credits, story, song relationships, and page details from its title or Genius link. Relationship lists include songs shown by Genius.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `song` | string | yes | `"Bohemian Rhapsody"` | Song title or Genius song link, for example Bohemian Rhapsody. |
| `artist` | string | no | `"Queen"` | Artist to distinguish songs with the same title, for example Queen. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "song"
  ],
  "properties": {
    "song": {
      "type": "string",
      "description": "Song title or Genius song link, for example Bohemian Rhapsody.",
      "examples": [
        "Bohemian Rhapsody",
        "https://genius.com/Queen-bohemian-rhapsody-lyrics",
        "Blank Space"
      ]
    },
    "artist": {
      "type": "string",
      "default": "",
      "description": "Artist to distinguish songs with the same title, for example Queen.",
      "examples": [
        "Queen",
        "Taylor Swift"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "song": "Bohemian Rhapsody",
      "artist": "Queen"
    },
    {
      "song": "https://genius.com/Queen-bohemian-rhapsody-lyrics"
    },
    {
      "song": "Blank Space",
      "artist": "Taylor Swift"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `about` | string or null |  |  |
| `album` | string or null | `"A Night at the Opera"` |  |
| `title` | string or null | `"Bohemian Rhapsody"` |  |
| `covers` | array |  |  |
| `covers[].title` | string or null | `"Bohemian Rhapsody"` |  |
| `covers[].artist` | string or null | `"TheRealSullyG"` |  |
| `covers[].genius_song_link` | string or null | `"https://genius.com/Therealsullyg-bohemian-rhapsody-lyrics"` |  |
| `samples` | array |  |  |
| `samples[].title` | string or null |  |  |
| `samples[].artist` | string or null |  |  |
| `samples[].genius_song_link` | string or null |  |  |
| `writers` | array |  |  |
| `producers` | array |  |  |
| `page_views` | integer or null | `11425622` |  |
| `sampled_in` | array |  |  |
| `sampled_in[].title` | string or null | `"γɈiƆ qɒЯ nɒimɒʜɒઘ"` |  |
| `sampled_in[].artist` | string or null | `"Joe Hawley"` |  |
| `sampled_in[].genius_song_link` | string or null | `"https://genius.com/Joe-hawley-i-q-nim-lyrics"` |  |
| `release_date` | string or null | `"1975-10-31"` |  |
| `other_credits` | array |  |  |
| `other_credits[].role` | string or null | `"Phonographic Copyright ℗"` |  |
| `other_credits[].names` | array |  |  |
| `genius_song_id` | integer or null | `1063` |  |
| `interpolations` | array |  |  |
| `interpolations[].title` | string or null | `"Don’t Stop Me Now (Melodyne)"` |  |
| `interpolations[].artist` | string or null | `"There I Ruined It"` |  |
| `interpolations[].genius_song_link` | string or null | `"https://genius.com/There-i-ruined-it-dont-stop-me-now-melodyne-lyrics"` |  |
| `primary_artist` | string or null | `"Queen"` |  |
| `featured_artists` | array |  |  |
| `genius_song_link` | string or null | `"https://genius.com/Queen-bohemian-rhapsody-lyrics"` |  |
| `song_art_image_link` | string or null | `"https://images.genius.com/718de9d1fbcaae9f3c9b1bf483bfa8f1.1000x1000x1.png"` |  |

**Example input**

```json
{
  "song": "Bohemian Rhapsody",
  "artist": "Queen"
}
```

**Example output**

```json
{
  "about": "Widely considered to be one of the greatest songs of all time, “Bohemian Rhapsody” was the first single released from Queen’s fourth studio album, A Night at the Opera. It became an international succ…",
  "album": "A Night at the Opera",
  "title": "Bohemian Rhapsody",
  "covers": [
    {
      "title": "Bohemian Rhapsody",
      "artist": "TheRealSullyG",
      "genius_song_link": "https://genius.com/Therealsullyg-bohemian-rhapsody-lyrics"
    }
  ],
  "samples": [],
  "writers": [
    "Freddie Mercury"
  ],
  "producers": [
    "Roy Thomas Baker"
  ],
  "page_views": 11425622,
  "sampled_in": [
    {
      "title": "γɈiƆ qɒЯ nɒimɒʜɒઘ",
      "artist": "Joe Hawley",
      "genius_song_link": "https://genius.com/Joe-hawley-i-q-nim-lyrics"
    }
  ],
  "release_date": "1975-10-31",
  "other_credits": [
    {
      "role": "Phonographic Copyright ℗",
      "names": [
        "Queen Productions Ltd."
      ]
    }
  ],
  "genius_song_id": 1063,
  "interpolations": [
    {
      "title": "Don’t Stop Me Now (Melodyne)",
      "artist": "There I Ruined It",
      "genius_song_link": "https://genius.com/There-i-ruined-it-dont-stop-me-now-melodyne-lyrics"
    }
  ],
  "primary_artist": "Queen",
  "featured_artists": [],
  "genius_song_link": "https://genius.com/Queen-bohemian-rhapsody-lyrics",
  "song_art_image_link": "https://images.genius.com/718de9d1fbcaae9f3c9b1bf483bfa8f1.1000x1000x1.png"
}
```

### List artist songs

Operation `list_artist_songs`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List an artist’s songs on Genius by popularity or release date, with featured artists, dates, views and song art. Dates or views may be unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"release_date"` | Order songs by popularity or newest release date, for example popularity. |
| `artist` | string | yes | `"Taylor Swift"` | Artist name or Genius artist link, for example Taylor Swift or https://genius.com/artists/Taylor-swift. |
| `max_results` | integer | no | `55` | Maximum number of songs, for example 20. |

**Input schema**

```json
{
  "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.",
      "examples": [
        "release_date"
      ]
    },
    "artist": {
      "type": "string",
      "description": "Artist name or Genius artist link, for example Taylor Swift or https://genius.com/artists/Taylor-swift.",
      "examples": [
        "Taylor Swift",
        "https://genius.com/artists/Grimes"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of songs, for example 20.",
      "x-fous-developer": true,
      "examples": [
        55
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "artist": "Taylor Swift"
    },
    {
      "sort": "release_date",
      "artist": "https://genius.com/artists/Grimes",
      "max_results": 55
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `songs` | array |  | Songs in the selected order. |
| `songs[].title` | string | `"All Too Well (10 Minute Version) (Taylor’s Version) [From The Vault]"` |  |
| `songs[].song_link` | string | `"https://genius.com/Taylor-swift-all-too-well-10-minute-version-taylors-version-from-the-vault-lyrics"` |  |
| `songs[].page_views` | integer or null | `6667715` |  |
| `songs[].release_date` | string or null | `"2021-11-12"` |  |
| `songs[].genius_song_id` | integer | `7076626` |  |
| `songs[].featured_artists` | array |  |  |
| `songs[].song_art_image_link` | string or null | `"https://images.genius.com/73d1cdd8620992686cda0642e463906b.1000x1000x1.png"` |  |
| `artist_link` | string | `"https://genius.com/artists/Taylor-swift"` | Genius artist page link. |
| `artist_name` | string | `"Taylor Swift"` | Name of the matched artist. |

**Example input**

```json
{
  "artist": "Taylor Swift"
}
```

**Example output**

```json
{
  "songs": [
    {
      "title": "All Too Well (10 Minute Version) (Taylor’s Version) [From The Vault]",
      "song_link": "https://genius.com/Taylor-swift-all-too-well-10-minute-version-taylors-version-from-the-vault-lyrics",
      "page_views": 6667715,
      "release_date": "2021-11-12",
      "genius_song_id": 7076626,
      "featured_artists": [],
      "song_art_image_link": "https://images.genius.com/73d1cdd8620992686cda0642e463906b.1000x1000x1.png"
    },
    {
      "title": "Wood",
      "song_link": "https://genius.com/Taylor-swift-wood-lyrics",
      "page_views": 4679348,
      "release_date": "2025-10-03",
      "genius_song_id": 12274793,
      "featured_artists": [],
      "song_art_image_link": "https://images.genius.com/c4336a93ab25e17fcace592cb9bba51a.1000x1000x1.png"
    },
    {
      "title": "The Fate of Ophelia",
      "song_link": "https://genius.com/Taylor-swift-the-fate-of-ophelia-lyrics",
      "page_views": 4313076,
      "release_date": "2025-10-03",
      "genius_song_id": 12287956,
      "featured_artists": [],
      "song_art_image_link": "https://images.genius.com/20137020caed6518eafd30ae87b0c216.1000x1000x1.png"
    }
  ],
  "artist_link": "https://genius.com/artists/Taylor-swift",
  "artist_name": "Taylor Swift"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@genius",
  "visibility": "public",
  "operation": "get_song",
  "version": 1,
  "input": {
    "song": "Bohemian Rhapsody",
    "artist": "Queen"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@genius\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_song\",\n  \"version\": 1,\n  \"input\": {\n    \"song\": \"Bohemian Rhapsody\",\n    \"artist\": \"Queen\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@genius",
  "visibility": "public",
  "operation": "get_song",
  "version": 1,
  "input": {
    "song": "Bohemian Rhapsody",
    "artist": "Queen"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/genius`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_song`: Get song. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_artist_songs`: List artist songs. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-genius https://api.fous.com/mcp/tools/genius --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Review song writers, producers, and other credits.
- Explore songs that cover, sample, or interpolate a track.
- Compare an artist’s songs by popularity or release date.
- Track song release dates and page views.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Genius tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Genius account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from genius.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 28, 2026.

### Who wrote or produced a song?

Use Get song with a song title or Genius link to find writers, producers, and other credits.

### Which songs sample or cover a track?

Use Get song to find songs listed as samples, covers, sampled-in tracks, and interpolations.

### What are an artist’s most popular songs?

Use List artist songs with the artist name and popularity sorting to see songs and available page views.

## Related

- [Spotify API](https://fous.com/tools/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [MusicBrainz API](https://fous.com/tools/musicbrainz.md): MusicBrainz provides community-maintained recording and release information, matching songs to identifiers and release dates and providing artist details and links when available; some release information may be incomplete.
- [SoundCloud API](https://fous.com/tools/soundcloud.md): SoundCloud lets people listen to and share music, find public tracks with play stats, and browse artists’ tracks, with popular lists limited to 30.
- [Last.fm API](https://fous.com/tools/last-fm.md): Last.fm provides listening statistics, artist profiles, discovery, up to 50 tracks or albums, similar artists without percentages, and upcoming events that may be absent.
- [Apple Music API](https://fous.com/tools/apple-music.md): Apple Music returns albums, tracks, artist profiles, latest releases, top music, matching songs, and current charts; prices, previews, and older albums may be unavailable.
- [Discogs API](https://fous.com/tools/discogs.md): Discogs provides releases, collections and marketplace information, including edition and track details, community counts, available price statistics, and artists’ discographies; sold prices may be unavailable.
- [SongBPM API](https://fous.com/tools/songbpm.md): Song tempo and key information for music listeners, performers and DJs.
- [Deezer API](https://fous.com/tools/deezer.md): Deezer provides albums with ordered tracklists, song recording details, and current worldwide charts or official country-playlist tracks; previews and some tempo data may be unavailable or expire.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
