Felo API PlatformFelo API Platform

Ricerca post Felo X

Provider: Felo · Pagato con il saldo della piattaforma

Scegli l'operazione per i dati di cui hai bisogno. Tutti e cinque gli endpoint usano POST e restituiscono JSON alla radice, senza un wrapper comune data.

Tutti gli esempi usano FELO_API_KEY dalla panoramica. Le chiamate usano il saldo della piattaforma, non i crediti Felo Pro. Gli esempi di risposta sono illustrativi; il contenuto live e i campi opzionali variano.

4. Cerca post

POST /api/v1/data/x/tweet/search

CampoTipoObbligatorioSignificato
querystringSìTesto di ricerca, 1–1.000 caratteri
query_typestringNoLatest (predefinito) o Top
limitintegerNo1–1.000; l'implementazione attuale usa almeno 20, con predefinito 20
cursorstringNoCursor di paginazione, fino a 4.000 caratteri
since_timeinteger or stringNoOra di inizio; usa secondi Unix per un valore numerico non ambiguo
until_timeinteger or stringNoOra di fine; usa secondi Unix, non millisecondi
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/tweet/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"retrieval augmented generation","query_type":"Latest","limit":20}'

La risposta contiene tweets, total, has_next e next_cursor. Gli oggetti post includono id, content, author, created_at e metrics; risposte e post citati/ritwittati possono essere annidati. Tratta gli ID come stringhe.

Limiti del numero di risultati

limit è un obiettivo, non una garanzia. L'implementazione attuale usa un obiettivo di almeno 20: un obiettivo di 20 legge una pagina upstream; obiettivi più grandi recuperano automaticamente fino a 50 pagine. Il tempo trascorso viene controllato prima di ogni pagina e non vengono recuperate altre pagine una volta superati 60 secondi. Una richiesta upstream in corso può comunque richiedere tempo, quindi questo non è un timeout HTTP complessivo.

La raccolta si interrompe anche quando l'obiettivo viene raggiunto, l'upstream non ha una pagina successiva, una pagina è vuota o il cursor manca. Restituire meno di limit post non significa che la richiesta sia fallita o che ogni post corrispondente sia stato recuperato. Controlla has_next e next_cursor prima di continuare.

{
  "tweets": [{
    "id":"example-post-id",
    "content":"Example post content",
    "author":{"user_id":"example-user-id","username":"example","display_name":"Example"},
    "created_at":"2026-11-01T00:00:00Z",
    "metrics":{},
    "replies":[]
  }],
  "total":1,
  "has_next":false,
  "next_cursor":null
}

Paginazione e controllo dei costi

total conta l'array corrispondente nella risposta corrente: post di primo livello per le query sui post, o risposte all'interno di ciascuna voce risultato per le query sulle risposte. Non è un conteggio globale delle corrispondenze, né il conteggio completo delle risposte di un post, né il conteggio finale fatturabile.

  1. Invia la prima richiesta senza cursor.
  2. Leggi has_next e next_cursor dalla risposta. Per le risposte, leggili in ogni voce risultato.
  3. Se esiste un'altra pagina e il cursor non è vuoto, invialo invariato con la stessa query. Per un batch di risposte, continua separatamente per ogni post.
  4. Fermati quando non c'è più una pagina successiva, quando un cursor si ripete o quando raggiungi il tuo limite di pagine o di spesa.

I metadati di paginazione riflettono l'ultima risposta upstream; la raccolta restituita può essere troncata da un limite di risultati. Anche has_next=false non garantisce che tutta la cronologia X o tutte le risposte siano state recuperate. Mostra il conteggio effettivo restituito invece di etichettare un insieme di risultati limitato come tutti i dati disponibili.

Ogni pagina riuscita può comportare un addebito. Queste cinque operazioni sono fatturate in base ai risultati restituiti, non con una tariffa fissa per richiesta. Le risposte annidate e altri record restituiti possono influire sul conteggio fatturato; non stimare il costo solo dalla lunghezza dell'array di primo livello. Controlla i prezzi attuali e l'utilizzo nella console. I campi completi degli oggetti sono nello schema OpenAPI.

Serve aiuto?