API X (Twitter) Post dell'utente

POST

Stato di salute dell'API

Operatività nelle ultime 24 ore
100%
Tempo medio nelle ultime 24 ore
11.72 s
  • Buono / normale
  • Disponibile
  • Limitato
  • Quasi del tutto inattivo
Buono

Ultime 24 ore

Ultimi 30 giorni

Estrai i post di un account X (Twitter) con like, repost, risposte e visualizzazioni di ciascuno, più l'ora di pubblicazione. Un batch potrebbe non contenere tutti i post, le risposte o i repost, e i messaggi privati non sono mai inclusi.

Invia POST https://api.everyinfra.com/api/v1/social con platform impostato su twitter e action impostato su user_posts. Prezzo $0.56 per 1.000 richieste ($0.000556 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.

X (Twitter) Posts by user legge i post pubblici di un account X, a partire dall'handle dell'account in username. Per ogni post ottieni il testo completo, link e ID, il numero di Mi piace, repost, risposte e visualizzazioni, la data di pubblicazione e l'handle, il nome visualizzato, il link al profilo e il numero di follower dell'autore. Team di comunicazione, ricercatori e analisti lo usano per vedere cosa ha detto un account e quali post hanno avuto successo: seguire le dichiarazioni di un personaggio pubblico o di un brand, confrontare l'engagement con quello dei concorrenti o archiviare la produzione di un account per analisi successive.

Indica l'account con il suo handle, con o senza @, non con il link al profilo. retweet_count conta i repost e reply_count le risposte, e insieme a like_count sono le misure di engagement da confrontare. posted_at è un orario ISO 8601 in UTC. Fai il parsing in modo difensivo, perché una stringa non standard della piattaforma viene restituita così com'è.

Prompt per l'AI

#
Aiutami a scrivere uno script di raccolta dei dati con l'endpoint X (Twitter) Post dell'utente di EveryInfra (twitter/user_posts).

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 twitter e action su user_posts, e inserisci i parametri in params.
- Parametri obbligatori:
  - username: Nome utente X, anche con prefisso @, senza inserire l'URL completo del profilo. profile compone i dati a partire dai dettagli dell'autore nei post recenti.
- Parametri facoltativi:
  - 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: id, url, text, like_count, retweet_count, reply_count, view_count, posted_at, author_username, author_name, author_url, author_follower_count; 37 campi in totale, elenco completo su https://api.everyinfra.com/api/v1/social/catalog?platform=twitter.
- Esempio di corpo della richiesta:
{
  "platform": "twitter",
  "action": "user_posts",
  "params": {
    "username": "nasa"
  }
}
- Prezzo: $0.56 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ìtwitterIdentificativo della piattaforma, valore fisso.
actionbodystringSìuser_postsIdentificativo della funzionalità, valore fisso.
usernamebody.paramsstringSì-Nome utente X, anche con prefisso @, senza inserire l'URL completo del profilo. profile compone i dati a partire dai dettagli dell'autore nei post recenti; followers_list e following_list recuperano rispettivamente i follower e gli account seguiti visibili.
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": "twitter",
  "action": "user_posts",
  "params": {
    "username": "nasa"
  }
}'

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": "twitter",  "action": "user_posts",  "results": [    {      "id": "•••",      "url": "https://x.com/NASA/status/2103610284464316469",      "text": "With @•••, we’ll provide an update on Starliner development and plans for regular crew flights to and from the @••• Watch live Monday, Sept. 28 at 3pm ET: https://t.co/bxg2gpZzog https://t.co/OJaD49OyHh",      "like_count": 2460,      "retweet_count": 312,      "reply_count": 119,      "view_count": 558723,      "posted_at": "Fri Sep 25 22:19:09 +0000 2026",      "author_username": "NASA",      "author_name": "NASA",      "author_url": "https://x.com/•••",      "author_follower_count": 92375074,      "platform": "twitter"    },    {      "id": "•••",      "url": "https://x.com/NASA/status/2103589735449141451",      "text": "@••• 🤭",      "like_count": 61,      "retweet_count": 1,      "reply_count": 7,      "view_count": 5641,      "posted_at": "Fri Sep 25 20:57:30 +0000 2026",      "author_username": "NASA",      "author_name": "NASA",      "author_url": "https://x.com/•••",      "author_follower_count": 92375074,      "platform": "twitter"    }  ],  "count": 20,  "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
idID univoco del record sulla piattaforma. È univoco solo all'interno di una piattaforma; gli ID possono ripetersi tra piattaforme diverse.
urlLink al record sulla piattaforma.
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).
like_countLike. null significa che la piattaforma o questa funzionalità non li rende noti; non equivale a 0.
retweet_countMantiene il significato attribuito dalla piattaforma
reply_countRisposte, di solito a un commento. null significa non rese note.
view_countVisualizzazioni o riproduzioni. null significa non rese note, non 0.
posted_atData 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.
author_usernameUsername dell'autore (@handle), di solito utilizzabile negli URL.
author_nameNome visualizzato dell'autore.
author_urlLink al profilo dell'autore sulla piattaforma.
author_follower_countNumero di follower dell'autore. null significa non reso noto.
quote_countMantiene il significato attribuito dalla piattaforma
bookmark_countMantiene il significato attribuito dalla piattaforma
languageCodice della lingua del contenuto (ad esempio zh, en) secondo la piattaforma; può essere errato.
conversation_idMantiene il significato attribuito dalla piattaforma
is_replyMantiene il significato attribuito dalla piattaforma
is_quoteMantiene il significato attribuito dalla piattaforma
is_repostMantiene il significato attribuito dalla piattaforma
is_pinnedMantiene il significato attribuito dalla piattaforma
reply_to_idMantiene il significato attribuito dalla piattaforma
reply_to_user_idMantiene il significato attribuito dalla piattaforma
reply_toMantiene il significato attribuito dalla piattaforma
sourceMantiene il significato attribuito dalla piattaforma
mediaMantiene il significato attribuito dalla piattaforma
hashtagsHashtag presenti nel testo, in ordine di apparizione; assente se non ce ne sono.
mentionsMantiene il significato attribuito dalla piattaforma
linksMantiene il significato attribuito dalla piattaforma
author_idID univoco dell'autore sulla piattaforma.
author_avatar_urlMantiene il significato attribuito dalla piattaforma
author_bioMantiene il significato attribuito dalla piattaforma
author_is_verifiedMantiene il significato attribuito dalla piattaforma
author_following_countMantiene il significato attribuito dalla piattaforma
author_post_countMantiene il significato attribuito dalla piattaforma
author_media_countMantiene il significato attribuito dalla piattaforma
author_created_atMantiene il significato attribuito dalla piattaforma
author_banner_urlMantiene il significato attribuito dalla piattaforma
platformIdentificativo della piattaforma di origine, uguale a platform nella richiesta (ad esempio xiaohongshu, tiktok).

FAQ

#

Perché view_count è null in alcuni post?

#

Null significa che il numero di visualizzazioni di quel post non è stato reso pubblico, non che nessuno l'ha visto. Confronta questi post su like_count, retweet_count e reply_count ed escludili da qualsiasi media delle visualizzazioni, così i valori mancanti non la falsano.

Come leggo le risposte a uno di questi post?

#

Prendi il numero dopo /status/ nell'url della riga e passalo come ID del post alla funzionalità X (Twitter) Comments, che elenca le risposte a quel post. Conserva l'ID come testo: gli ID dei post di X sono più lunghi di quanto i numeri JavaScript possano rappresentare con esattezza, quindi convertirne uno in numero lo modifica.

Come confronto l'engagement tra account di dimensioni diverse?

#

Dividi like_count, retweet_count e reply_count per author_follower_count per ottenere l'engagement per follower, che mette sulla stessa scala un account grande e uno piccolo. Salva il numero di follower con ogni batch invece di riutilizzarne uno vecchio, perché il pubblico cambia tra una chiamata e l'altra.

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

Riferimenti ufficiali

#

Usati solo per verificare oggetti e terminologia. Non implicano alcuna autorizzazione o approvazione di EveryInfra da parte della piattaforma.

  • X: username / handle e nome visualizzato a confronto ↗

    X distingue l'handle dal nome visualizzato: l'handle forma l'identificativo @ e il link al profilo e, se viene cambiato, quello originale può essere rivendicato da altri. Quando archivi i dati, non affidarti solo ai nomi visualizzati o agli handle modificabili per verificare un'identità.

    Verificato il 2026-09-04

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