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

Scopri di cosa si lamentano gli utenti su Reddit riguardo a un prodotto o a un argomento in keyword. Una riga di riepilogo riporta post e commenti letti, numero di commenti negativi e positivi, le parole di critica e di apprezzamento più ripetute e le community coinvolte, seguita dai post principali e dai commenti negativi con più upvote, per intero. Critiche e apprezzamenti sono determinati da un elenco di parole, quindi considera i conteggi come indicazioni approssimative. limit imposta quanti post analizzare (da 2 a 15).

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su reddit e action impostato su painpoint. Prezzo $72 per 1.000 richieste ($0.072 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 Reddit Pain point di EveryInfra (reddit/painpoint).

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 reddit e action su painpoint, e inserisci i parametri in params.
- Parametri obbligatori:
  - keyword: Un prodotto o un argomento da analizzare, ad esempio standing desk. Serve a trovare discussioni su Reddit i cui commenti vengono poi analizzati; non è una ricerca nei commenti.
- Parametri facoltativi:
  - sort: Come vengono scelte le discussioni da analizzare: relevance (predefinito), popular, top, newest o most_commented. Prova top quando una keyword molto specifica non restituisce nulla. (valori consentiti: most_commented / newest / popular / relevance / top)
  - limit: Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 15. Se lo ometti, viene applicato il valore predefinito; una chiamata può restituire meno righe. (predefinito: 5)
- Restituisce un elenco di record. Campi principali di ogni record: row_type (Tipo di riga (painpoint): summary (una…), posts_scanned (Discussioni trovate per la parola chiav…), posts_analyzed (Discussioni di cui sono stati letti e c…), comments_collected (Commenti conteggiati (riga summary di p…), negative_comment_count (Commenti giudicati negativi (riga summa…), positive_comment_count (Commenti giudicati positivi dallo stess…), pain_keywords (Parole più ripetute nei commenti negati…), praise_keywords (Parole più ripetute nei commenti positi…), communities (Subreddit da cui provengono le discussi…), id, title, url; 18 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=reddit.
- Esempio di corpo della richiesta:
{
  "platform": "reddit",
  "action": "painpoint",
  "params": {
    "keyword": "standing desk"
  }
}
- Prezzo: $72 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ìredditIdentificativo della piattaforma, valore fisso.
actionbodystringSìpainpointIdentificativo della funzionalità, valore fisso.
keywordbody.paramsstringSì-Un prodotto o un argomento da analizzare, ad esempio standing desk. Serve a trovare discussioni su Reddit i cui commenti vengono poi analizzati; non è una ricerca nei commenti.
sortbody.paramsstring (enum)No-Come vengono scelte le discussioni da analizzare: relevance (predefinito), popular, top, newest o most_commented. Prova top quando una keyword molto specifica non restituisce nulla.Valori consentitimost_commentednewestpopularrelevancetop
limitbody.paramsinteger (1–15)No5Numero massimo di righe da restituire in questa chiamata: un intero da 1 a 15. 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": "reddit",
  "action": "painpoint",
  "params": {
    "keyword": "standing desk"
  }
}'

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 November 7, 2026 at 14:47 (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": "reddit",  "action": "painpoint",  "results": [    {      "row_type": "summary",      "posts_scanned": 7,      "posts_analyzed": 5,      "comments_collected": 38,      "negative_comment_count": 6,      "positive_comment_count": 9,      "pain_keywords": [        {          "word": "good",          "count": 3        },        {          "word": "far",          "count": 3        },        {          "word": "i'm",          "count": 2        }      ],      "praise_keywords": [        {          "word": "position",          "count": 3        },        {          "word": "sitting",          "count": 3        },        {          "word": "back",          "count": 3        }      ],      "communities": [        "BuyItForLife",        "StandingDesk",        "StandingDesks"      ],      "platform": "reddit"    },    {      "row_type": "post",      "id": "t3_1ntedtv",      "title": "Do standing desks actually help or are they overrated?",      "url": "https://www.reddit.com/r/BuyItForLife/comments/1ntedtv/do_standing_desks_actually_help_or_are_they/",      "community": "BuyItForLife",      "like_count": 173,      "comment_count": 204,      "platform": "reddit"    }  ],  "count": 11,  "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
row_typeTipo di riga (painpoint): summary (una per chiamata), post (una discussione analizzata) o pain_comment (uno dei commenti negativi con più upvote, per intero).
posts_scannedDiscussioni trovate per la parola chiave ed esaminate (riga summary di painpoint).
posts_analyzedDiscussioni di cui sono stati letti e conteggiati i commenti (riga summary di painpoint), al massimo limit.
comments_collectedCommenti conteggiati (riga summary di painpoint); vengono letti solo i commenti di primo livello di quelle discussioni.
negative_comment_countCommenti giudicati negativi (riga summary di painpoint). La classificazione si basa su un elenco di parole: devono essere presenti parole negative e nessuna parola positiva. È un conteggio approssimativo, non un tasso di insoddisfazione.
positive_comment_countCommenti giudicati positivi dallo stesso elenco di parole (riga summary di painpoint); un conteggio approssimativo.
pain_keywordsParole più ripetute nei commenti negativi, ciascuna con word e count, a partire dalla più frequente (riga summary di painpoint). È una semplice frequenza delle parole, quindi possono comparire parole comuni come any o it's; non è un elenco curato di problemi.
praise_keywordsParole più ripetute nei commenti positivi, ciascuna con word e count, a partire dalla più frequente (riga summary di painpoint).
communitiesSubreddit da cui provengono le discussioni, senza il prefisso r/ (riga summary di painpoint).
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
titleTitolo. null quando la piattaforma non prevede titoli (ad esempio post di solo testo).
urlLink al record sulla piattaforma.
communityMantiene il significato attribuito dalla piattaforma
like_countLike. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0.
comment_countCommenti. null significa non resi noti, non 0.
textTesto 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).
author_usernameUsername dell'autore (@handle), di solito utilizzabile negli URL.
post_titleTitolo del post in cui è stato lasciato il commento (user_comments; righe pain_comment di painpoint).

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