Настройка Harness
X Search API
Ищите X users, tweets, timelines и replies с pagination metadata.
/v2/x/tweet/searchАутентификация
Bearer API key
Content type
application/json
Ограничения
1 request per 10 seconds, 3 per minute, 10 per 10 minutes.
X Search API предоставляет доступ к данным X/Twitter: профилям пользователей, поиску пользователей, tweets пользователей, поиску tweets и ответам. Подходит для исследований Agent, social listening, анализа аккаунтов и контентных инсайтов.
Аутентификация
Authorization: Bearer YOUR_API_KEY1. Получить информацию о пользователях
Пакетно получает профили пользователей X по username.
POST https://openapi.felo.ai/v2/x/user/info| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
usernames | array of strings | Да | Список X username для поиска |
curl -X POST 'https://openapi.felo.ai/v2/x/user/info' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"usernames":["elonmusk","OpenAI"]}'2. Поиск пользователей
Ищет пользователей X по ключевому слову.
POST https://openapi.felo.ai/v2/x/user/search| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
query | string | Да | Ключевое слово поиска |
cursor | string | Нет | Pagination cursor из предыдущего ответа |
3. Получить Tweets пользователя
Получает tweets конкретного пользователя X.
POST https://openapi.felo.ai/v2/x/user/tweets| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
x_user_id | string | Нет | X user ID; укажите x_user_id или username |
username | string | Нет | X username; укажите x_user_id или username |
limit | integer | Нет | Количество результатов для возврата |
cursor | string | Нет | Pagination cursor из предыдущего ответа |
include_replies | boolean | Нет | Включать ли ответы |
curl -X POST 'https://openapi.felo.ai/v2/x/user/tweets' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"username":"elonmusk","limit":20}'4. Поиск Tweets
Ищет X tweets по ключевому слову и поддерживает расширенный синтаксис поиска.
POST https://openapi.felo.ai/v2/x/tweet/search| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
query | string | Да | Поисковый запрос; поддерживает расширенный синтаксис поиска |
query_type | string | Нет | Фильтр типа запроса |
since_time | integer | Нет | Фильтр начального времени, Unix timestamp в секундах |
until_time | integer | Нет | Фильтр конечного времени, Unix timestamp в секундах |
limit | integer | Нет | Количество результатов для возврата |
cursor | string | Нет | Pagination cursor из предыдущего ответа |
5. Получить ответы на Tweet
Получает ответы для указанных tweets.
POST https://openapi.felo.ai/v2/x/tweet/replies| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
tweet_ids | array of strings | Да | Tweet ID, для которых нужно получить ответы |
cursor | string | Нет | Pagination cursor из предыдущего ответа |
since_time | integer | Нет | Фильтр начального времени, Unix timestamp в секундах |
until_time | integer | Нет | Фильтр конечного времени, Unix timestamp в секундах |
Общие поля ответа
| Поле | Тип | Описание |
|---|---|---|
total | integer | Количество возвращенных или доступных результатов |
has_next | boolean | Есть ли дополнительные результаты |
next_cursor | string | Cursor для следующей страницы |
users | array | Объекты пользователей для user endpoints |
tweets | array | Объекты tweet для tweet endpoints |
results | array | Объекты результатов для endpoint ответов |
Объекты пользователей могут включать user_id, username, display_name, description, followers_count, following_count, tweet_count, verified, blue_verified, profile_image_url, created_at, location и url.
Объекты Tweet могут включать id, content, author, created_at, metrics, conversation_id, media_urls, hashtags, mentions, urls, url, lang, поля ответа, quoted tweet и retweeted tweet.
Credits и rate limiting
Каждый вызов API списывает credits в зависимости от количества возвращенных результатов. Если запрос возвращает 0 результатов, credits не списываются. Для любого запроса X API на аккаунте должно быть не менее 10 credits.
| Endpoint | Стоимость в credits |
|---|---|
POST /x/user/info | 1 credit за каждого возвращенного пользователя |
POST /x/user/search | 1 credit за каждого возвращенного пользователя |
POST /x/user/tweets | 1 credit за каждый возвращенный tweet |
POST /x/tweet/search | 1 credit за каждый возвращенный tweet |
POST /x/tweet/replies | 1 credit за каждый возвращенный ответ |
На аккаунты без платной подписки с балансом credits ниже 100 распространяется rate limiting. При ограничении API возвращает HTTP 429, а header Retry-After указывает рекомендуемое время ожидания в секундах.
Коды ошибок
| Code | HTTP Status | Описание |
|---|---|---|
INVALID_API_KEY | 401 | API key недействителен или отозван |
X_SEARCH_FAILED | 400/500 | Запрос X search не выполнен; проверьте параметры или downstream error |
RATE_LIMIT_EXCEEDED | 429 | Слишком много запросов; повторите через короткое время |
insufficient_credits | 402 | Недостаточно credits для выполнения запроса |