iTunes & Apple Media Scraper — Songs, Apps & Podcasts avatar

iTunes & Apple Media Scraper — Songs, Apps & Podcasts

Pricing

from $1.50 / 1,000 results

Go to Apify Store
iTunes & Apple Media Scraper — Songs, Apps & Podcasts

iTunes & Apple Media Scraper — Songs, Apps & Podcasts

Scrape Apple iTunes by keyword or ID. Extract track name, artist, price, rating, genre, release date, artwork, and description for music, podcasts, apps, movies, ebooks, and audiobooks. No API key, no login.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

iTunes & Apple Media Scraper — Songs, Podcasts, Apps & More

Scrape Apple's iTunes Search API by keyword or ID — no API key, no login required. Pull tracks, albums, podcasts, apps, movies, ebooks, and audiobooks from any Apple Store country with full metadata in one run.

What does iTunes Search Scraper do?

iTunes Search Scraper hits the official Apple iTunes Search API (itunes.apple.com/search) and Lookup API (itunes.apple.com/lookup) — both are publicly accessible without any authentication. You give it a list of search terms or a list of iTunes IDs, pick the media entity type (music track, podcast, software, movie, etc.), and the actor returns up to 200 results per term in a structured JSON dataset.

Under the hood, the actor performs parallel requests with datacenter proxy rotation for reliability, normalises every raw API field into a clean schema (track name, artist, price, rating, genre, release date, artwork URL, description), and retries transient network errors automatically. Multiple terms run concurrently at up to 5 parallel workers, so a list of 50 artists can yield 10,000 rows in a single run. Lookup mode accepts up to 200 IDs per batch call, with automatic batching for larger ID lists.

No scraping of HTML pages is involved — the iTunes JSON API is the official data source used by Apple's own apps, making it stable and high-throughput.

Who is it for?

  • Music researchers & analysts who need track prices, release dates, and genre data across thousands of artists.
  • App marketers & ASO specialists tracking competitors' app ratings and pricing on the App Store.
  • Podcast producers extracting podcast metadata, episode counts, and average ratings for competitive analysis.
  • Developers building media apps who need bulk iTunes catalog data for search features or recommendation engines.
  • Data journalists & analysts studying Apple's media catalog, pricing trends, or content advisory patterns across countries.

Use cases

  • Track the discography of multiple artists at once — title, price, genre, release date, and album grouping.
  • Monitor App Store rankings by scraping software entity results for specific keyword searches.
  • Build a podcast directory by scraping podcast entity for 100+ topic keywords.
  • Compare movie prices and ratings across different country stores (US vs GB vs JP).
  • Enrich an existing dataset of iTunes IDs with full metadata using lookup mode.

Why use iTunes Search Scraper?

  • Completely keyless: uses Apple's official public API — no developer account, no API key, no cookies needed.
  • 20+ structured fields: wrapperType, kind, trackId, trackName, artistName, collectionName, genre, releaseDate, price, currency, rating, ratingCount, duration, artwork URL, description, advisory rating.
  • Bulk and batch-ready: supports lists of 50+ search terms or hundreds of iTunes IDs in a single run.
  • Multi-entity: music tracks, albums, songs, podcasts, apps, movies, ebooks, audiobooks, TV seasons — one actor for all Apple media types.
  • Multi-country: pass any ISO 3166-1 alpha-2 country code to access localised pricing and catalog availability.
  • Export-ready: download as CSV, JSON, Excel, or XML directly from Apify's dataset view.

What data can you extract?

Each result row contains the following fields:

FieldTypeDescription
wrapperTypestringTop-level iTunes type: track, collection, artist
kindstringSpecific kind: song, podcast-episode, software, feature-movie, etc.
trackIdstringUnique iTunes numeric ID for the track or item
trackNamestringName of the track, podcast, app, or movie
artistNamestringArtist, developer, or author name
collectionNamestringAlbum, show, or collection the item belongs to
primaryGenreNamestringPrimary genre (e.g. Pop, Business, Entertainment)
releaseDatestringISO 8601 release date
trackPricestringPrice of the individual track in local currency
collectionPricestringPrice of the full album or collection
currencystring3-letter ISO currency code (e.g. USD, GBP)
countrystringStore country code
trackViewUrlstringDirect iTunes/App Store URL to the item
artworkUrl100string100×100 px artwork image URL
descriptionstringFull description (apps, podcasts, ebooks) or short description
averageUserRatingstringAverage user rating (0–5 scale)
userRatingCountstringTotal number of user ratings
contentAdvisoryRatingstringAge advisory rating (e.g. Explicit, 4+, PG-13)
trackTimeMillisstringDuration in milliseconds (music tracks, episodes)
searchTermstringThe search term that produced this result (search mode)
entitystringEntity type used for this result

Example JSON output:

{
"wrapperType": "track",
"kind": "song",
"trackId": "1440818588",
"trackName": "Shake It Off",
"artistName": "Taylor Swift",
"collectionName": "1989",
"primaryGenreName": "Pop",
"releaseDate": "2014-08-18T07:00:00Z",
"trackPrice": "1.29",
"collectionPrice": "13.99",
"currency": "USD",
"country": "US",
"trackViewUrl": "https://music.apple.com/us/album/shake-it-off/1440818588?i=1440818760",
"artworkUrl100": "https://is1-ssl.mzstatic.com/image/thumb/Music124/v4/a0/4a/42/a04a42a0-7e1e-8f43-6e15-e02eba8b1e4a/source/100x100bb.jpg",
"description": null,
"averageUserRating": "4.5",
"userRatingCount": "12340",
"contentAdvisoryRating": null,
"trackTimeMillis": "219320",
"searchTerm": "taylor swift",
"entity": "musicTrack"
}

How to use

Option A — Search by keyword

  1. Set Mode to Search by keyword.
  2. Enter one or more Search Terms (e.g. ["taylor swift", "coldplay", "adele"]).
  3. Choose an Entity type — musicTrack for songs, podcast for podcasts, software for apps.
  4. Set Country Code if you want a non-US store (e.g. GB, JP, DE).
  5. Optionally lower Max Results Per Term (default 200).
  6. Click Start and download the dataset.

Input JSON example:

{
"mode": "search",
"terms": ["taylor swift", "drake", "billie eilish"],
"entity": "musicTrack",
"country": "US",
"maxResults": 200
}

Option B — Lookup by iTunes ID

  1. Set Mode to Lookup by ID.
  2. Paste your list of iTunes IDs (e.g. ["1440818588", "1193701556"]).
  3. Set Country Code if needed.
  4. Click Start — each ID returns one result row.

Input JSON example:

{
"mode": "lookup",
"ids": ["1440818588", "1193701556", "909253"],
"country": "US"
}

Input parameters

ParameterTypeDefaultDescription
modestringsearchsearch (by keyword) or lookup (by iTunes ID)
termsarray["taylor swift", "drake"]Search keywords. Each term returns up to maxResults rows.
entitystringmusicTrackMedia type: musicTrack, album, song, podcast, software, movie, ebook, audiobook, tvSeason
countrystringUSISO 3166-1 alpha-2 country code for the Apple Store
idsarray[]iTunes numeric IDs for lookup mode
maxResultsinteger200Maximum results per term (1–200)
proxyConfigurationobjectDatacenterApify proxy settings

Full input JSON:

{
"mode": "search",
"terms": ["machine learning", "python programming"],
"entity": "ebook",
"country": "US",
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["DATACENTER"]
}
}

Output example

One fully-populated result row:

{
"wrapperType": "track",
"kind": "podcast",
"trackId": "1200361736",
"trackName": "How I Built This with Guy Raz",
"artistName": "NPR",
"collectionName": "How I Built This with Guy Raz",
"primaryGenreName": "Business",
"releaseDate": "2016-09-05T04:00:00Z",
"trackPrice": "-1",
"collectionPrice": null,
"currency": "USD",
"country": "US",
"trackViewUrl": "https://podcasts.apple.com/us/podcast/how-i-built-this-with-guy-raz/id1200361736?uo=4",
"artworkUrl100": "https://is2-ssl.mzstatic.com/image/thumb/Podcasts116/v4/de/3f/2b/de3f2b39-0f23-6ebb-7bd7-f8b8f4ba32ac/mza_2765249427272803419.jpeg/100x100bb.jpg",
"description": "Guy Raz dives into the stories behind some of the world's best known companies...",
"averageUserRating": "4.8",
"userRatingCount": "43210",
"contentAdvisoryRating": "Clean",
"trackTimeMillis": null,
"searchTerm": "entrepreneurship",
"entity": "podcast"
}

Tips for best results

  • Use specific terms for music — "taylor swift folklore" returns more targeted results than "taylor".
  • Entity matters: searching "python" with entity=software returns apps; with entity=ebook returns programming books.
  • Country stores differ: the JP store has different pricing and catalog than US. Run the same term with country=JP vs country=US to compare.
  • Lookup mode is exact: use it when you already have iTunes IDs (from a previous search run or external source) for 100% match accuracy.
  • Batch your terms: pass 50 terms in one run — it's faster and cheaper than 50 separate runs.
  • Max 200 per term: the iTunes API hard-caps at 200 results per request. There is no pagination — use more specific terms if you need deeper catalog coverage.
  • Null fields are normal: not every entity type populates every field. Apps have averageUserRating; music tracks typically don't.
  • Schedule weekly: use Apify's scheduler to track pricing or rating changes over time for competitor monitoring.
  • Export to CSV for spreadsheet work — Apify's dataset download supports CSV with proper header rows.
  • Combine with other actors: feed trackViewUrl values into a link scraper, or artist names into a social media scraper for cross-platform enrichment.

Integrations

  • Google Sheets: use Apify's Google Sheets integration to automatically write new results to a spreadsheet after each run.
  • Slack: get a Slack notification with the run summary and a dataset download link via Apify Webhooks.
  • Zapier / Make: trigger downstream workflows (CRM updates, email alerts, data transforms) when the actor finishes.
  • Webhooks: configure POST to your own endpoint with the dataset URL once the run succeeds.
  • Schedule: run daily or weekly via Apify's cron scheduler to monitor catalog changes, new releases, or rating shifts.

API usage

cURL:

curl -X POST \
"https://api.apify.com/v2/acts/logiover~itunes-search-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search","terms":["adele","ed sheeran"],"entity":"musicTrack","country":"US","maxResults":200}'

Node.js (Apify client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/itunes-search-scraper').call({
mode: 'search',
terms: ['adele', 'ed sheeran'],
entity: 'musicTrack',
country: 'US',
maxResults: 200
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(dataset.items);

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("logiover/itunes-search-scraper").call(run_input={
"mode": "search",
"terms": ["adele", "ed sheeran"],
"entity": "musicTrack",
"country": "US",
"maxResults": 200
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with AI agents (MCP)

You can drive iTunes Search Scraper directly from AI agent workflows via Apify's MCP integration. For example, with Claude: "Use the logiover/itunes-search-scraper actor to get the top 100 pop music tracks in the UK store, then summarize the most common artists and average prices." The actor returns clean JSON that LLMs can analyze inline — no scraping or data wrangling on the AI side.

FAQ

Does this require an API key or Apple developer account?

No. The iTunes Search API (itunes.apple.com/search) and Lookup API (itunes.apple.com/lookup) are fully public and keyless. You need no Apple ID, no developer account, and no authentication token.

What media types does it cover?

musicTrack, album, song, podcast, software (App Store apps), movie, ebook, audiobook, and tvSeason. These are all supported iTunes entity types.

How many results can I get per search term?

The iTunes API caps each request at 200 results. To get more coverage for a popular term, use more specific sub-terms (e.g. "taylor swift folklore", "taylor swift lover", etc.).

What countries are supported?

All countries where Apple operates an iTunes/App Store: US, GB, DE, FR, JP, AU, CA, BR, and 100+ more. Pass the ISO 3166-1 alpha-2 code.

Why are some fields null in the output?

Not every entity type populates every field. For example, trackTimeMillis is populated for songs and episodes but not ebooks. averageUserRating appears for apps and podcasts but not music tracks. This is how the Apple API works — null fields are expected.

How do I get results in a different currency?

Set the country field to the target store's country code. Pricing is always returned in the local store currency (e.g. GBP for country=GB).

How do I export the data?

From the Apify dataset view, click Export and choose CSV, JSON, Excel, or XML. You can also use the Apify API or client SDK to download programmatically.

How fast is it?

With 5 concurrent workers and datacenter proxies, you can process 50 search terms and push ~10,000 results in under 2 minutes.

Can I monitor App Store ratings over time?

Yes. Use the software entity, schedule the actor to run weekly with the same input terms, and compare averageUserRating and userRatingCount across runs.

Is the data real-time?

Yes. The iTunes API returns live catalog data including current prices and ratings.

Can I use lookup mode to enrich an existing dataset?

Yes — collect iTunes IDs from a search run, then pass them to a second run in lookup mode for fresher or more complete metadata.

How often should I run it?

For pricing or rating monitoring: weekly. For new release tracking: daily. For one-off catalog research: as needed.

This actor queries Apple's publicly accessible iTunes Search API, which Apple provides for developers and apps to access catalog data without authentication. The data returned is the same as what any user sees in the iTunes Store. This actor does not bypass paywalls, scrape HTML, or circumvent any access controls.

Use the data for research, analytics, and application development in accordance with Apple's terms of service (https://www.apple.com/legal/internet-services/itunes/appstore/dev/stdeula/) and applicable data protection laws. Do not use it to reproduce Apple's catalog commercially or to circumvent any licensing terms.

  • Apple Podcasts Episode Scraper — Deep-dive into podcast episodes, full transcripts, and show metadata.
  • Google Play Data API — Android equivalent: apps, ratings, reviews, and pricing from Google Play Store.
  • IMDb Scraper — Movie and TV show metadata, cast, ratings, and box office data.
  • Discogs Scraper — Music marketplace data: vinyl, CDs, sales prices, and collector information.