Review Mining

Come scaricare le recensioni dell'App Store iOS?

By Axel

Se vuoi scaricare le recensioni da App Store, la situazione è semplice: o hai accesso all'app da cui vuoi scaricarle, o non ce l'hai. 

In questo articolo vediamo soluzioni e strategie per accedere alle recensioni di App Store in entrambi i casi, valutando ogni volta prezzo, tempo e scalabilità.

Ma prima, alcune cose che devi sapere prima di passare alle soluzioni per esportare i dati delle recensioni di App Store.

Come funzionano le recensioni su iOS

Chi cerca informazioni sulle recensioni di App Store magari non sa che sono coinvolti due oggetti diversi:

  • Recensioni
  • Valutazioni

Su una piattaforma come Google My Business c'è un solo oggetto: la recensione. Può avere un contenuto oppure no.

Su iOS è un po' diverso. 

Una recensione senza contenuto diventa una valutazione. Una recensione vera e propria, invece, ha un contenuto e una valutazione associata.

Il problema è che le valutazioni, nella maggior parte dei casi, non sono disponibili. Chi ti dice di poterti dare accesso alle valutazioni ti sta mentendo, oppure sta ricostruendo i dati a partire dalle informazioni aggregate pubblicamente disponibili.

Puoi ricostruire in parte questi dati usando le informazioni fornite nelle pagine pubbliche delle app, come nell'esempio qui sotto 👇

Alcune API vendono addirittura questi dati.

In pratica è un metodo poco affidabile: ti consiglio di concentrarti solo sulle recensioni. Dovrebbero essere un sottoinsieme rappresentativo delle valutazioni, e sono molto più facili da usare e misurare con precisione.

Una nota su paesi e lingue

Forse sai già che ogni app è disponibile solo in un elenco selezionato di paesi su App Store. 

Alcune app sono disponibili in tutti i paesi possibili, altre solo in Corea, negli USA, in Francia, o in una qualsiasi combinazione dei 116 paesi disponibili sullo Store.

Ci sono alcuni dettagli importanti sulle aree geografiche di App Store. Il più importante: le recensioni sono associate a un paese, non a una lingua.

Non ho trovato un endpoint "globale" e sospetto che semplicemente non esista. 

Questo significa che devi recuperare le recensioni da ogni paese per ottenerle tutte. Puoi anche scegliere di limitarti ad alcuni paesi, ma in quel caso perderai alcune recensioni. 

Ci sono 116 paesi su App Store. 

Ecco un elenco.

Puoi scaricarlo come CSV qui.

Trovare un App ID

In quasi tutte le soluzioni elencate di seguito ti serve l'ID dell'app per accedere alle recensioni corrette. Inclusa la stessa API di App Store Connect di Apple. 

#1 Trovare il tuo app ID sulla dashboard di App Store Connect

Se hai accesso alla dashboard di App Store Connect, sei a posto.

È piuttosto semplice: accedi alla console, seleziona l'app corretta e trova l'Apple ID.

#2 Trovare il tuo app ID su App Store pubblico

Trovi l'ID anche negli URL pubblici delle pagine generate da App Store. Vai su App Store, cerca la tua app e estrai l'ID dall'URL.

Per esempio, per Instagram, l'URL è così: https://apps.apple.com/us/app/instagram/id389801252, e l'ID è la parte dopo "id", quindi 389801252.

Personalmente non sopporto la loro ricerca, quindi spesso uso Google con un semplice filtro site.

La ricerca per instagram sarebbe: site:apps.apple.com instagram.

#3 Trovare l'ID di qualsiasi app a livello programmatico

Puoi anche sfruttare la ricerca iTunes di Apple a livello programmatico, se prevedi di dover trovare molti App ID. È tutto pubblico e documentato da Apple qui.

Per cercare, esegui quanto segue:

GET `https://itunes.apple.com/search?&media=software&entity=${entity}&term=${query}&country=${country.country_code}&limit=3

Se cerchi app mobile, l'entity è "software".

La query è il tuo termine di ricerca, codificato per URL.

Il codice paese è un codice ISO 3166-1 a 2 lettere. Nota che non è lo stesso standard usato dall'API di App Store Connect, che per qualche motivo usa codici a 3 lettere.

Fatto curioso: gli App ID sono chiamati "trackID" su quell'endpoint (legacy iTunes).

#1 Utilizzo dell'API di App Store Connect di Apple

Questo metodo funziona solo se hai accesso all'API di App Store Connect e se l'app da cui vuoi scaricare le recensioni è una di quelle a cui hai accesso.

Se non è così, puoi saltare questo primo metodo.

Usare la loro API offre essenzialmente tre vantaggi:

  • Puoi pubblicare le risposte dell'azienda usando la stessa connessione API
  • Puoi contare su uno schema di dati coerente e affidabile nel tempo, utile ad esempio se vuoi monitorare le recensioni con un polling regolare.
  • Puoi accedere alle recensioni di tutte le aree geografiche con una singola chiamata API. Come vedremo, con le altre soluzioni non è possibile.

Il problema è che devi avere competenze tecniche. 

Per autenticarti con l'API di App Store Connect di Apple devi firmare dei JWT (JSON Web Token). Apple lo documenta piuttosto a fondo qui: se hai già esperienza con i JWT, è piuttosto semplice. 

Ma se lavori nel marketing, non hai competenze tecniche e vuoi solo scaricare un elenco delle tue recensioni, probabilmente ti conviene usare una soluzione di terze parti.

#2 Utilizzo dell'API non documentata di Apple

Dire "non documentata" è ormai una forzatura, visto che questo URL si trova ovunque in rete. Se ti servono dati di basso livello e configurare qualche proxy non ti spaventa, puoi farlo tranquillamente da solo.

Il difetto principale è che devi controllare le recensioni in ognuno dei 116 paesi dello Store, e questo richiede un po' di tempo. Ecco di nuovo l'elenco dei paesi con i relativi codici, come riferimento.

Per fare lo scraping delle recensioni di App Store, puoi sfruttare questo endpoint: `https://itunes.apple.com/{countryCode}/rss/customerreviews/page={page}/sortBy={sort}/id={app_id}/json`

Restituisce fino a 50 recensioni per volta, in formato JSON. Semplice, no?

Ci sono 4 parametri per personalizzare la query:

  • countryCode: vedi l'elenco dei paesi sopra per un elenco completo.
  • page: se vuoi ottenere tutte le recensioni disponibili, devi implementare la logica di paginazione. Ogni pagina restituisce 50 recensioni.
  • sortBy: l'ordine che preferisci. Probabilmente accetta diversi valori, ma mostRecent funziona bene, quindi perché usare altro?
  • app_id: trovi l'App ID sulla pagina dell'app nel browser. Ad esempio, l'App ID di Shopify è 324684580.

Tutto qui.

Ottieni un output JSON piuttosto pesante, con 50 recensioni, le informazioni di paginazione dentro l'oggetto "link" e qualche altro dato.

Non ti resta che passare l'output al tuo parser JSON preferito e scrivere un wrapper.

Insidie da tenere d'occhio

Se interroghi l'endpoint senza throttling, le risposte iniziano a rallentare, finché non arrivano timeout o errori 403.

A quel punto devi capire cosa è andato storto per ripartire dal punto giusto. Non è divertente.

Con un po' di throttling, invece, le risposte restano veloci, e alla fine il processo è molto più rapido. È il solito paradosso: rallentare un po' ti fa arrivare prima.

Se usi lo stesso IP troppo spesso (anche un IP residenziale pulito, se lo fai in locale), Apple ti blocca con errori 403 per qualche minuto o qualche ora. Se devi gestire grandi volumi di recensioni, ti serve una logica di rotazione dei proxy o un servizio dedicato. I proxy da server funzionano benissimo: è semplicemente il modo in cui Apple si protegge dallo scraping aggressivo.

Il modo più semplice per evitare il problema è usare API di scraping come Scrapingbee, ma i costi possono salire in fretta.

Librerie e pacchetti

Un paio di librerie possono farti risparmiare tempo.

Questa libreria Python sfrutta esattamente questo endpoint e gestisce la paginazione per te. Questa libreria node adatta la libreria Python a node e aggiunge qualche extra, come l'istogramma delle valutazioni (che è, nel migliore dei casi, poco affidabile).

#3 Utilizzo delle esportazioni di recensioni di Reviewflowz

Se non puoi, o non hai voglia, di scrivere uno script che cicli su 116 paesi, ruoti i proxy, trasformi il JSON di Apple in qualcosa di più pratico, deduplichi le recensioni al volo (la stessa recensione può comparire in più paesi), rilevi la lingua e così via, abbiamo la soluzione.

Le nostre esportazioni a pagamento secondo l'uso ti permettono di scaricare recensioni da qualsiasi app, in qualsiasi paese, in pochi secondi.

Cerca un'app, seleziona quella che vuoi ed esporta.

Puoi scaricare un campione di 25 righe per verificare come appare il file e se contiene tutto quello che ti serve, e poi acquistare l'esportazione completa a $0,10 a riga.

Se hai volumi elevati o esigenze particolari, scrivici: di solito riusciamo ad aiutarti, oppure ti consigliamo qualcun altro che può farlo.

Ready to get more reviews?

Set up in under five minutes. No demo required.