Apple Music Scraper avatar

Apple Music Scraper

Pricing

from $1.19 / 1,000 results

Go to Apify Store
Apple Music Scraper

Apple Music Scraper

Scrape Apple Music albums, songs, artists and music videos with localized prices and availability across 50+ countries. Full album tracklists, charts, artwork, previews and metadata. No API key.

Pricing

from $1.19 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 minutes ago

Last modified

Categories

Share

Banner

Scrape Apple Music albums, songs, artists and music videos with localized pricing and availability across 50+ countries in a single run. Get full album tracklists, charts, artwork, audio previews, genres and rich metadata — all from one search. No API key required, no login, no setup.


Why this scraper?

🌍 52 countries, native currencies, one run

Price and check availability for any album, song or video across the US, all of Europe, Latin America, Asia-Pacific and the Middle East at once. Every result carries each country's exact local price and currency.

💿 Full album tracklists

Turn on tracklists and every album returns its complete track list — each track with title, number, duration, explicitness, a 30-second preview URL and its own Apple Music link. Most cheap scrapers stop at the album cover.

📈 Browse the charts

Pull Apple Music's current most-played songs or albums for any country straight from Apple's official charts feed, then enrich every entry with full metadata and multi-country pricing.

🎧 Albums, songs, artists and music videos

Search any combination of catalogue types in one run. Expand an artist into their full discography. Look up exact items by Apple ID or by pasting an Apple Music URL.

🖼️ Media included

High-resolution artwork (up to 1200px), 30-second audio previews for songs, and video previews for music videos — every record.

🎯 Powerful filtering

Filter by type, genre, explicit/clean, price band, release window and streamable status.

💸 Pay only for results

Flat per-item pricing. You only pay for items actually returned. Filtered-out items and failed retries are never charged.


Input parameters

FieldTypeDefaultDescription
searchQuerystring""Keyword(s) to search Apple Music. Leave empty to browse charts or scrape IDs/URLs.
entityTypesarray["album","song"]What to return when searching: album, song, artist, musicVideo.
browseChartsstring""Browse the charts instead of searching: songs or albums.
countrystringUSSingle storefront to price against. Also used for search/charts discovery. Ignored if countries or allCountries is set.
countriesarray[]Multiple storefronts to price each item against in one run.
allCountriesbooleanfalsePrice across all 52 supported storefronts. Overrides the country fields.
maxResultsinteger10Maximum number of items to return.
searchLanguagestring""Apple language code for localized titles/genres (e.g. de_de, ja_jp). Prices stay localized per country.
appleIdsarray[]Exact Apple catalogue IDs (album/song/artist/video) to scrape directly. Bypasses search.
startUrlsarray[]Apple Music / iTunes URLs to scrape directly.
includeTracklistbooleanfalseFor albums, fetch the full tracklist.
expandArtistAlbumsbooleanfalseWhen an artist is found, also scrape their albums.
filterTypesarray[]Keep only these types in the output.
explicitFilterstringallall, clean, or explicit.
genresarray[]Filter by genre (substring match — e.g. pop, hip-hop).
minPriceintegerOnly items whose lowest price across countries is at least this amount.
maxPriceintegerOnly items whose lowest price across countries is at most this amount.
releasedAfterstring""Only items released on or after this date (YYYY-MM-DD).
releasedBeforestring""Only items released on or before this date (YYYY-MM-DD).
streamableOnlybooleanfalseOnly items currently streamable on Apple Music.
includeMediabooleantrueInclude artwork and preview URLs.
useProxybooleanfalseRoute requests through Apify Proxy. Off by default.

Output schema

Every item returns the following fields.

FieldTypeDescription
typestringalbum, song, artist or musicVideo.
idstringApple catalogue ID (the item's own ID).
artistIdstringApple artist ID.
collectionIdstringApple album/collection ID.
trackIdstringApple track ID (songs and videos).
amgArtistIdstringLegacy AllMusic artist ID, when present.
namestringPrimary display name (track, album or artist).
artistNamestringArtist name.
collectionNamestringAlbum name.
trackNamestringTrack name (songs and videos).
censoredNamestringCensored display name, when listed.
primaryGenrestringPrimary genre.
primaryGenreIdstringApple genre ID.
artistTypestringArtist type, for artist records.
collectionTypestringCollection type (e.g. Album).
trackNumbernumberTrack position within the album.
trackCountnumberNumber of tracks in the album.
discNumbernumberDisc number.
discCountnumberNumber of discs.
durationMsnumberTrack duration in milliseconds.
durationSecnumberTrack duration in seconds.
explicitbooleanWhether the item is explicit.
trackExplicitbooleanTrack-level explicit flag.
collectionExplicitbooleanAlbum-level explicit flag.
isStreamablebooleanWhether the item is streamable.
maturitystringclean, explicit or unknown.
copyrightstringCopyright / rights line (often names the label).
releaseDatestringRelease date (ISO 8601).
artworkUrlstringArtwork URL.
artworkUrlHiResstringHigh-resolution artwork URL (up to 1200px).
previewUrlstring30-second audio (or video) preview URL.
appleMusicUrlstringApple Music link to the item.
artistUrlstringApple Music link to the artist.
collectionUrlstringApple Music link to the album.
chartRanknumberPosition in the charts, when browsing charts.
pricesarrayPer-country price/availability blocks (see below).
priceByCountryobjectThe same prices keyed by country code.
countriesPricednumberHow many countries returned a price/availability record.
lowestPricenumberLowest price across all priced countries in this run.
tracksarrayFull album tracklist (only when includeTracklist is on).
scrapedAtstringTimestamp of the scrape (ISO 8601).

Each entry in prices contains:

FieldTypeDescription
countrystringISO country code.
countryNamestringCountry name.
currencystringLocal currency code.
trackPricenumberTrack buy price, when sold individually.
collectionPricenumberAlbum buy price, when sold.
finalPricenumberEffective buy price (track price if present, else album price).
isAvailablebooleanThe item exists in this storefront.
isStreamablebooleanStreamable in this country.
appleMusicUrlstringApple Music link for this storefront.

Each entry in tracks (when enabled) contains: trackId, trackNumber, discNumber, trackName, durationMs, durationSec, explicit, isStreamable, previewUrl, trackPrice, appleMusicUrl.

Example record

{
"type": "album",
"id": "1468058165",
"artistId": "159260351",
"collectionId": "1468058165",
"name": "Lover",
"artistName": "Taylor Swift",
"collectionName": "Lover",
"primaryGenre": "Pop",
"trackCount": 18,
"explicit": false,
"copyright": "℗ 2019 Taylor Swift",
"releaseDate": "2019-08-23T07:00:00Z",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/.../100x100bb.jpg",
"artworkUrlHiRes": "https://is1-ssl.mzstatic.com/image/thumb/.../1200x1200bb.jpg",
"appleMusicUrl": "https://music.apple.com/us/album/lover/1468058165",
"prices": [
{ "country": "US", "countryName": "United States", "currency": "USD", "collectionPrice": 11.99, "finalPrice": 11.99, "isAvailable": true },
{ "country": "GB", "countryName": "United Kingdom", "currency": "GBP", "collectionPrice": 9.99, "finalPrice": 9.99, "isAvailable": true },
{ "country": "JP", "countryName": "Japan", "currency": "JPY", "collectionPrice": 2037, "finalPrice": 2037, "isAvailable": true }
],
"countriesPriced": 3,
"lowestPrice": 9.99,
"tracks": [
{ "trackNumber": 1, "trackName": "I Forgot That You Existed", "durationSec": 171, "explicit": false, "previewUrl": "https://audio-ssl.itunes.apple.com/...m4a" },
{ "trackNumber": 2, "trackName": "Cruel Summer", "durationSec": 178, "explicit": false, "previewUrl": "https://audio-ssl.itunes.apple.com/...m4a" }
],
"scrapedAt": "2026-06-24T04:33:00.000Z"
}

Examples

1. Search a song and compare prices across countries

{
"searchQuery": "blinding lights",
"entityTypes": ["song"],
"countries": ["US", "GB", "DE", "JP", "BR"],
"maxResults": 5
}

2. Scrape an album with its full tracklist

{
"searchQuery": "tears of the kingdom",
"entityTypes": ["album"],
"includeTracklist": true,
"country": "US",
"maxResults": 3
}

3. Browse the top albums chart in the UK

{
"browseCharts": "albums",
"country": "GB",
"maxResults": 25
}

4. Daily price feed for specific IDs across every storefront

{
"appleIds": ["1468058165", "1488408555"],
"allCountries": true
}

💰 Pricing

$1.49 per 1,000 items — you only pay for items actually returned. Failed retries and filtered-out items are never charged.

ItemsCost
100~$0.15
1,000~$1.49
10,000~$14.90
100,000~$149.00

Subscribers pay less at every tier, down to $0.89 per 1,000 on the Diamond plan.

Flat-rate alternatives typically charge $5 per 1,000 results.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeApprox. time
10 items × 1 country~10 s
50 items × 5 countries~60 s
100 items × all countries~5 min

Multi-country runs add one fast pricing pass per country. Memory stays under 100 MB.


Known limitations

  • Buy prices reflect what Apple exposes per storefront; many catalogue items are streaming-only and return availability without a buy price.
  • Tracklists are fetched for albums only, in the primary country.
  • Region-exclusive titles only appear in the storefronts that carry them.

Technical details

  • Source: Apple's public iTunes Search and Lookup APIs and the official Apple Music charts feed.
  • Memory: 512 MB.
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request.
  • Output: Every run writes an OUTPUT summary and a HEALTH status to the key-value store.

Run it on a schedule

This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.

  • Schedule runs — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
  • Connect it to your stack — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
  • Pull results via API — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.

Set it once and it runs on its own.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl