If you are on Catalina or Big Sur, and you don't want to use the awful Music app, you can use Retroactive to install up to iTunes 12.9 on your Mac. The child has blocked the iPad. To unblock it you need to download itunes. Itunes Not supported after upgrading to big sur. The Apple Music app and Apple TV app read the contents of your iTunes library — so don't delete your iTunes library. If you open the Apple Music app and don't see all of your album artwork, leave the Apple Music app open so your album artwork can finish downloading.
Offer customers extra content and features — including digital goods, subscriptions, and premium content — directly within your app by using in‑app purchases, available on all Apple platforms. You can even promote and offer in‑app purchases directly on the App Store.
In‑App Purchase Types
There are four types of in‑app purchases and you can offer multiple types within your app. In‑app purchases can be accessed across multiple Apple platforms where your app is available.
Consumable
Users can purchase different types of consumables, such as lives or gems to further their progress in a game, or boosts in a dating app to increase their profile’s visibility. Consumable in‑app purchases are depleted as they are used and can be purchased again. They’re frequently offered in apps and games that use the freemium business model.
Non‑Consumable
Users can purchase non-consumable, premium features that are purchased once and don’t expire. Examples include additional filters in a photo app or cosmetic items in a game.
Auto‑Renewable Subscriptions
Users can purchase ongoing access to content, services, or premium features in your app. Users are charged on a recurring basis until they decide to cancel. Common categories that offer auto-renewable subscriptions include those that provide access to media or libraries of content (such as video, music, or articles), software as a service (such as cloud storage, productivity, or graphics and design), education, and more.
Learn more about subscriptionsNon‑Renewing Subscriptions
Users can purchase access to services or content for a limited duration, such as a season pass to in-game content. This type of subscription doesn’t renew automatically, so users need to purchase a new subscription once it concludes if they wish to retain access.
Family Sharing New
Apps that offer non-consumable in‑app purchases or auto-renewable subscriptions can enable Family Sharing in App Store Connect to allow users to share access with up to five family members. With a streamlined, convenient user experience, Family Sharing can help you attract subscribers, encourage paid subscriptions, increase user engagement, and improve retention.
Territory-specific Pricing
Apps with auto-renewable subscriptions can offer territory-specific prices. You can choose from 200 price points across all available currencies and price tiers to offer appropriate pricing for each location.
Offering In‑App Purchases
Before offering in‑app purchases, you’ll need to sign the Paid Applications Agreement and set up your banking and tax information.
App Store Connect Help: Agreements, tax, and banking overviewSet Up Xcode Configurations
Use Xcode to enable the in‑app purchase service for your app.
Xcode documentationSet Up Your In‑App Purchases in App Store Connect
In‑app purchases are configured in App Store Connect, where you’ll add details such as product name, description, price, and availability. You can also add localizations to ensure customers in different regions where your app is available have a seamless purchase experience in their preferred language.
App Store Connect Help: Workflow for configuring in‑app purchasesApp Store Connect Help: View and edit in‑app purchase informationDesigning and Building
Design Your In‑App Purchase Experience
The user interface for your in‑app purchase should fit well with the rest of your app and effectively showcase your products.
Implement Your In‑App Purchases
Use the StoreKit framework to create a safe and secure purchase experience for your users on all Apple platforms. StoreKit APIs help you retrieve product information, handle transactions, determine product entitlements and customer status, provide offers, and more.
Online purchase flows for users in the European Economic Area may be impacted by the European Union’s Strong Customer Authentication requirements. The App Store will support Strong Customer Authentication. We recommend that you verify your app’s implementation of StoreKit to make sure purchases are handled correctly.
Determine User Status
App Store server notifications provide real-time updates about a user’s status and key events related to in‑app purchases, such as a refund or change in subscription status. You can use this information to create customized experiences in your app. For example, if a subscriber has turned off auto-renew, you might display a promotional offer to encourage them to resubscribe. In order to enable App Store server notifications, you’ll need to provide a URL in App Store Connect that links to your server.
Determine product entitlements and customer status with App Store server APIs. You’ll get the latest status and history for in‑app purchase transactions, including status changes that take place outside your app or when a customer’s device may be offline.
Testing
Test Transactions
Test your in‑app purchases throughout the development process to make sure your app and server properly handle common purchase scenarios, such as subscription offers or refunds. During early development, you can simulate and test in‑app purchases using Xcode. Once you’ve configured your in‑app purchases in App Store Connect, you can use the sandbox environment to test using real product information.
Testing at All Stages of DevelopmentTesting in XcodeTesting with the sandbox environmentTest the Full User Experience
When you’re ready, use TestFlight to gain valuable feedback on your apps and in‑app purchases from internal and external testers. You can invite up to 10,000 external testers using just their email address or by sharing a public link. In‑app purchases in TestFlight use the sandbox environment, so they’re free to testers and don’t carry over into production once your app is released on the App Store.
Testing with TestFlightPublishing
Mac Catalina Itunes Apple
Submit Your In‑App Purchases for Review
Once you’ve completed testing, verify that you’ve followed the App Review Guidelines and implementation checklist, then submit using App Store Connect.
App Store Review GuidelinesApp Store Connect Help: Submit an in‑app purchasePromote Your In‑App Purchases on the App Store
You can choose to promote up to 20 in‑app purchases at a time on your product page, increasing discoverability for content previously only found inside your app. Users can browse in‑app purchases directly on the App Store and start a purchase even before downloading your app.
Promoting Your In‑App PurchasesDistribute Promo Codes
Give press and influencers early access to your app’s in‑app purchases with promo codes from App Store Connect. You can give away up to 100 promo codes for each in‑app purchase item, up to a maximum of 1,000 codes per app.
App Store Connect Help: Promo codes overviewCustomer Payment Methods
The App Store provides support for all aspects of commerce, including payment processing and assistance with tax obligations in over 60 regions, so it’s easy to offer your content to users around the world. Users pay for your apps and in‑app purchases with credit or debit cards, mobile phone billing, Apple Pay, other payment services, or an Apple ID balance (from gift cards or adding funds).
Providing Customer Support
Thoughtful support helps you manage relationships with your users and can lead to higher retention, improved engagement, and better ratings and reviews. Use StoreKit and App Store server APIs to provide more seamless support options and resolve in‑app purchase issues quickly and efficiently.
Handling Refunds
Let users request refunds directly within your app by using the Request Refund StoreKit API and providing a dedicated place in your app for these requests. You can also provide other options — such as technical support or a free item in a game — before the option to request a refund.
If you’ve enabled App Store server notifications, you’ll receive a notification after a user requests a refund that lets you know if it’s been approved. You can use this information to take action in response — for example, updating their account balance based on the refund, or restricting access to content unlocked by an in‑app purchase. If you choose to take action, inform the user of any changes and let them know if there’s anything they need to do. Later this year, you can also identify whether a user has previously received refunds for any in‑app purchases made in your app using the Refunded Purchases API.
Apple uses a variety of factors to determine whether a refund request is approved or denied. To help inform and improve the refund process, you can send information about a user’s in‑app purchase to Apple when they request a refund. This can include details such as if the purchase was consumed or if you were unable to deliver the purchase.
Managing purchases
If a user re-downloads your app or switches to a new device, be sure to immediately provide access to the content or functionality from their past in‑app purchases. Your app must also include a restore mechanism for any restorable in‑app purchases, per the App Store Review Guidelines 3.1.1.
Later this year, if a user requests support for an in‑app purchase, you can use the Invoice Lookup API to make sure you’re taking action on the right purchase. Simply ask the user for the Order ID provided on their purchase email invoice sent by Apple, then use the API to confirm the invoice and any associated information — for example, whether the user has already received a refund for their purchase — or to match the date and time of the purchase with your records.
iTunes Search API
Table of Contents
Overview
The Search API allows you to place search fields in your website to search for content within the iTunes Store and Apple Books Store. You can search for a variety of content; including books, movies, podcasts, music, music videos, audiobooks, and TV shows. You can also call an ID-based lookup request to create mappings between your content library and the digital catalog. Developers may use promotional content in the API, including previews of songs, music videos, album art and App icons only to promote store content and not for entertainment purposes. Use of sound samples and other assets from the API must be proximate to a store badge. Terms and conditions apply.
The Partners Program allows you to earn a commission on qualifying revenue generated by clicks initiated from your website or app into the iTunes Store and Apple Books Store. For more information on the Partners Program, see http://www.apple.com/itunes/affiliates.
Searching
To search for content from a field in your website and display the results in your website, you must create a search field that passes a fully-qualified URL content request to the iTunes Store, parse the JavaScript Object Notation (JSON) format returned from the search, and display the results in your website.
The fully-qualified URL must have the following format:
https://itunes.apple.com/search?parameterkeyvalue
Where parameterkeyvalue can be one or more parameter key and value pairs indicating the details of your query.
To construct a parameter key and value pair, you must concatenate each parameter key with an equal sign (=) and a value string. For example: key1=value1
. To create a string of parameter key and value pairs, you must concatenate each pair using an ampersand (&). For example:
key1=value1&key2=value2&key3=value3
Note: When creating search fields and scripts for your website, you should use dynamic script tags for your xmlhttp script call requests. For example:
<script src='https://.../search?parameterkeyvalue&callback='{name of JavaScript function in webpage}'/>
The following table defines the parameter keys and values you can specify to search for content within the iTunes Store or Apple Books Store:
Parameter Key | Description | Required | Values | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
term | The URL-encoded text string you want to search for. For example: jack+johnson. | Y | Any URL-encoded text string. Note: URL encoding replaces spaces with the plus (+) character and all characters except the following are encoded: letters, numbers, periods (.), dashes (-), underscores (_), and asterisks (*). | ||||||||||||||||||||
country | The two-letter country code for the store you want to search. The search uses the default store front for the specified country. For example: US. The default is US. | Y | See http://en.wikipedia.org/wiki/ ISO_3166-1_alpha-2 for a list of ISO Country Codes. | ||||||||||||||||||||
media | The media type you want to search for. For example: movie. The default is all. | N | movie, podcast, music, musicVideo, audiobook, shortFilm, tvShow, software, ebook, all | ||||||||||||||||||||
entity | The type of results you want returned, relative to the specified media type. For example: movieArtist for a movie media type search. The default is the track entity associated with the specified media type. | N | The following entities are available for each media type:
| ||||||||||||||||||||
attribute | The attribute you want to search for in the stores, relative to the specified media type. For example, if you want to search for an artist by name specify entity=allArtist&attribute=allArtistTerm. In this example, if you search for term=maroon, iTunes returns “Maroon 5” in the search results, instead of all artists who have ever recorded a song with the word “maroon” in the title. The default is all attributes associated with the specified media type. | N | The following attributes are available for each media type:
| ||||||||||||||||||||
callback | The name of the Javascript callback function you want to use when returning search results to your website. For example: wsSearchCB. | Y, for cross-site searches | wsSearchCB | ||||||||||||||||||||
limit | The number of search results you want the iTunes Store to return. For example: 25.The default is 50. | N | 1 to 200 | ||||||||||||||||||||
lang | The language, English or Japanese, you want to use when returning search results. Specify the language using the five-letter codename. For example: en_us.The default is en_us (English). | N | en_us, ja_jp | ||||||||||||||||||||
version | The search result key version you want to receive back from your search.The default is 2. | N | 1, 2 | ||||||||||||||||||||
explicit | A flag indicating whether or not you want to include explicit content in your search results.The default is Yes. | N | Yes, No |
Notes
- It is critical to encode your URLs correctly in order to be commissioned for partner links. Notes on partners encoding raw links can be found in the Advanced Partner Linking document.
- To improve response times, minimize the number of search results the Search API returns by specifying an appropriate value for the limit parameter key.
- The Search API is limited to approximately 20 calls per minute (subject to change). If you require heavier usage, we suggest you consider using our Enterprise Partner Feed (EPF). If you wish to access content on our EPF, please review our documentation page for more information.
- Large websites should set up caching logic for the search and lookup requests sent to the Search API. For an illustration, see Caching Architecture later in this document.
Search Examples
The following are examples of fully-qualified URLs for specific search requests:
- To search for all Jack Johnson audio and video content (movies, podcasts, music, music videos, audiobooks, short films, and tv shows), your URL would look like the following:
https://itunes.apple.com/search?term=jack+johnson - To search for all Jack Johnson audio and video content and return only the first 25 items, your URL would look like the following:
https://itunes.apple.com/search?term=jack+johnson&limit=25 - To search for only Jack Johnson music videos, your URL would look like the following:
https://itunes.apple.com/search?term=jack+johnson&entity=musicVideo - To search for all Jim Jones audio and video content and return only the results from the Canada iTunes Store, your URL would look like the following:
https://itunes.apple.com/search?term=jim+jones&country=ca
Lookup Examples
You can also create a lookup request to search for content in the stores based on iTunes IDs, UPCs/ EANs, and All Music Guide (AMG) IDs. ID-based lookups are faster and contain fewer false-positive results.
Mac Itunes App
The following are examples of fully-qualified URLs for specific lookup requests:
- Look up Jack Johnson by iTunes artist ID:
https://itunes.apple.com/lookup?id=909253 - Look up Jack Johnson by AMG artist ID:
https://itunes.apple.com/lookup?amgArtistId=468749 - Look up multiple artists by their AMG artist IDs:
https://itunes.apple.com/lookup?amgArtistId=468749,5723 - Look up all albums for Jack Johnson:
https://itunes.apple.com/lookup?id=909253&entity=album - Look up multiple artists by their AMG artist IDs and get each artist’s top 5 albums:
https://itunes.apple.com/lookup?amgArtistId=468749,5723&entity=album&limit=5 - Look up multiple artists by their AMG artist IDs and get each artist’s 5 most recent songs:
https://itunes.apple.com/lookup?amgArtistId=468749,5723&entity=song&limit=5&sort=recent - Look up an album or video by its UPC:
https://itunes.apple.com/lookup?upc=720642462928 - Look up an album by its UPC, including the tracks on that album:
https://itunes.apple.com/lookup?upc=720642462928&entity=song - Look up an album by its AMG Album ID:
https://itunes.apple.com/lookup?amgAlbumId=15175,15176,15177,15178,15183,15184,15187,1519,15191,15195,15197,15198 - Look up a Movie by AMG Video ID:
https://itunes.apple.com/lookup?amgVideoId=17120 - Look up a book by its 13 digit ISBN:
https://itunes.apple.com/lookup?isbn=9780316069359
Understanding Search Results
The Search API returns your search results in JavaScript Object Notation (JSON) format. JSON is built on two structures:
- A collection of name/value pairs, also known as an object; this concept is similar to a Java Map object, a Javascript Dictionary, or a Pearl/Ruby hash. An object is an unordered set of name/value pairs, beginning with a left brace ( { ) and ending with a right brace ( } ). Each name is surrounded by double-quotes and followed by a colon ( : ); the name/value pairs are separated by commas ( , ).
- An ordered list of values, also known as an array. An array is an ordered collection of values, beginning with a left bracket ( [ ) and ending with a right bracket ( ] ). Values are separated by commas ( , ).
All JSON results are encoded as UTF-8. For more information on JSON, please see http://www.json.org.
The following example displays the JSON results for a song in the iTunes Store:

The following table defines the JSON result keys and values:
Result Key | Description | Returned | Return Values and Examples |
---|---|---|---|
wrapperType | The name of the object returned by the search request. | Y | track, collection, artistFor example: track. |
*explicitness | The Recording Industry Association of America (RIAA) parental advisory for the content returned by the search request.For more information, see http://itunes.apple.com/WebObjects/MZStore.woa/wa/parentalAdvisory. | Y | explicit (explicit lyrics, possibly explicit album cover), cleaned (explicit lyrics “bleeped out”), notExplicit (no explicit lyrics)For example: “trackExplicitness”:”notExplicit”. |
kind | The kind of content returned by the search request. | Y | book, album, coached-audio, feature-movie, interactive- booklet, music-video, pdf podcast, podcast-episode, software-package, song, tv- episode, artistFor example: song. |
trackName | The name of the track, song, video, TV episode, and so on returned by the search request. | Y | For example: “Banana Pancakes”. |
artistName | The name of the artist returned by the search request. | Y | For example: Jack Johnson. |
collectionName | The name of the album, TV season, audiobook, and so on returned by the search request. | Y | For example: “In Between Dreams”. |
*censoredName | The name of the album, TV season, audiobook, and so on returned by the search request, with objectionable words *’d out.Note: Artist names are never censored. | Y | For example: “S**t Happens”. |
artworkUrl100, artworkUrl60 | A URL for the artwork associated with the returned media type, sized to 100×100 pixels or 60×60 pixels. | Only returned when artwork is available | For example: “http:// a1.itunes.apple.com/jp/r10/Music/ y2005/m06/d03/h05/ s05.oazjtxkw.100×100-75.jpg”. |
*viewURL | A URL for the content associated with the returned media type. You can click the URL to view the content in the iTunes Store. | Y | For example: “http:// itunes.apple.com/WebObjects/ MZStore.woa/wa/viewAlbum? i=68615807&id=68615813&s=1434 62”. |
previewUrl | A URL referencing the 30-second preview file for the content associated with the returned media type. . | Only returned when media type is track | For example: “http:// a392.itunes.apple.com/jp/r10/ Music/y2005/m06/d03/h05/s05.zdzqlufu.p.m4p”. |
trackTimeMillis | The returned track’s time in milliseconds. | Only returned when media type is track |
Legal
Developers may use certain promotional content as may be provided by Apple, including previews of songs and music videos, and album art, for the purposes of promoting the subject of the Promo Content; provided such Promo Content: (i) is placed only on pages that promote the content on which the Promo Content is based; (ii) is proximate to a “Download on iTunes” or “Download on App Store” badge (as approved by Apple) that acts as a link directly to pages within iTunes where consumers can purchase the promoted content; (iii) includes attribution indicating the Promo Content was “provided courtesy of iTunes” if such Promo Content includes song or music video previews; (iv) is streamed only, and not downloaded, saved, cached, or synchronized with video, if such Promo Content includes song or music video previews; (v) is not used for independent entertainment value apart from its promotional purpose; and (vi) is not used to promote any other goods or services. Developer acknowledges that Apple provides the Promo Content “as is,” and disclaims any and all representations or warranties, including, but not limited to, non-infringement. Developer shall forward any claims received in connection with the Promo Content to Apple immediately upon receipt, and will remove any Promo Content immediately upon request from Apple.
Apple Mac Store Itunes
This agreement and your use of Promo Content are governed by California law.