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
| Name | Type | Required | Description |
|---|---|---|---|
term | string | yes | Search query |
media | string | no | music | movie | podcast | musicVideo | audiobook | shortFilm | tvShow | software | ebook | all (default all) |
entity | string | no | Refines media — e.g. “song”, “album”, “movieArtist”, “tvSeason” |
attribute | string | no | Restrict matching field — e.g. “artistTerm”, “albumTerm”, “movieTerm” |
country | string | no | ISO 3166-1 alpha-2 (default us) |
limit | number | no | 1-200 (default 50) |
lang | string | no | en_us | ja_jp (default en_us) |
explicit | string | no | Yes (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
| Field | Type | Description |
|---|---|---|
resultCount | number | Number of results returned |
results | array | Array 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.