Felo API PlatformFelo API Platform

Pencarian Postingan Felo X

Penyedia: Felo · Dibayar dengan saldo platform

Pilih operasi untuk data yang Anda butuhkan. Kelima endpoint menggunakan POST dan mengembalikan JSON di root, tanpa pembungkus data bersama.

Semua contoh menggunakan FELO_API_KEY dari gambaran umum. Panggilan menggunakan saldo platform, bukan kredit Felo Pro. Contoh respons bersifat ilustratif; konten langsung dan bidang opsional bervariasi.

4. Cari postingan

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

BidangTipeWajibArti
querystringYaTeks pencarian, 1–1.000 karakter
query_typestringTidakLatest (default) atau Top
limitintegerTidak1–1.000; implementasi saat ini menggunakan setidaknya 20, dengan default 20
cursorstringTidakCursor paginasi, hingga 4.000 karakter
since_timeinteger or stringTidakWaktu mulai; gunakan detik Unix untuk nilai numerik yang tidak ambigu
until_timeinteger or stringTidakWaktu akhir; gunakan detik Unix, bukan milidetik
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}'

Respons berisi tweets, total, has_next, dan next_cursor. Objek post mencakup id, content, author, created_at, dan metrics; balasan serta post yang dikutip/di-retweet dapat bersarang. Perlakukan ID sebagai string.

Batas jumlah hasil

limit adalah target, bukan jaminan. Implementasi saat ini menggunakan target minimal 20: target 20 membaca satu halaman upstream; target yang lebih besar otomatis mengambil hingga 50 halaman. Waktu berlalu diperiksa sebelum setiap halaman, dan tidak ada halaman tambahan yang diambil setelah melebihi 60 detik. Permintaan upstream yang sedang berlangsung masih dapat memakan waktu, jadi ini bukan batas waktu HTTP secara keseluruhan.

Pengumpulan juga berhenti ketika target tercapai, upstream tidak memiliki halaman berikutnya, sebuah halaman kosong, atau cursor tidak ada. Mengembalikan postingan lebih sedikit daripada limit tidak berarti permintaan gagal atau setiap postingan yang cocok telah diambil. Periksa has_next dan next_cursor sebelum melanjutkan.

{
  "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
}

Paginasi dan pengendalian biaya

total menghitung array yang bersesuaian dalam respons saat ini: postingan tingkat atas untuk kueri post, atau balasan di dalam setiap entri hasil untuk kueri balasan. Ini bukan jumlah kecocokan global, bukan jumlah balasan lengkap sebuah post, dan bukan jumlah billable final.

  1. Kirim permintaan pertama tanpa cursor.
  2. Baca has_next dan next_cursor dari respons. Untuk balasan, baca pada setiap entri hasil.
  3. Jika ada halaman lain dan cursor tidak kosong, kirim ulang tanpa perubahan dengan kueri yang sama. Untuk batch balasan, lanjutkan setiap post secara terpisah.
  4. Hentikan ketika tidak ada halaman berikutnya, ketika cursor berulang, atau ketika batas halaman atau pengeluaran Anda sendiri tercapai.

Metadata paginasi mencerminkan respons upstream terakhir; koleksi yang dikembalikan dapat dipotong pada batas hasil. Bahkan has_next=false bukan jaminan bahwa semua histori X atau balasan telah diambil. Tampilkan jumlah aktual yang dikembalikan, bukan memberi label kumpulan hasil terbatas sebagai semua data yang tersedia.

Setiap halaman sukses dapat menimbulkan biaya. Kelima operasi ini ditagihkan berdasarkan hasil yang dikembalikan, bukan biaya permintaan tetap. Balasan bertingkat dan rekaman lain yang dikembalikan dapat memengaruhi jumlah yang ditagihkan; jangan perkirakan biaya hanya dari panjang array tingkat atas. Periksa harga terkini dan penggunaan di konsol. Bidang objek lengkap ada di skema OpenAPI.

Butuh bantuan?