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
| Bidang | Tipe | Wajib | Arti |
|---|---|---|---|
query | string | Ya | Teks pencarian, 1–1.000 karakter |
query_type | string | Tidak | Latest (default) atau Top |
limit | integer | Tidak | 1–1.000; implementasi saat ini menggunakan setidaknya 20, dengan default 20 |
cursor | string | Tidak | Cursor paginasi, hingga 4.000 karakter |
since_time | integer or string | Tidak | Waktu mulai; gunakan detik Unix untuk nilai numerik yang tidak ambigu |
until_time | integer or string | Tidak | Waktu 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.
- Kirim permintaan pertama tanpa
cursor. - Baca
has_nextdannext_cursordari respons. Untuk balasan, baca pada setiap entri hasil. - Jika ada halaman lain dan cursor tidak kosong, kirim ulang tanpa perubahan dengan kueri yang sama. Untuk batch balasan, lanjutkan setiap post secara terpisah.
- 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.