iTunes & App Store Search Scraper
Pricing
from $6.80 / 1,000 results
iTunes & App Store Search Scraper
Search Apple iTunes and the App Store for songs, albums, podcasts, apps, movies and ebooks. Each record has name, artist, genre, release date, price, artwork and store link. Export to JSON, CSV or Excel.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
iTunes & App Store Search Scraper
Here is one real result, with every field the actor returns (the AI add-on fields are populated because those add-ons were enabled on the run):
{"trackId": 6473799789,"trackName": "Passwords","artistName": "Apple","collectionName": null,"primaryGenreName": "Utilities","kind": "software","releaseDate": "2024-06-10T07:00:00Z","trackPrice": 0,"currency": "USD","country": null,"previewUrl": null,"artworkUrl100": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/3f/c1/0f/3fc10f91-a212-6835-e7bf-342c6102d5c9/passwords-0-0-1x_U007epad-0-1-sRGB-85-220.png/100x100bb.jpg","trackViewUrl": "https://apps.apple.com/us/app/passwords/id6473799789?uo=4","description": "Easily access your passwords, passkeys, Wi-Fi passwords, and your other credentials, in one place. With Passwords, you can quickly sign into apps and websites with AutoFill, protect your account information with encryption, and seamlessly sync passwords so you can access them on the go. [description trimmed for readability; the field returns Apple's full listing text]","sellerName": "Apple Inc.","averageUserRating": 4.72424,"userRatingCount": 785026,"contentAdvisoryRating": "4+","trackExplicitness": null,"collectionExplicitness": null,"genres": ["Utilities"],"trackCount": null,"trackNumber": null,"discNumber": null,"trackTimeMillis": null,"isStreamable": null,"feedUrl": null,"version": "1.3","bundleId": "com.apple.Passwords","fileSizeBytes": 3734528,"minimumOsVersion": "18.0","formattedPrice": "Free","collectionPrice": null,"currentVersionReleaseDate": "2025-12-12T22:07:47Z","releaseNotes": "Bug Fixes and Feature Enhancements","artworkUrl600": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/3f/c1/0f/3fc10f91-a212-6835-e7bf-342c6102d5c9/passwords-0-0-1x_U007epad-0-1-sRGB-85-220.png/512x512bb.jpg","screenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/0d/97/0f/0d970f5d-8844-c716-22eb-66d9f71b55e5/3d0f3a67-0e74-42ec-b2e2-8c16acc56454_0x0ss-11.png/392x696bb.png"],"artistViewUrl": "https://apps.apple.com/us/developer/apple/id284417353?mt=12&uo=4","collectionViewUrl": null,"artistId": 284417353,"collectionId": null,"aiSummary": "Passwords is a utility app that securely stores and manages your passwords, passkeys, and Wi-Fi credentials, allowing for easy AutoFill and access across devices. It offers features like encryption, 2-factor verification setup, data leak alerts, and the ability to share passwords with others.","aiTags": ["password management", "autofill", "encryption", "2fa", "data leak alerts", "sync across devices", "wifi passwords", "account sharing", "user-friendly", "security"],"source": "iTunes","observedAt": "2026-08-14T08:17:35.282Z"}
The most complete iTunes and App Store search scraper available. It returns every field the Apple iTunes Search API exposes for each result, from the basics (name, artist, genre, price, artwork, store link) to the premium fields (full description, seller, ratings and rating count, content rating, app version, bundle ID, file size, minimum OS, screenshots), plus optional AI summary and discovery tags, across ten result types and any country store.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches Apple iTunes and the App Store for a term you provide, restricted to a result type (songs, albums, artists, podcasts, apps, movies, ebooks, audiobooks, TV seasons, or short films) and a country store, and writes one normalized record per result to the run's dataset. Every field in the source response is captured in the same request, including the premium fields many tools drop (description, seller, ratings, content rating, app version and bundle ID, file size, screenshots). No account or key is required.
Optional paid add-ons attach an AI summary and discovery tags for items that carry a description or release notes (apps, podcasts, movies, books).
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 songs matching the Beatles from the US store.
{"searchQuery": "the beatles","entity": "song","country": "US","maxResults": 10}
Change entity to software for apps, podcast for podcasts, and so on. Set country to any two-letter store code.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | yes | the beatles | The term to search for, for example an artist, app, podcast, or movie name. |
entity | enum | no | song | Result type. One of song, album, musicArtist, podcast, software, movie, ebook, audiobook, tvSeason, shortFilm. |
country | string | no | US | Two-letter country code for the store to search, for example US, GB, DE, BR. |
maxResults | integer | no | 50 | Maximum results to collect, up to 200 per search. |
withAiSummary | boolean | no | false | Paid add-on. For items with a description or release notes, generate a concise plain-English summary. Requires a paid plan. Billed per usable AI result. |
withAiTags | boolean | no | false | Paid add-on. Extract 5-10 discovery keyword tags from the item's listing text. Requires a paid plan. Billed per usable AI result. |
If searchQuery is empty, the run returns a single item with a populated error field and is not charged.
Output reference
One dataset item per result. Types: string, integer, number, boolean, string[], or null when the source value is absent. Which fields are populated depends on the entity (apps carry bundleId and fileSizeBytes; songs carry trackTimeMillis and trackNumber).
| Field | Type | Description |
|---|---|---|
trackId | integer | Track, collection, or artist ID (first available). |
trackName | string | Track, collection, or artist name. |
artistName | string | Artist or developer name. |
collectionName | string | Album/collection name, or null. |
primaryGenreName | string | Primary genre or category. |
kind | string | Item kind or wrapper type, for example software, song, podcast. |
releaseDate | string | Release date (ISO 8601). |
trackPrice | number | Item price, or null. |
currency | string | Price currency code. |
country | string | Store country as returned, or null. |
previewUrl | string | Audio/video preview URL, or null. |
artworkUrl100 | string | 100px artwork URL. |
trackViewUrl | string | Store page URL for the item. |
description | string | Full listing description or long description, or null. |
sellerName | string | Seller/developer name, or null. |
averageUserRating | number | Average user rating, or null. |
userRatingCount | integer | Number of user ratings, or null. |
contentAdvisoryRating | string | Content advisory / age rating, or null. |
trackExplicitness | string | Track explicitness marker, or null. |
collectionExplicitness | string | Collection explicitness marker, or null. |
genres | string[] | All genres/categories. Empty array when none. |
trackCount | integer | Number of tracks in the collection, or null. |
trackNumber | integer | Track number within the album, or null. |
discNumber | integer | Disc number, or null. |
trackTimeMillis | integer | Track length in milliseconds, or null. |
isStreamable | boolean | Whether the track is streamable, or null. |
feedUrl | string | Podcast RSS feed URL, or null. |
version | string | App version, or null. |
bundleId | string | App bundle identifier, or null. |
fileSizeBytes | integer | App download size in bytes, or null. |
minimumOsVersion | string | Minimum OS version for an app, or null. |
formattedPrice | string | Human-readable price, for example Free, or null. |
collectionPrice | number | Collection price, or null. |
currentVersionReleaseDate | string | Date of the current app version (ISO 8601), or null. |
releaseNotes | string | App release notes, or null. |
artworkUrl600 | string | High-resolution artwork URL. |
screenshotUrls | string[] | App screenshot URLs. Empty array when none. |
artistViewUrl | string | Store page URL for the artist/developer, or null. |
collectionViewUrl | string | Store page URL for the collection, or null. |
artistId | integer | Artist/developer ID, or null. |
collectionId | integer | Collection ID, or null. |
aiSummary | string | Paid add-on. Plain-English summary, or null when not enabled. |
aiTags | string[] | Paid add-on. 5-10 discovery keyword tags, or null. |
source | string | Always iTunes. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on error records (no query / source down); success records omit it. |
Example output record
The real Apple Passwords app record (from input {"searchQuery": "password manager", "entity": "software", "maxResults": 3, "withAiSummary": true, "withAiTags": true}) is shown in full at the top of this page. The description there is trimmed for readability; the actual field returns Apple's full listing text verbatim.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~itunes-search-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"the beatles","entity":"album","country":"US","maxResults":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~itunes-search-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQuery":"password manager","entity":"software","maxResults":50}'
Apify CLI:
apify call scrapers_lat/itunes-search-scraper \--input '{"searchQuery":"daily news","entity":"podcast","maxResults":10}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
<DATASET_ID> is returned as defaultDatasetId in the run object. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per result returned (
resultevent). See the pricing tab for the current per-result price. - AI add-ons billed separately.
withAiSummaryandwithAiTagsare optional paid events (ai_summary,ai_tags) charged only when they produce usable output, and require a paid Apify plan. - No charge on failure. If the query is empty or the source is down, the actor writes a single item with a populated
errorfield and does not charge for it. - Free Apify plans are capped at 10 results per run. Upgrade for higher
maxResults(up to 200 per search). - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results.
FAQ and troubleshooting
How do I search for apps instead of songs?
Set entity to software. Records then carry app fields like bundleId, fileSizeBytes, minimumOsVersion, version, and screenshotUrls.
Can I search a non-US store?
Yes. Set country to any two-letter store code, for example GB, DE, BR, JP.
Why are some fields null?
The iTunes Search API returns different fields per result type. A song has no bundleId; an app has no trackTimeMillis. Absent values are returned as null, never invented.
When do the AI add-ons produce output? Only for items that carry a real description or release notes (apps, podcasts, movies, books). Items without free text are skipped and not charged for AI.
What is the maximum number of results? Up to 200 per search on a paid plan. Free plans are capped at 10 per run.
Is this an official Apple tool? No. This actor is independent and has no affiliation with Apple. It reads only data from the public iTunes Search API.
Related scrapers
- Instagram Reels Scraper: public Instagram Reels metadata and stats.
- Instagram Caption & Hashtag Generator: AI captions, hashtags, and alt text.
- Ad Copy Generator: ready-to-run ad headlines and body copy.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Apple. Accesses only data from the public iTunes Search API.
