جستجوی پست X در Felo
ارائهدهنده: Felo · پرداخت با موجودی پلتفرم
عملیات مناسب برای دادهای را که نیاز دارید انتخاب کنید. هر پنج پایاننقطه از POST استفاده میکنند و JSON را در ریشه برمیگردانند، بدون یک پوشش مشترک data.
تمام نمونهها از FELO_API_KEY از نمای کلی استفاده میکنند. تماسها از موجودی پلتفرم استفاده میکنند، نه اعتبارات Felo Pro. نمونههای پاسخ صرفاً نمایشی هستند؛ محتوای زنده و فیلدهای اختیاری متفاوتاند.
4. جستجوی پستها
POST /api/v1/data/x/tweet/search
| فیلد | نوع | الزامی | معنا |
|---|---|---|---|
query | string | بله | متن جستجو، 1 تا 1,000 نویسه |
query_type | string | خیر | Latest (پیشفرض) یا Top |
limit | integer | خیر | 1 تا 1,000؛ پیادهسازی فعلی حداقل 20 را استفاده میکند، با پیشفرض 20 |
cursor | string | خیر | نشانگر صفحهبندی، تا 4,000 نویسه |
since_time | integer or string | خیر | زمان شروع؛ برای مقدار عددیِ بدون ابهام از ثانیههای یونیکس استفاده کنید |
until_time | integer or string | خیر | زمان پایان؛ از ثانیههای یونیکس استفاده کنید، نه میلیثانیه |
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}'پاسخ شامل tweets، total، has_next و next_cursor است. اشیای پست شامل id، content، author، created_at و metrics هستند؛ پاسخها و پستهای نقلقولشده/بازنشرشده ممکن است تودرتو باشند. شناسهها را بهصورت رشته در نظر بگیرید.
محدودیتهای تعداد نتیجه
limit یک هدف است، نه تضمین. پیادهسازی فعلی از هدفی حداقل 20 استفاده میکند: هدف 20 یک صفحه بالادستی را میخواند؛ اهداف بزرگتر بهطور خودکار تا 50 صفحه را واکشی میکنند. زمان سپریشده پیش از هر صفحه بررسی میشود و پس از فراتر رفتن از 60 ثانیه، صفحه دیگری واکشی نمیشود. یک درخواست بالادستی در حال اجرا هنوز میتواند زمان ببرد، بنابراین این یک زماناِتمام کلی HTTP نیست.
گردآوری همچنین وقتی هدف برآورده شود، صفحه بعدی بالادست وجود نداشته باشد، یک صفحه خالی باشد، یا cursor موجود نباشد متوقف میشود. بازگرداندن کمتر از limit پست به این معنا نیست که درخواست ناموفق بوده یا هر پست منطبق بازیابی شده است. پیش از ادامه، has_next و next_cursor را بررسی کنید.
{
"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
}صفحهبندی و کنترل هزینه
total آرایه متناظر را در پاسخ فعلی میشمارد: پستهای سطح بالا برای پرسوجوهای پست، یا پاسخها درون هر ورودی نتیجه برای پرسوجوهای پاسخ. این یک شمارش جهانیِ تطابقها، تعداد کامل پاسخهای یک پست، یا شمارش نهایی قابلصورتحساب نیست.
- درخواست اول را بدون
cursorبفرستید. has_nextوnext_cursorرا از پاسخ بخوانید. برای پاسخها، آنها را روی هر ورودی نتیجه بخوانید.- اگر صفحه دیگری وجود دارد و cursor خالی نیست، همان را بدون تغییر با همان پرسوجو بفرستید. برای یک دسته پاسخ، هر پست را جداگانه ادامه دهید.
- وقتی صفحه بعدی وجود ندارد، وقتی cursor تکرار میشود، یا وقتی سقف صفحه یا هزینه خودتان به پایان میرسد، متوقف شوید.
فراداده صفحهبندی نشاندهنده آخرین پاسخ بالادستی است؛ مجموعه بازگرداندهشده میتواند در یک سقف نتیجه کوتاه شود. حتی has_next=false نیز تضمین نمیکند که تمام تاریخچه X یا پاسخها بازیابی شدهاند. بهجای برچسبزدن یک مجموعه نتیجه محدود بهعنوان همه دادههای موجود، شمارش واقعی بازگرداندهشده را نمایش دهید.
هر صفحه موفق میتواند هزینهای در پی داشته باشد. این پنج عملیات بر اساس نتایج بازگرداندهشده صورتحساب میشوند، نه یک هزینه ثابت برای هر درخواست. پاسخهای تودرتو و سایر رکوردهای بازگرداندهشده میتوانند روی شمارش صورتحساب اثر بگذارند؛ هزینه را فقط بر اساس طول آرایه سطح بالا تخمین نزنید. قیمتهای فعلی و استفاده در کنسول را بررسی کنید. فیلدهای کامل شیء در اسکیما OpenAPI موجود است.