# Shazam API

> Shazam returns ranked song charts and breakout songs, available as a workflow and API.

Shazam returns ranked top songs for the world, a country, or a city; choose a location and optionally a genre with List top charts. Shazam returns ranked Discovery songs rising quickly in searches for a country; provide a country with List breakout songs.

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

## Methods

### List breakout songs

Operation `list_breakout_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.

Get the ranked Discovery songs rising quickly in Shazam searches for a country. Some countries have no Discovery chart; public charts currently show up to 10 songs.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | yes | `"CA"` | Country name or two-letter code, such as United States or US. |
| `max_results` | integer | no | `3` | Most songs to return, for example 50. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "country"
  ],
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "description": "Country name or two-letter code, such as United States or US.",
      "examples": [
        "CA",
        "United States"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 100,
      "minimum": 1,
      "description": "Most songs to return, for example 50.",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "CA",
      "max_results": 3
    },
    {
      "country": "United States"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `songs` | array |  |  |
| `songs[].rank` | integer | `1` |  |
| `songs[].artist` | string or null | `"Wxoda"` |  |
| `songs[].track_id` | string | `"6812803286"` |  |
| `songs[].song_title` | string | `"Vibin"` |  |
| `songs[].shazam_link` | string | `"https://www.shazam.com/song/6812803286/vibin"` |  |
| `songs[].cover_image_link` | string or null | `"https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/e9/0f/4e/e90f4e4d-0fb0-57a9-461d-533e85417bb4/885288590388.jpg/75x` |  |
| `country` | string | `"Canada"` |  |
| `chart_name` | string | `"Discovery"` |  |

**Example input**

```json
{
  "country": "CA",
  "max_results": 3
}
```

**Example output**

```json
{
  "songs": [
    {
      "rank": 1,
      "artist": "Wxoda",
      "track_id": "6812803286",
      "song_title": "Vibin",
      "shazam_link": "https://www.shazam.com/song/6812803286/vibin",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/e9/0f/4e/e90f4e4d-0fb0-57a9-461d-533e85417bb4/885288590388.jpg/75x75bb.webp"
    },
    {
      "rank": 2,
      "artist": "Falling In Reverse, Corey Taylor & Serj Tankian",
      "track_id": "6797421554",
      "song_title": "Joseph",
      "shazam_link": "https://www.shazam.com/song/6797421554/joseph",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/47/d0/2f/47d02f1d-6066-a073-2580-6d9765f5222b/0045778810185.png/75x75bb.webp"
    },
    {
      "rank": 3,
      "artist": "KAROL G, Judeline & rusowsky",
      "track_id": "6796864754",
      "song_title": "BbY WOW",
      "shazam_link": "https://www.shazam.com/song/6796864754/bby-wow",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/2b/66/b2/2b66b26c-ab23-faa1-c4ee-06fa2cce8f76/26UM1IM00558.rgb.jpg/75x75bb.webp"
    }
  ],
  "country": "Canada",
  "chart_name": "Discovery"
}
```

### List top charts

Operation `list_top_charts`, 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 Shazam’s current ranked top songs for the world, a country, or a city, optionally by genre. City charts have up to 50 songs; genres are available only in some places.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `genre` | string | no | `"Pop"` | An available chart genre, such as Pop or Hip-Hop/Rap. Leave blank for the overall chart. |
| `location` | string | no | `"Chicago"` | World, a country, or a city. For example: Chicago. |
| `max_results` | integer | no | `3` | Number of ranked songs to return, up to 200. For example: 25. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "genre": {
      "type": "string",
      "default": "",
      "description": "An available chart genre, such as Pop or Hip-Hop/Rap. Leave blank for the overall chart.",
      "examples": [
        "Pop",
        "Hip-Hop/Rap"
      ]
    },
    "location": {
      "type": "string",
      "default": "world",
      "description": "World, a country, or a city. For example: Chicago.",
      "examples": [
        "Chicago",
        "world",
        "Brazil"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Number of ranked songs to return, up to 200. For example: 25.",
      "x-fous-developer": true,
      "examples": [
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "location": "Chicago",
      "max_results": 3
    },
    {
      "location": "world"
    },
    {
      "genre": "Pop",
      "location": "Brazil",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `songs` | array |  |  |
| `songs[].rank` | integer | `1` |  |
| `songs[].artist` | string or null | `"Quavo & Takeoff"` |  |
| `songs[].song_title` | string | `"HOTEL LOBBY (Unc & Phew) [A COLORS SHOW]"` |  |
| `songs[].shazam_link` | string | `"https://www.shazam.com/song/1630436384/hotel-lobby-unc-and-phew-a-colors-show"` |  |
| `songs[].shazam_track_id` | string or null | `"1630436384"` |  |
| `songs[].cover_image_link` | string or null | `"https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/18/96/60/189660c7-3ad1-b892-9559-468e4ca651d1/22UMGIM67509.rgb.jpg` |  |
| `location` | string | `"Chicago, United States"` |  |
| `chart_name` | string | `"Top 50 Chicago, United States"` |  |

**Example input**

```json
{
  "location": "Chicago",
  "max_results": 3
}
```

**Example output**

```json
{
  "songs": [
    {
      "rank": 1,
      "artist": "Quavo & Takeoff",
      "song_title": "HOTEL LOBBY (Unc & Phew) [A COLORS SHOW]",
      "shazam_link": "https://www.shazam.com/song/1630436384/hotel-lobby-unc-and-phew-a-colors-show",
      "shazam_track_id": "1630436384",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music122/v4/18/96/60/189660c7-3ad1-b892-9559-468e4ca651d1/22UMGIM67509.rgb.jpg/300x300bb.webp"
    },
    {
      "rank": 2,
      "artist": "KAROL G, Judeline & rusowsky",
      "song_title": "BbY WOW",
      "shazam_link": "https://www.shazam.com/song/6796864754/bby-wow",
      "shazam_track_id": "6796864754",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/2b/66/b2/2b66b26c-ab23-faa1-c4ee-06fa2cce8f76/26UM1IM00558.rgb.jpg/300x300bb.webp"
    },
    {
      "rank": 3,
      "artist": "Bronski Beat",
      "song_title": "Smalltown Boy",
      "shazam_link": "https://www.shazam.com/song/1320069110/smalltown-boy",
      "shazam_track_id": "1320069110",
      "cover_image_link": "https://is1-ssl.mzstatic.com/image/thumb/Music125/v4/76/df/ee/76dfee41-aca3-76c6-e695-c46ec360e090/639842819527.jpg/300x300bb.webp"
    }
  ],
  "location": "Chicago, United States",
  "chart_name": "Top 50 Chicago, United States"
}
```

## 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": "@shazam",
  "visibility": "public",
  "operation": "list_breakout_songs",
  "version": 1,
  "input": {
    "country": "CA",
    "max_results": 3
  },
  "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\": \"@shazam\",\n  \"visibility\": \"public\",\n  \"operation\": \"list_breakout_songs\",\n  \"version\": 1,\n  \"input\": {\n    \"country\": \"CA\",\n    \"max_results\": 3\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": "@shazam",
  "visibility": "public",
  "operation": "list_breakout_songs",
  "version": 1,
  "input": {
    "country": "CA",
    "max_results": 3
  },
  "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/shazam`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `list_breakout_songs`: List breakout songs. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_top_charts`: List top charts. 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-shazam https://api.fous.com/mcp/tools/shazam --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

- Track ranked songs across countries and cities
- Compare chart rankings by genre
- Spot songs rising quickly in Shazam searches
- Monitor breakout songs in a country

## 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 Shazam 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 Shazam account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from shazam.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 29, 2026.

### What songs top the chart for a location?

List top charts returns ranked songs for a world, country, or city location, optionally filtered by genre.

### Which songs are rising quickly in a country?

List breakout songs returns ranked Discovery songs rising quickly in Shazam searches for the specified country.

## Related

- [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.
- [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.
- [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.
- [YouTube API](https://fous.com/tools/youtube.md): YouTube returns public video, caption, comment and channel details, company channels, and the latest weekly Top Songs chart; inferred dates and some counts may be approximate.
- [Apple Podcasts API](https://fous.com/tools/apple-podcasts.md): Apple Podcasts returns chart listings, relevant show search results, show details with newest available episodes, and country-specific ratings and reviews; results are capped, and older or subscription episodes may be unavailable.
- [Apple App Store API](https://fous.com/tools/apple-app-store.md): Apple App Store returns public app listings, keyword search, ratings, prices, listed purchases, country-specific reviews and visible replies, and up to 200 ranked chart apps.
- [Billboard API](https://fous.com/tools/billboard.md): Billboard provides chart rankings and histories for published chart weeks, including artists’ Hot 100 song and Billboard 200 album totals and title-by-title performance.
- [Microsoft Store API](https://fous.com/tools/microsoft-store.md): Microsoft Store returns app and game listings, country-specific searches, and ranked charts; update notes, purchase prices, and exact rating counts may be unavailable.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
