API Hop

Документация

Документация API Hop

Получение ленты пользователя

Получите ленту пользователя Twitter по ID с нормализованными твитами, расширениями авторов и метаданными пагинации.

GEThttps://api.apihop.ai/v1/twitter/users/{id}/tweets

Запросите ленту по нормализованному ID пользователя. Эндпоинт возвращает структуры data / includes / meta в стиле X API v2.

text
GET https://api.apihop.ai/v1/twitter/users/{id}/tweets

Аутентификация

Все эндпоинты API Twitter требуют аутентификации с токеном Bearer.

http
Authorization: Bearer YOUR_API_KEY

Параметры пути

idstringобязательно

ID пользователя Twitter, например 44196397.

Параметры запроса

max_resultsintegerПо умолчанию: 10

Число твитов на одной странице, от 1 до 100.

pagination_tokenstring

Курсор следующей страницы, скопированный из meta.next_token предыдущего ответа.

excludestring

Правила исключения через запятую. Поддерживаются значения replies и retweets.

expansionsstring

Поля расширения через запятую. Используйте author_id, чтобы включить includes.users.

tweet.fieldsstring

Поля твита через запятую, например created_at,public_metrics,attachments,source.

user.fieldsstring

Управляет полями в includes.users при запросе expansions=author_id.

Пример запроса

bash
curl --request GET \
  "$API_BASE_URL/v1/twitter/users/44196397/tweets?max_results=5&exclude=retweets,replies&expansions=author_id&tweet.fields=created_at,public_metrics,attachments,author_id,conversation_id&user.fields=public_metrics" \
  --header "Authorization: Bearer YOUR_API_KEY"

Ответ

dataobject[]обязательно

Список твитов ленты.

Поля твита
idstringобязательно

ID твита.

textstringобязательно

Текстовое содержимое твита.

attachmentsobject

Ссылки на медиа, сейчас возвращаемые как media_keys.

author_idstring

ID автора. При запросе expansions=author_id соответствует includes.users.

conversation_idstring

ID беседы.

created_atstring

Время создания твита в формате ISO 8601.

edit_history_tweet_idsstring[]

ID твитов в истории редактирования.

entitiesobject

Разобранные сущности твита, например хештеги, URL и упоминания.

in_reply_to_user_idstring

ID пользователя, которому отвечают.

langstring

Язык твита.

possibly_sensitiveboolean

Является ли содержимое чувствительным.

public_metricsobject

Публичные метрики твита.

Поля public_metrics
retweet_countinteger

Число ретвитов.

reply_countinteger

Число ответов.

like_countinteger

Число отметок «Нравится».

quote_countinteger

Число цитирований.

bookmark_countinteger

Число добавлений в закладки.

impression_countinteger

Число показов.

referenced_tweetsobject[]

Упоминаемые твиты. type может быть retweeted, quoted или replied_to.

sourcestring

Источник твита, например клиент или веб.

includesobject

Расширенные объекты. Появляются, когда expansions включает author_id.

Поля includes
usersobject[]

Список авторов, соответствующих author_id.

metaobjectобязательно

Метаданные пагинации и результатов.

Поля meta
newest_idstring

ID самого нового твита на текущей странице.

oldest_idstring

ID самого старого твита на текущей странице.

next_tokenstring

Курсор следующей страницы. Передайте его как pagination_token.

result_countintegerобязательно

Число твитов на текущей странице.

Пример успешного ответа

json
{
  "data": [
    {
      "id": "tweet-1",
      "text": "Hello Mars",
      "author_id": "44196397",
      "created_at": "2025-04-22T10:00:00.000Z",
      "public_metrics": {
        "retweet_count": 3,
        "reply_count": 2,
        "like_count": 7
      }
    }
  ],
  "includes": {
    "users": [
      {
        "id": "44196397",
        "name": "Elon Musk",
        "username": "elonmusk"
      }
    ]
  },
  "meta": {
    "newest_id": "tweet-1",
    "oldest_id": "tweet-1",
    "next_token": "cursor-123",
    "result_count": 1
  }
}

Ответ с ошибкой

Полный справочник кодов, различия протоколов и этапы диагностики приведены в разделе Коды ошибок и устранение неполадок.

json
{
  "success": false,
  "error": {
    "code": 40000,
    "message": "Insufficient credit. Required: 100000, Available: 99999"
  },
  "requestId": "req_xxx"
}

Пагинация

Если присутствует meta.next_token, передайте его как pagination_token для получения следующей страницы.