Что такое X API?
X API (ранее Twitter API) — это программный интерфейс для взаимодействия с платформой X. Позволяет автоматизировать публикации, читать твиты, анализировать данные.
После покупки Илоном Маском в 2023 году, X API стал преимущественно платным. Free tier сильно ограничен.
API понадобится для:
- Автоматическая публикация твитов
- Чтение ленты и упоминаний
- Боты и автоматизации
- Аналитика и сбор данных
- Интеграция X в приложения
API Key — идентификатор приложения
API Secret — секретный ключ приложения
Access Token — токен доступа к аккаунту
Access Token Secret — секрет токена
Тарифные планы
X API имеет несколько уровней доступа:
| План | Цена | Возможности |
|---|---|---|
| Free | $0 | 1,500 твитов/мес (только запись), 1 App ID |
| Basic | $100/мес | 15K твитов/мес чтение, 3K запись, 2 App IDs |
| Pro | $5,000/мес | 1M твитов/мес, полный доступ к API v2 |
Бесплатный план позволяет только публиковать твиты (до 1,500/мес). Чтение твитов и аналитика требуют платный план.
Шаг 1: Developer Account
Перейди на developer.x.com
Открой developer.x.com и войди с твоим X (Twitter) аккаунтом.
Подай заявку на Developer Account
Если у тебя ещё нет Developer Account, нажми "Sign up for Free Account".
Опиши использование API
X попросит описать, как ты планируешь использовать API. Напиши минимум 250 символов. Пример:
I am building a personal automation tool to schedule and post tweets for my educational content about AI and programming. The app will be used only for my own account to share tutorials and tips with my followers.
Дождись одобрения
Обычно одобрение приходит мгновенно. В редких случаях может занять до 24 часов.
Избегай слов "scraping", "bulk", "mass posting". Пиши честно и конкретно — X отклоняет подозрительные заявки.
Шаг 2: Создание проекта и приложения
После одобрения ты попадёшь в Developer Portal. Здесь нужно создать Project и App.
Создай Project
Project — это контейнер для приложений. Нажми "Create Project" и дай ему название.
Создай App внутри проекта
App — это конкретное приложение, которое будет использовать API. Укажи:
- App name — уникальное название
- Use case — для чего используется
Шаг 3: Настройка OAuth
Для публикации твитов нужно настроить OAuth 1.0a:
Открой настройки App
В Developer Portal выбери своё приложение и перейди в "Settings".
User authentication settings
Найди раздел "User authentication settings" и нажми "Set up".
Настрой параметры
- App permissions: Read and Write (для публикации)
- Type of App: Web App, Automated App, or Bot
- Callback URL:
https://example.com/callback(любой валидный URL) - Website URL: URL твоего сайта или проекта
Сохрани настройки
Нажми "Save" для сохранения.
После изменения permissions нужно заново сгенерировать Access Token и Access Token Secret!
Шаг 4: Получение ключей
Открой Keys and Tokens
В настройках App перейди на вкладку "Keys and tokens".
Consumer Keys (API Key)
Нажми "Regenerate" в секции "Consumer Keys". Сохрани:
- API Key (он же Consumer Key)
- API Key Secret (он же Consumer Secret)
Access Token
Нажми "Generate" в секции "Access Token and Secret". Сохрани:
- Access Token
- Access Token Secret
Все 4 ключа показываются только один раз. Сохрани их сразу в надёжное место. Никогда не публикуй в открытом коде!
В итоге у тебя должно быть 4 значения:
API_KEY=xxxxxxxxxxxxxxxxxxxxxx
API_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ACCESS_TOKEN=xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Использование API
Публикация твита (Python)
import tweepy
# Твои ключи
api_key = "YOUR_API_KEY"
api_secret = "YOUR_API_SECRET"
access_token = "YOUR_ACCESS_TOKEN"
access_token_secret = "YOUR_ACCESS_TOKEN_SECRET"
# Авторизация
client = tweepy.Client(
consumer_key=api_key,
consumer_secret=api_secret,
access_token=access_token,
access_token_secret=access_token_secret
)
# Публикация твита
response = client.create_tweet(text="Hello from Python! 🐍")
print(f"Tweet ID: {response.data['id']}")
Установка tweepy
pip install tweepy
Переменные окружения
Лучше хранить ключи в .env файле:
# .env
TWITTER_API_KEY=xxxxx
TWITTER_API_SECRET=xxxxx
TWITTER_ACCESS_TOKEN=xxxxx
TWITTER_ACCESS_TOKEN_SECRET=xxxxx
FAQ
Заявка на Developer Account отклонена
Попробуй:
- Более подробно описать use case
- Избегать слов про массовые действия
- Указать конкретное, личное использование
- Подать заявку с другого аккаунта
Error 403: Forbidden
Проверь:
- App permissions установлены на "Read and Write"
- Access Token сгенерирован ПОСЛЕ изменения permissions
- Все 4 ключа указаны правильно
Можно ли читать твиты бесплатно?
Нет. Free tier позволяет только публиковать твиты. Для чтения нужен минимум Basic план ($100/мес).
Сколько твитов можно публиковать бесплатно?
До 1,500 твитов в месяц на Free tier. При превышении лимита получишь ошибку rate limit.
API v1.1 vs v2 — какую использовать?
Используй API v2 — это актуальная версия. v1.1 устарела и имеет ограниченную поддержку.
Как добавить медиа к твиту?
Для загрузки изображений/видео всё ещё используется Media Upload API (v1.1). Tweepy поддерживает это через api.media_upload().