API App Store Recensioni
Stato di salute dell'API
- Operatività nelle ultime 24 ore
- Normale
- Buono / normale
- Disponibile
- Limitato
- Quasi del tutto inattivo
Ultime 24 ore
Ultimi 30 giorni
Leggi le recensioni degli utenti dell'App Store per un'app, con titolo, testo, valutazione in stelle, autore, versione dell'app, voti di utilità e data. Ordina per newest (predefinito) o most_helpful e scegli lo store con country.
Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su app_store e action impostato su reviews. Prezzo $1.39 per 1.000 richieste ($0.001389 per chiamata). Le chiamate non riuscite e i risultati vuoti non vengono addebitati. Sincrona. Per i job più lenti, aggiungi "mode": "async" al corpo della richiesta, recupera il job_id ed esegui il polling.
Prompt per l'AI
#Aiutami a scrivere uno script di raccolta dei dati con l'endpoint App Store Recensioni di EveryInfra (app_store/reviews).
Come funziona l'endpoint:
- Richiesta: POST https://api.everyinfra.com/api/v1/social con l'header Authorization: Bearer <chiave API>. Leggi la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY e non scriverla mai direttamente nel codice.
- Nel corpo della richiesta imposta platform su app_store e action su reviews, e inserisci i parametri in params.
- Parametri obbligatori:
- app_id: Specifica l'identificatore numerico dell'app di Apple, ad esempio le cifre dopo id nel link di un'app. Puoi passare anche l'URL completo di un'app dell'App Store e la piattaforma estrarrà l'ID numerico.
- Parametri facoltativi:
- country: Seleziona lo storefront dell'App Store per search, profile e reviews con un codice paese di due lettere minuscole, ad esempio us, cn o jp. Il valore predefinito è us.
- sort: Specifica l'ordine di visualizzazione delle recensioni dell'App Store: newest per le più recenti o most_helpful per le più utili. Se omesso, l'azione reviews usa newest. (valori consentiti: most_helpful / newest)
- limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 500. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 30)
- Restituisce un elenco di record. Campi principali di ogni record: id, title, text, rating, rating_scale, author, app_version, helpful_count, posted_at, app_id, app_name.
- Esempio di corpo della richiesta:
{
"platform": "app_store",
"action": "reviews",
"params": {
"app_id": "389801252"
}
}
- Prezzo: $1.39 per 1.000 richieste; le richieste non riuscite e i risultati vuoti non vengono addebitati.
- Per decine o centinaia di target, aggiungi "mode": "async" al corpo: ricevi subito un job_id ed esegui il polling su GET https://api.everyinfra.com/api/v1/jobs/{job_id} per ottenere il risultato.
- In caso di 422, correggi la richiesta usando i nomi dei parametri e i valori consentiti suggeriti nell'errore; in caso di 429 o 503, attendi il tempo indicato da Retry-After e riprova.
Prima di scrivere il codice, chiedimi quali target mi servono, quanti, quali campi e quale formato di output voglio; poi conferma con me il piano e il costo indicativo.Parametri della richiesta
#| Nome | Posizione | Tipo | Obbligatorio | Predefinito | Descrizione |
|---|---|---|---|---|---|
Authorization | header | string | Sì | - | Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice. |
platform | body | string | Sì | app_store | Identificativo della piattaforma, valore fisso. |
action | body | string | Sì | reviews | Identificativo della funzionalità, valore fisso. |
app_id | body.params | string | Sì | - | Specifica l'identificatore numerico dell'app di Apple, ad esempio le cifre dopo id nel link di un'app. Puoi passare anche l'URL completo di un'app dell'App Store e la piattaforma estrarrà l'ID numerico. Non passare un Bundle ID nel formato com.example.app. |
country | body.params | string | No | - | Seleziona lo storefront dell'App Store per search, profile e reviews con un codice paese di due lettere minuscole, ad esempio us, cn o jp. Il valore predefinito è us. Cambia lo storefront interrogato, non la regione dell'account né l'addebito di EveryInfra. |
sort | body.params | string (enum) | No | - | Specifica l'ordine di visualizzazione delle recensioni dell'App Store: newest per le più recenti o most_helpful per le più utili. Se omesso, l'azione reviews usa newest. Questo parametro non filtra i posizionamenti nella ricerca delle app né le valutazioni in stelle; non fare affidamento su di esso per modificare i risultati delle richieste search o profile.Valori consentitimost_helpfulnewest |
limit | body.params | integer (1–500) | No | 30 | Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 500. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. I valori più alti restituiscono 422 prima di qualsiasi addebito. |
Esempi di codice
#curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "app_store",
"action": "reviews",
"params": {
"app_id": "389801252"
}
}'Definizione OpenAPI (JSON)Gli esempi leggono la chiave dalla variabile d'ambiente EVERYINFRA_API_KEY; il codice copiato non contiene mai la tua chiave.
Esempio di risposta
#{ "id": "req_…", "platform": "app_store", "action": "reviews", "results": [ { "id": "•••", "title": "Questionable security and no human being to talk to about it!", "text": "I wouldn’t be writing this review, if I had been capable of talking to actual person! In the middle of the night, while I was asleep, someone succeeded at hacking into one of my Instagram accounts…after only two failed attempts! At the time of the first two attempts, which, again…", "rating": 5, "author": "•••", "helpful_count": 0, "posted_at": "2025-12-21T18:38:52+00:00", "app_id": 389801252, "app_name": "Instagram", "platform": "app_store", "rating_scale": 5 }, { "id": "•••", "title": "Creative and User-Enhancing Suggestions", "text": "Dear Instagram Developers, I hope this message finds you well. I am writing to offer a few suggestions that I believe would greatly benefit and enhance the functionality of Instagram. Firstly, I propose the inclusion of a feature that would allow users to add music to their profi…", "rating": 5, "author": "•••", "helpful_count": 0, "posted_at": "2024-07-01T07:45:47+00:00", "app_id": 389801252, "app_name": "Instagram", "platform": "app_store", "rating_scale": 5 } ], "count": 10, "billing": { "charged": …, "charged_usd": …, "balance_after_usd": …, … }, "quota": { … }}
Campi della risposta
#I dati di business si trovano in results. La tabella elenca i campi che un record può contenere; i valori che la piattaforma non mostra non vengono mai inventati.
| Campo | Significato |
|---|---|
id | ID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse. |
title | Titolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo). |
text | Testo del contenuto senza HTML, restituito per intero e mai troncato (su alcune piattaforme i risultati degli elenchi contengono solo un estratto; lo indicano le note sui campi della piattaforma). |
rating | Valutazione. La scala varia in base alla piattaforma: rating_scale nella stessa riga indica il valore massimo (di solito 5; Booking, Douban, iQIYI e NAVER usano 10). Converti con rating_scale prima di confrontare piattaforme diverse, altrimenti il confronto può risultare invertito. |
rating_scale | Valore massimo di rating nella stessa riga: 5 per le scale a cinque stelle, 10 per quelle a dieci punti. Presente solo se la riga ha una valutazione. |
author | Mantiene il significato attribuito dalla piattaforma |
app_version | Mantiene il significato attribuito dalla piattaforma |
helpful_count | Mantiene il significato attribuito dalla piattaforma |
posted_at | Data e ora di pubblicazione in formato ISO 8601, UTC (ad esempio 2026-08-07T12:34:56+00:00). Le stringhe non standard della piattaforma vengono passate così come sono, quindi esegui il parsing in modo difensivo. null significa che la piattaforma non le rende note. |
app_id | Mantiene il significato attribuito dalla piattaforma |
app_name | Mantiene il significato attribuito dalla piattaforma |
platform | Identificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok). |
Errori e addebiti
#- 401
- Chiave mancante o non valida.
- 402
- Saldo insufficiente. Effettua prima una ricarica.
- 422
- Nome o valore del parametro non valido. Correggilo seguendo i suggerimenti dell'errore. Nessun addebito.
- 429
- Raggiunto il limite di richieste al minuto. Attendi il tempo indicato da Retry-After, poi riprova.
- 503
- Impossibile completare. L'importo trattenuto torna sul tuo saldo. Se l'esito è incerto, verificalo prima di riprovare.
- Risposta 200 vuota
- Nessun dato. Nessun addebito.
Riferimenti ufficiali
#Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.
- Apple: informazioni sull'app in App Store Connect ↗
Apple definisce separatamente l'Apple ID e il Bundle ID di un'app; l'Apple ID compare anche negli URL delle app sull'App Store.
Verificato il 2026-09-04