search

Pack: itunes-search · Endpoint: https://gateway.pipeworx.io/itunes-search/mcp

Search the Apple iTunes catalog by keyword across music, movies, podcasts, TV shows, apps, ebooks, and more; filterable by media type, entity, country, and explicit flag; returns up to 200 matching items with metadata.

Parameters

NameTypeRequiredDescription
termstringyesSearch query
mediastringnomusic | movie | podcast | musicVideo | audiobook | shortFilm | tvShow | software | ebook | all (default all)
entitystringnoRefines media — e.g. “song”, “album”, “movieArtist”, “tvSeason”
attributestringnoRestrict matching field — e.g. “artistTerm”, “albumTerm”, “movieTerm”
countrystringnoISO 3166-1 alpha-2 (default us)
limitnumberno1-200 (default 50)
langstringnoen_us | ja_jp (default en_us)
explicitstringnoYes (default) | No — exclude explicit content

Example call

Arguments

{
  "term": "Taylor Swift"
}

curl

curl -X POST https://gateway.pipeworx.io/itunes-search/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"term":"Taylor Swift"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('search', {
  "term": "Taylor Swift"
});

More examples

{
  "term": "Midnights",
  "media": "music",
  "entity": "album",
  "limit": 10
}

Response shape

Always returns: resultCount, results

FieldTypeDescription
resultCountnumberNumber of results returned
resultsarrayArray of search result items
Full JSON Schema
{
  "type": "object",
  "properties": {
    "resultCount": {
      "type": "number",
      "description": "Number of results returned"
    },
    "results": {
      "type": "array",
      "description": "Array of search result items",
      "items": {
        "type": "object",
        "properties": {
          "wrapperType": {
            "type": "string",
            "description": "Type wrapper (track, collection, artist, etc.)"
          },
          "kind": {
            "type": "string",
            "description": "Kind of result (song, album, artist, etc.)"
          },
          "artistId": {
            "type": "number",
            "description": "Artist ID"
          },
          "collectionId": {
            "type": "number",
            "description": "Collection ID"
          },
          "trackId": {
            "type": "number",
            "description": "Track ID"
          },
          "artistName": {
            "type": "string",
            "description": "Name of artist"
          },
          "collectionName": {
            "type": "string",
            "description": "Name of collection"
          },
          "trackName": {
            "type": "string",
            "description": "Name of track"
          },
          "collectionCensoredName": {
            "type": "string",
            "description": "Censored collection name"
          },
          "trackCensoredName": {
            "type": "string",
            "description": "Censored track name"
          },
          "artistViewUrl": {
            "type": "string",
            "description": "URL to view artist on iTunes"
          },
          "collectionViewUrl": {
            "type": "string",
            "description": "URL to view collection on iTunes"
          },
          "trackViewUrl": {
            "type": "string",
            "description": "URL to view track on iTunes"
          },
          "previewUrl": {
            "type": "string",
            "description": "URL to preview audio/video"
          },
          "artworkUrl30": {
            "type": "string",
            "description": "30x30 artwork URL"
          },
          "artworkUrl60": {
            "type": "string",
            "description": "60x60 artwork URL"
          },
          "artworkUrl100": {
            "type": "string",
            "description": "100x100 artwork URL"
          },
          "collectionPrice": {
            "type": "number",
            "description": "Price of collection"
          },
          "trackPrice": {
            "type": "number",
            "description": "Price of track"
          },
          "releaseDate": {
            "type": "string",
            "description": "Release date in ISO 8601 format"
          },
          "collectionExplicitness": {
            "type": "string",
            "description": "Explicitness rating of collection"
          },
          "trackExplicitness": {
            "type": "string",
            "description": "Explicitness rating of track"
          },
          "discCount": {
            "type": "number",
            "description": "Number of discs"
          },
          "discNumber": {
            "type": "number",
            "description": "Disc number"
          },
          "trackCount": {
            "type": "number",
            "description": "Number of tracks"
          },
          "trackNumber": {
            "type": "number",
            "description": "Track number"
          },
          "trackTimeMillis": {
            "type": "number",
            "description": "Track duration in milliseconds"
          },
          "country": {
            "type": "string",
            "description": "Country code"
          },
          "currency": {
            "type": "string",
            "description": "Currency code"
          },
          "primaryGenreName": {
            "type": "string",
            "description": "Primary genre"
          },
          "isStreamable": {
            "type": "boolean",
            "description": "Whether item is streamable"
          }
        }
      }
    }
  },
  "required": [
    "resultCount",
    "results"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "itunes-search": {
      "url": "https://gateway.pipeworx.io/itunes-search/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build July 6, 2026