Get app keywords with the iTunes Search API - ios

it looks like at this website https://sensortower.com/ you can easily get the keywords an app publisher inserted when he submitted his app to Apple Store. I searched the docs (http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html) of the Itunes Search API but I could not find any way to get the keywords. How did the do? Am I missing something important?

As far as I know, you cannot query for keywords.
What I think they do (and I am pretty certain) is that they query the app store regularly against a database they hold.
This database might hold keywords based on the descriptions and app titles of existing apps (basically just all words mentioned there). With this information they create random search term combinations and query the search API with it.
Afterwards they "guess" the app's keywords according to the position the app gets in the result list with the specified search terms. The higher its ranking the bigger might be the chance that it actually uses one of these keywords.

Related

Proper way to search for contacts Swift 5

I'm making an Apple Messages app clone and am currently mimicking "New Message" design. I have a UITableView (to display the results) with a UISearchController (to search for contacts).
I'm trying to find the best way to search through a user's contacts on their phone while their typing.
The function CNContact.predicateForContacts allows me to search for contacts by either a name, phone number, or email address. But, I'm unsure if this is an efficient method because the search needs to be like the Messages app; where a user starts typing typing it searches for multiple matching fields and displays those results almost instantly. For example, if a user types in a letter, it will search for matching names and email addresses or if they type in a number it will search for matching names, phone numbers, and emails with.
What is the best practice to do this?? I looked at everywhere and even watch Apple's WWDC 15 video on contacts to find the best way for this but have not found a concrete explanation / answer.

Working with iTunes Store customer reviews API

I am working with iTunes store's customer reviews API and I have some questions, the general URL is like this:
https://itunes.apple.com/us/rss/customerreviews/id=(APPID)/sortBy=mostRecent/json
I have two questions, the first is I don't want to specify the country, so I remove the country code like this:
// /us/ has been removed from the URL
https://itunes.apple.com/rss/customerreviews/id=(APPID)/sortBy=mostRecent/json
...but still, the reviews and rates belong to the US store, Is there any possible way to get a summary of rates and reviews worldwide?
Secondly, can I change the result sort defined by sortBy=mostRecent?
My third question is if I develop an app which monitors reviews and rates with Apple's official API, does Apple reject my app for reasons like scraping their website or something like that?
Unfortunately, there is no way to get the results for all countries in one go. You have to query each country individually. Here is a list of country codes: https://affiliate.itunes.apple.com/resources/documentation/linking-to-the-itunes-music-store/#CountryCodes
There is no publicly documented way of changing the sort order.
I'd be surprised if you ran into any problems - after all, you're not scraping their website, but using an API they've exposed for that very purpose. Others have been doing it for a long time, e.g. https://reviewbot.io/ or https://appbot.co/. But there's only one way to find out for sure.
You can't get all countries, only the ones you specify, us is default.
There is a limit, of as far as I know, 50 reviews you can get trough
pagination links provided in the las result item.
You can load .../xml or .../json
You can only sort by mostRecent
The first result item is not a review but an app description.
Your last question can only be answered by Apple.
The problem is currently .xml doesn't work and for your question to monitor in bulk, if you know R there's a package in R itunesr that can help solve extract bulk data.

Why does iTunes Store Reviews RSS feed sometimes return no results?

I'm trying to import reviews for certain apps on the iTunes App Store via the public reviews RSS feed. Most of the time the feed returns a list of 50 reviews per page, and gives me links for up to 10 pages. But in the case of some apps, some or all of those pages have 0 reviews, and I can't tell why.
At the time of this writing, the feed for Instagram (link below) returns no reviews, despite reporting that there's 10 pages of reviews available.
https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/xml
Even more confusing, I noticed last night that page 2 had 50 reviews but none of the other pages had any. This morning, page 2 is empty again.
If I remove the sortBy=mostrecent portion of the URL above, I actually do get 50 results back, but none of the other pages have any results.
Finally, it appears as if the JSON version of this page (link below) actually returns results better than the XML version. Unfortunately, the JSON version leaves off the date of the review in the data so I can't use it.
https://itunes.apple.com/us/rss/customerreviews/page=1/id=389801252/sortBy=mostrecent/json
Can anyone explain this? Is Apple's XML feed API just extremely unreliable? Am I forming a bad URL?
While this answer isn't very satisfying, it's the best I could work out after many trials. It appears as if the XML feed is really fallible and shouldn't be used for real-world usage. Furthermore, when using the public JSON feed, certain fields such as review date are missing. Neither feed reports developer response.
It's also clear that Apple doesn't use these feeds for iTunes (desktop) or App Store (iOS). I ultimately reverse-engineered the way iTunes requests review data and figured out that making a request the same way, making sure to match their User Agent and version, would return the data I needed. These requests seem to be rate-limited to a certain extent and the data comes as a mix of HTML and JSON that requires a lot of parsing. Furthermore, because they're private calls, Apple could easily shut the door at any moment.

app store not showing app that have correct keywords

I have an app named "4SaleQ8". I have added keywords and one of the keyword says "4sale"
However when I search on app store with 4sale, it is not showing my application.
Any idea why this is happening?
App link is as below.
https://itunes.apple.com/us/app/4saleq8/id1066646920?mt=8
If I search for 4saleq8, 4 sale q8 it show but it if I search for 4sale, it don't show
I don't want to search on Google... I am talking of search on App Store.
As part of the approval process, Apple reviewers can remove some of the keywords that you submit if they deem them inappropriate, for example if they match a competitor's name.
Some advice on this is here.
Ranking on a specific keyword will not happen in one night. There are a lot of factors that affects your rankings.From on-page ASO, off-page ASO, Keyword Optimization, and ratings and reviews.
I would suggest you to read these two useful articles to help you guide rank your app:
17 Free Ways To Find New Keywords For Your App
10 Basic Things You Should Know About ASO

Applying search terms only to specific fields in the iTunes search API. Possible?

Using the iTunes search api for app search, is it possible to pre-filter the results, so that the search terms get applied to a specific set of fields? For instance, the title. I am sick and tired of not finding anything, just because it is buried within the results, and some other more popular, but completely irrelevant app appears on top.
The iTunes Search API does provide this feature, the documentation is pretty clear on how to do this.
http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
Look at the list of parameters you can append, the parameter you are looking for is "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.

Resources