Twitter повысил стоимость использования своего API до $200 в месяц для доступа к данным. При этом бесплатная версия позволяет только постить сообщения, но не дает возможности делать поиск или читать ленты. Это создает ряд проблем для разработчиков, желающих собирать информацию. Однако теперь есть альтернативный способ: использование куки-файлов вашего браузера для вызова GraphQL API, который Twitter использует внутри своей платформы. Вам не нужен API-ключ или аккаунт разработчика, достаточно простого кода на Python.
Контекст изменений в API Twitter
С февраля 2023 года Twitter значительно изменил структуру ценообразования на свой API. С октября 2024 года цена за доступ снова возросла. На текущий момент доступны следующие тарифные планы:
- Бесплатный: $0, только для написания, 500 постов в месяц, доступ к вашим собственным данным.
- Базовый: $200 в месяц, 15,000 запросов на чтение в месяц, доступ к 7 дням истории поиска.
- Профессиональный: $5,000 в месяц, 1 миллион твитов, полный архив.
- Корпоративный: от $42,000 в месяц — индивидуально.
В феврале 2026 года было внедрено pay-as-you-go ценообразование, однако расходы на базовый уровень составляют около $575 в месяц при накоплении аналогичных объемов использования. В то время как использование альтернативного метода обходится пользователям в $0, если запускать его локально, и около $0.30 за 1,000 твитов в облачном варианте.
Как использовать Scweet для сбора данных
Используя библиотеку Scweet, можно легко производить сбор данных. Вот что вам понадобится:
- Аккаунт Twitter/X (бесплатный).
- Python 3.9 и выше.
- Прокси — крайне рекомендуется для снижения вероятности блокировок.
Для начала установите библиотеку:
pip install -U scweet
Затем получите ваш auth_token, выполнив следующие шаги:
- Зайдите на x.com в Chrome или Firefox и откройте DevTools (F12).
- Перейдите в раздел Cookies и найдите auth_token, скопируйте его значение.
Теперь ваш auth_token готов к использованию. Например, чтобы собрать твиты о биткойне, вы можете выполнить следующий вызов:
from Scweet import Scweet
s = Scweet(auth_token="YOUR_AUTH_TOKEN", proxy="http://user:pass@host:port")
tweets = s.search("bitcoin", since="2025-01-01", limit=200)
print(f"Собрано {len(tweets)} твитов")
В результате вы получите эти о твитах в удобном формате, включая текст, дату и количество лайков.
Значение альтернативных методов для разработчиков
Использование Scweet открывает новые горизонты для разработчиков и исследователей, позволяя собирать эти с Twitter без значительных затрат. Это особенно актуально для малого бизнеса и стартапов, которым важна каждая копейка. Как показали прошлые попытки, доступ к этим стал более ограниченным, что делает этот подход критически важным для поддержания конкурентоспособности на рынке.
Следующей вехой станет адаптация методов к возможным изменениям со стороны Twitter в плане доступа. Для разработчиков стоит держать в уме возможность появления новых инструментов и библиотек для работы с API.