POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
Normale
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Normale

Ultime 24 ore

Ultimi 30 giorni

Cerca nell'App Store per nome o categoria dell'app. Ottieni per ogni app ID, bundle ID, sviluppatore, versione, prezzo, valutazioni e date di rilascio. Scegli lo store con country (USA di default). Download, ricavi e storico del posizionamento per parola chiave non sono inclusi.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su app_store e action impostato su search. 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 Ricerca di EveryInfra (app_store/search).

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 search, e inserisci i parametri in params.
- Parametri obbligatori:
  - keyword: Specifica i termini di ricerca dell'App Store, ad esempio habit tracker o il titolo di un'app, non un Bundle ID.
- 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.
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 20)
- Restituisce un elenco di record. Campi principali di ogni record: app_id, name, url, bundle_id, developer, developer_id, developer_url, description, release_notes, version, price, currency; 28 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=app_store.
- Esempio di corpo della richiesta:
{
  "platform": "app_store",
  "action": "search",
  "params": {
    "keyword": "habit tracker"
  }
}
- 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

#
NomePosizioneTipoObbligatorioPredefinitoDescrizione
AuthorizationheaderstringSì-Bearer seguito dalla tua chiave API. Creala nella console; non inserirla mai in un URL o in un repository di codice.
platformbodystringSìapp_storeIdentificativo della piattaforma, valore fisso.
actionbodystringSìsearchIdentificativo della funzionalità, valore fisso.
keywordbody.paramsstringSì-Specifica i termini di ricerca dell'App Store, ad esempio habit tracker o il titolo di un'app, non un Bundle ID. Per le successive richieste di dettagli e recensioni dell'app usa l'app_id numerico restituito nei risultati di ricerca.
countrybody.paramsstringNo-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.
limitbody.paramsinteger (1–200)No20Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 200. 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

#
bash
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": "search",
  "params": {
    "keyword": "habit tracker"
  }
}'

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

#
Acquisita il September 26, 2026 at 08:56 (UTC) chiamando questa API con i parametri dell'esempio di codice qui sopra. results e count sono la risposta reale di quella chiamata, da cui sono state rimosse le informazioni personali (nomi, handle, avatar, link ai profili, recapiti); l'elenco conserva i primi 2. id, billing e quota cambiano a ogni chiamata, quindi ne viene mostrata solo la struttura.
json
{  "id": "req_…",  "platform": "app_store",  "action": "search",  "results": [    {      "app_id": 1438388363,      "name": "Habit Tracker",      "url": "https://apps.apple.com/us/app/habit-tracker/id1438388363?uo=4",      "bundle_id": "com.davetech.habit",      "developer": "InnerGrow",      "developer_url": "https://apps.apple.com/us/developer/innergrow/id1828382777?uo=4",      "description": "Habit Tracker: A simple daily planner to schedule and track your routine, making it easy to build lasting habits. \nJoin 15M+ happy users, achieve your goals, and make every day count!\nMore than a self-care companion, it lets you share with others to grow and improve together. \n\n-…",      "release_notes": "- add shortcut supports \n- add custom repeat interval \n- fix bugs\n----- Beta Tester needed -----\nIf you want to help us to test new version, contact us: •••\nIf your widget is not working, restart your iPhone.\nOur IG: Tiny Useful Apps",      "version": "2.14.23",      "price": 0,      "currency": "USD",      "formatted_price": "Free",      "rating": 4.79,      "rating_count": 147260,      "current_version_rating_count": 147260,      "content_rating": "4+",      "category": "Productivity",      "icon_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/d3/ef/00/d3ef00c2-9b1c-b5ef-0464-2e08231b80de/AppIcon-pink-gr-0-0-1x_U007epad-0-1-0-sRGB-85-220.png/512x512bb.jpg",      "min_os": "15.0",      "file_size_bytes": 339836928,      "released_at": "2019-01-31T09:10:14+00:00",      "updated_at": "2026-08-15T15:18:18+00:00",      "platform": "app_store",      "genres": [        "Productivity",        "Health & Fitness"      ],      "languages": [        "EN",        "FR",        "DE"      ],      "screenshot_urls": [        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/5c/b8/05/5cb8051e-e125-e84e-f0b5-2551b6e9d69d/_U767d1.jpg/320x480bb.jpg",        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/13/5d/32/135d32df-678d-5c7e-d940-4f16d5c4e396/_U767d2.jpg/320x480bb.jpg",        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/2e/a8/66/2ea866a0-2271-4d8a-e380-8386b935283f/_U767d3.jpg/320x480bb.jpg"      ],      "rating_scale": 5    },    {      "app_id": 6443918070,      "name": "Habit Tracker - HabitKit",      "url": "https://apps.apple.com/us/app/habit-tracker-habitkit/id6443918070?uo=4",      "bundle_id": "com.roehl.habitkit",      "developer": "Sebastian Roehl",      "developer_url": "https://apps.apple.com/us/developer/sebastian-roehl/id1602956482?uo=4",      "description": "Big life changes do not start big. They start with one small habit, done today, done again tomorrow. HabitKit turns those daily wins into a colorful grid of tiles, one square for every day you show up, so you can finally see yourself becoming the person you want to be.\n\nThat visi…",      "release_notes": "- Choose Yes/No, Count or Measure with decimals and custom units\n- Change habit types without losing history or streaks\n- At a Count goal above 1, tap to edit instead of clearing\n- New iOS Shortcuts to log amounts and notes, get progress and open habits; translated labels and cle…",      "version": "1.18.0",      "price": 0,      "currency": "USD",      "formatted_price": "Free",      "rating": 4.85,      "rating_count": 2430,      "current_version_rating_count": 2430,      "content_rating": "4+",      "category": "Productivity",      "icon_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/79/91/fe/7991fe78-b459-1397-205f-54525a639bde/NewAppIcon-0-0-1x_U007ephone-0-1-sRGB-85-220.png/512x512bb.jpg",      "min_os": "15.0",      "file_size_bytes": 230910976,      "released_at": "2022-11-26T08:00:00+00:00",      "updated_at": "2026-09-21T08:40:41+00:00",      "platform": "app_store",      "genres": [        "Productivity"      ],      "languages": [        "AR",        "BE",        "CA"      ],      "screenshot_urls": [        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/cb/27/c1/cb27c143-49f7-12ba-a1f1-68fd4caf0634/Apple_iPhone_11_Pro_Max_Screenshot_0.png/320x480bb.jpg",        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/18/ba/4e/18ba4eac-d29a-94ae-88a5-92204e14eb24/Apple_iPhone_11_Pro_Max_Screenshot_1.png/320x480bb.jpg",        "https://is1-ssl.mzstatic.com/image/thumb/PurpleSource221/v4/23/59/4e/23594e53-c451-7772-0dbb-7cd58b8470bb/Apple_iPhone_11_Pro_Max_Screenshot_2.png/320x480bb.jpg"      ],      "rating_scale": 5    }  ],  "count": 18,  "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.

CampoSignificato
app_idMantiene il significato attribuito dalla piattaforma
nameNome dell'oggetto stesso, per le funzionalità relative ad account, prodotti e attività.
urlLink al record sulla piattaforma.
bundle_idMantiene il significato attribuito dalla piattaforma
developerMantiene il significato attribuito dalla piattaforma
developer_idMantiene il significato attribuito dalla piattaforma
developer_urlMantiene il significato attribuito dalla piattaforma
descriptionRiepilogo o descrizione, di solito più breve di text.
release_notesMantiene il significato attribuito dalla piattaforma
versionMantiene il significato attribuito dalla piattaforma
pricePrezzo come numero senza simbolo di valuta; vedi currency.
currencyCodice valuta del prezzo (ad esempio CNY, USD). Se price è presente ma currency è null, non dare per scontata una valuta.
formatted_priceMantiene il significato attribuito dalla piattaforma
ratingValutazione. 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_scaleValore 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.
rating_countNumero di persone che hanno espresso una valutazione. null significa non reso noto, non 0.
current_version_ratingMantiene il significato attribuito dalla piattaforma
current_version_rating_countMantiene il significato attribuito dalla piattaforma
content_ratingMantiene il significato attribuito dalla piattaforma
categoryNome della categoria secondo la tassonomia della piattaforma, non normalizzato tra piattaforme.
icon_urlMantiene il significato attribuito dalla piattaforma
min_osMantiene il significato attribuito dalla piattaforma
file_size_bytesMantiene il significato attribuito dalla piattaforma
released_atMantiene il significato attribuito dalla piattaforma
updated_atMantiene il significato attribuito dalla piattaforma
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
genresMantiene il significato attribuito dalla piattaforma
languagesMantiene il significato attribuito dalla piattaforma
screenshot_urlsMantiene il significato attribuito dalla piattaforma

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.

Errori

Le nostre statistiche di visita interne sono sempre attive. Google Analytics viene caricato solo se scegli «Consenti analisi». Informativa sulla privacy