Apple Music Scraper
Pricing
Pay per event
Apple Music Scraper
Extract public Apple Music and iTunes catalog metadata from artist, album, song, video URLs, or keyword searches. No Apple account required.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public Apple Music and iTunes catalog metadata from artist, album, song, music video URLs, or keyword searches. This actor is built for metadata enrichment and monitoring, not audio downloading.
What does Apple Music Scraper do?
Apple Music Scraper turns public Apple Music and iTunes catalog pages into structured dataset rows.
It can resolve Apple Music URLs that contain public catalog IDs and it can search the public Apple/iTunes catalog by keyword.
Use it when you need repeatable metadata such as artist names, album titles, track titles, release dates, artwork URLs, genres, previews, prices, and canonical Apple Music links.
The actor runs HTTP-first and does not require an Apple account, Apple developer token, private cookies, or a paid music subscription.
Who is it for?
Music marketers use it to monitor artist catalogs, new releases, and localized metadata.
Labels and distributors use it to enrich internal release spreadsheets with Apple IDs and canonical URLs.
Playlist researchers use it to collect track metadata for research and lead lists.
Catalog data teams use it to normalize Apple Music and iTunes metadata for matching, QA, and reporting.
Developers use it as a simple API wrapper around public Apple/iTunes catalog metadata.
Why use this actor?
- ๐ต Works with Apple Music URLs and keyword searches
- ๐ Supports storefront country codes such as
US,GB,DE,FR, orJP - ๐งพ Outputs clean metadata rows instead of raw HTML
- โก Uses lightweight HTTP requests for low runtime cost
- ๐ Returns canonical Apple Music/iTunes URLs for downstream workflows
- ๐ผ๏ธ Includes artwork links and preview URLs when Apple exposes them
What data can you extract?
| Field | Description |
|---|---|
entityType | Artist, album, song, music video, or catalog item |
appleId | Apple/iTunes catalog identifier |
artistName | Artist name |
collectionName | Album or collection name |
trackName | Track name |
canonicalUrl | Apple Music or iTunes URL |
primaryGenreName | Main genre |
releaseDate | Release timestamp |
durationSeconds | Track duration in seconds |
artworkUrl600 | High-resolution artwork URL |
previewUrl | Public preview URL when available |
currency | Localized currency |
trackPrice | Localized track price when available |
collectionPrice | Localized album price when available |
scrapedAt | Timestamp for the extraction |
How much does it cost to scrape Apple Music?
This actor uses pay-per-event pricing.
You pay a small start fee per run and a per-item fee for each catalog row saved to the dataset.
| Plan tier | Per catalog item | 1,000 items |
|---|---|---|
| Free | $0.000032263 | $0.0323 |
| Starter / Bronze | $0.000028055 | $0.0281 |
| Silver | $0.000021883 | $0.0219 |
| Gold | $0.000016833 | $0.0168 |
| Platinum | $0.000011222 | $0.0112 |
| Diamond | $0.000010000 | $0.0100 |
There is also a $0.005 run-start event.
The default test input is intentionally small so first runs stay cheap.
For larger monitoring jobs, set maxItems to the number of records you actually need.
Input options
You can provide Apple Music URLs, search terms, or both.
startUrls accepts public artist, album, song, and music video URLs from music.apple.com or iTunes URLs that contain numeric Apple IDs.
searchTerms accepts keywords such as artist names, song names, album titles, labels, or genres.
country controls localized storefront data.
entity controls what keyword search returns.
includeAlbumTracks expands album URLs into track rows.
includeArtistAlbums expands artist URLs into album rows.
Example input: search intent
{"searchTerms": ["Taylor Swift", "indie pop"],"country": "US","entity": "song","maxItems": 100}
Example input: source-specific URL extraction
{"startUrls": [{ "url": "https://music.apple.com/us/artist/taylor-swift/159260351" },{ "url": "https://music.apple.com/us/album/1989-taylors-version-deluxe/1713845538" }],"country": "US","includeAlbumTracks": true,"includeArtistAlbums": true,"maxItems": 75}
Example input: catalog monitoring workflow
{"searchTerms": ["new music friday", "lofi beats", "country hits"],"country": "GB","entity": "allTrack","maxItems": 250}
Example output
{"entityType": "song","appleId": "1440935467","artistName": "Taylor Swift","collectionName": "1989 (Deluxe Edition)","trackName": "Blank Space","title": "Blank Space","canonicalUrl": "https://music.apple.com/us/album/blank-space/1440935467?i=1440936016","country": "USA","primaryGenreName": "Pop","releaseDate": "2014-10-27T07:00:00Z","durationSeconds": 232,"artworkUrl600": "https://is1-ssl.mzstatic.com/image/thumb/.../600x600bb.jpg","previewUrl": "https://audio-ssl.itunes.apple.com/...","sourceType": "search","sourceValue": "Taylor Swift","scrapedAt": "2026-07-06T00:00:00.000Z"}
How to run the scraper
- Open the actor on Apify.
- Add Apple Music URLs or search terms.
- Choose a storefront country.
- Set a safe
maxItemslimit. - Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or through the API.
Tips for better results
Use exact artist names for clean song or album searches.
Use album URLs when you need tracklists.
Use artist URLs when you need discography-style album rows.
Use localized storefront countries when pricing or availability matters.
Keep maxItems modest during tests and increase it after checking output quality.
Integrations
Send dataset rows to Google Sheets for release tracking.
Pipe JSON results into a music catalog database for enrichment.
Use canonical URLs in CRM or campaign tools for label and artist research.
Schedule recurring Apify tasks to monitor catalog changes for a list of artists.
Combine this actor with other automation-lab media scrapers for cross-platform music intelligence.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/apple-music-scraper').call({searchTerms: ['Taylor Swift'],country: 'US',entity: 'song',maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/apple-music-scraper').call(run_input={'searchTerms': ['Taylor Swift'],'country': 'US','entity': 'song','maxItems': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~apple-music-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchTerms":["Taylor Swift"],"country":"US","entity":"song","maxItems":50}'
MCP integration
Use the Apify MCP server to run this actor from Claude Desktop, Claude Code, or other MCP-compatible clients.
MCP tool URL:
https://mcp.apify.com/?tools=automation-lab/apple-music-scraper
Claude Code setup:
$claude mcp add apify-apple-music "https://mcp.apify.com/?tools=automation-lab/apple-music-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-apple-music": {"url": "https://mcp.apify.com/?tools=automation-lab/apple-music-scraper"}}}
Example prompts:
- "Run the Apple Music Scraper for Taylor Swift songs in the US storefront and summarize the top metadata fields."
- "Extract album tracks from this Apple Music album URL and return a CSV-ready table."
- "Monitor these artist URLs and show new album metadata since last week."
What this actor does not do
It does not download songs.
It does not bypass Apple DRM.
It does not scrape private account libraries.
It does not require or store Apple credentials.
It does not guarantee that every storefront has the same catalog availability.
Legality and ethical use
This actor extracts publicly available catalog metadata.
Use the results responsibly and respect Apple Music, iTunes, and Apify terms.
Do not use this actor to infringe copyrights or redistribute audio.
For large recurring jobs, use reasonable limits and schedules.
Troubleshooting
If a URL returns no rows, check that the URL contains a numeric Apple catalog ID.
If localized prices look different from your browser, verify the country storefront code.
If keyword search returns too many unrelated rows, switch entity from allTrack to song, album, or musicArtist.
If you need more rows, increase maxItems and add more specific search terms.
FAQ
Can I scrape Apple Music without login?
Yes. This actor uses public Apple Music/iTunes metadata endpoints and public catalog IDs.
Can I download tracks?
No. The actor is metadata-only. It may return Apple-provided preview URLs when publicly exposed.
Can I search multiple countries?
Run separate tasks with different country values when you need country-by-country comparisons.
Can I scrape playlists?
Playlist pages may expose limited public page metadata, but this MVP focuses on artists, albums, songs, music videos, and keyword search results.
Related scrapers
Use other automation-lab actors when you need adjacent music, media, or web metadata workflows:
- https://apify.com/automation-lab/genius-scraper
- https://apify.com/automation-lab/spotify-scraper
- https://apify.com/automation-lab/youtube-scraper
Changelog
Initial private build: Apple Music URL lookup, keyword search, album track expansion, artist album expansion, and structured catalog metadata output.