Felo X Gönderi Arama
Sağlayıcı: Felo · Platform bakiyesinden ödenir
İhtiyacınız olan veri için işlemi seçin. Beş uç noktanın tamamı POST kullanır ve ortak bir data sarmalayıcısı olmadan JSON’u kökte döndürür.
Tüm örnekler genel bakış içindeki FELO_API_KEY’i kullanır. Çağrılar Felo Pro kredilerini değil, platform bakiyesini kullanır. Yanıt örnekleri açıklayıcıdır; canlı içerik ve isteğe bağlı alanlar değişebilir.
4. Gönderileri arayın
POST /api/v1/data/x/tweet/search
| Alan | Tür | Gerekli | Anlamı |
|---|---|---|---|
query | string | Evet | Arama metni, 1–1.000 karakter |
query_type | string | Hayır | Latest (varsayılan) veya Top |
limit | integer | Hayır | 1–1.000; mevcut uygulama en az 20 kullanır, varsayılan 20’dir |
cursor | string | Hayır | Sayfalama cursor’ı, en fazla 4.000 karakter |
since_time | integer or string | Hayır | Başlangıç zamanı; belirsiz olmayan sayısal bir değer için Unix saniyelerini kullanın |
until_time | integer or string | Hayır | Bitiş zamanı; milisaniye değil, Unix saniyelerini kullanın |
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}'Yanıt tweets, total, has_next ve next_cursor içerir. Gönderi nesneleri id, content, author, created_at ve metrics içerir; yanıtlar ve alıntılanmış/yeniden gönderilmiş gönderiler iç içe olabilir. Kimlikleri string olarak ele alın.
Sonuç sayısı sınırları
limit bir hedeftir, garanti değildir. Mevcut uygulama en az 20’lik bir hedef kullanır: 20’lik bir hedef bir üst akış sayfası okur; daha büyük hedefler otomatik olarak 50 sayfaya kadar getirir. Her sayfadan önce geçen süre kontrol edilir ve 60 saniyeyi aştığında daha fazla sayfa getirilmez. Devam eden bir üst akış isteği yine de zaman alabilir; bu nedenle bu, genel bir HTTP zaman aşımı değildir.
Toplama ayrıca hedefe ulaşıldığında, üst akışta sonraki sayfa olmadığında, bir sayfa boş olduğunda veya cursor eksik olduğunda durur. limit değerinden daha az gönderi dönmesi, isteğin başarısız olduğu veya tüm eşleşen gönderilerin alındığı anlamına gelmez. Devam etmeden önce has_next ve next_cursor kontrol edin.
{
"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
}Sayfalama ve maliyet kontrolü
total, geçerli yanıttaki ilgili diziyi sayar: gönderi sorguları için üst düzey gönderiler veya yanıt sorguları için her sonuç girdisindeki yanıtlar. Bu, genel bir eşleşme sayısı, bir gönderinin tam yanıt sayısı ya da nihai faturalandırılabilir sayı değildir.
- İlk isteği
cursorolmadan gönderin. - Yanıttan
has_nextvenext_cursordeğerlerini okuyun. Yanıtlar için, bunları her sonuç girdisinde okuyun. - Başka bir sayfa varsa ve cursor boş değilse, aynı sorguyla değiştirmeden gönderin. Bir yanıt toplu isteği için her gönderi için ayrı ayrı devam edin.
- Sonraki sayfa yoksa, bir cursor tekrar ederse veya kendi sayfa ya da harcama sınırınıza ulaşıldıysa durun.
Sayfalama meta verileri, son üst akış yanıtını yansıtır; dönen koleksiyon sonuç sınırında kesilmiş olabilir. has_next=false olması bile tüm X geçmişinin veya yanıtlarının alındığının garantisi değildir. Sınırlı bir sonuç kümesini mevcut tüm veri olarak etiketlemek yerine, gerçek dönen sayıyı gösterin.
Her başarılı sayfa bir ücret oluşturabilir. Bu beş işlem dönen sonuçlara göre faturalandırılır, sabit bir istek ücretiyle değil. İç içe yanıtlar ve diğer dönen kayıtlar, faturalandırılan sayımı etkileyebilir; maliyeti yalnızca üst düzey dizinin uzunluğuna göre tahmin etmeyin. Güncel fiyatları ve konsoldaki kullanımı kontrol edin. Tam nesne alanları OpenAPI şemasında yer alır.