不用官方 API 也能取得 Twitter/X 資料:實用指南
學習如何不依賴官方 API 擷取 Twitter/X 資料,附有可直接使用的程式碼範例。
Twitter 的 API 曾經是全世界最對開發者友善的 API 之一。 然後 Elon Musk 收購了這個平台,將它改名為 X,並對幾乎所有功能都加上了價格標籤。
如果你需要 X 的資料來做研究、監控或開發產品,你現在面臨一個真實的問題。 讓我們來看看你的選擇——以及那個不會燒光預算的實際可行方法。
X API 的定價問題
2023 年初,Twitter 關閉了免費的 API 存取。以下是替代方案:
- 免費層級:僅限寫入。你可以發推文,但無法讀取資料。對資料擷取毫無用處。
- 基本層級(每月 $100):每月 10,000 則推文讀取。大約每天 300 則——對玩具專案夠用,但做不了正式產品。
- 專業層級(每月 $5,000):100 萬則推文讀取。好一些,但那是每年 $60,000——你還沒寫任何一行產品程式碼。
- 企業層級:客製定價。如果你得問價格,你大概負擔不起。
對大多數做輿情分析、競爭者監控或趨勢偵測的團隊來說,官方 API 要不就太貴、要不就太受限。即使你付了錢,資料存取的限制也收緊了——許多曾經免費的欄位現在需要更高等級的存取權限。
為什麼直接爬取 X 有風險
自然而然的下一個想法:「我自己爬就好了。」
X 擁有所有社群平台中最激進的反機器人措施。以下是你會面對的:
- 認證牆:大多數有用的資料需要已登入的 Session。你需要認證 Token,它們會不可預測地過期和輪換。
- 影子封禁和帳號停權:自動化的存取模式很快就會被標記。X 主動監控爬蟲行為。
- IP 層級封鎖:即使使用代理伺服器輪換,X 的指紋辨識也能偵測自動化瀏覽器。
- 持續的前端變動:X 頻繁地推送 UI 更新。今天能運作的爬蟲,明天可能因為他們重新命名了一個 CSS class 或重構了 GraphQL 查詢就失效了。
- 法律灰色地帶:X 的服務條款明確禁止爬蟲。雖然法律環境在演變(參見 hiQ v. LinkedIn 判決),但這是許多團隊不想承擔的風險。
建置和維護自己的 X 爬蟲是一份全職工作。而且是一份跟你的實際產品毫無關係的工作。
第三個選擇:統一資料 API
在每月付 $5,000 使用官方 API 和自己建造脆弱的爬蟲之間,有一個折衷方案:替你處理擷取複雜度並傳回乾淨、結構化 JSON 的服務。
這些 API 抽象化了 Session 管理、代理伺服器輪換、反爬蟲規避和資料解析。你發一個簡單的 HTTP 請求,就能收到你需要的資料,格式一致。
ByCrawl 就是這樣的服務之一。它透過單一 API 覆蓋 X/Twitter 以及另外 9 個平台。讓我們來看看它在實務中如何運作。
使用 ByCrawl 取得 X 資料
ByCrawl 的 X 端點遵循簡單的模式。所有請求發送到 https://api.bycrawl.com,並在 Header 中附上你的 API 金鑰。
取得用戶檔案
取得任何公開用戶的個人檔案資料——追蹤者數量、簡介、驗證狀態等。
curl -s "https://api.bycrawl.com/x/user?username=elonmusk" \
-H "x-api-key: your-api-key-here" | jq
用 Python 寫同樣的請求:
import requests
response = requests.get(
"https://api.bycrawl.com/x/user",
params={"username": "elonmusk"},
headers={"x-api-key": "your-api-key-here"},
)
user = response.json()
print(user)
回應範例:
{
"username": "elonmusk",
"name": "Elon Musk",
"bio": "Read @WallStreetSilv",
"followers": 214500000,
"following": 865,
"posts_count": 52400,
"verified": true,
"profile_image_url": "https://pbs.twimg.com/profile_images/..."
}
按關鍵字搜尋貼文
搜尋 X 上符合任何查詢的貼文。適用於品牌監控、趨勢追蹤或研究。
curl -s "https://api.bycrawl.com/x/search/posts?query=AI%20agents" \
-H "x-api-key: your-api-key-here" | jq
import requests
response = requests.get(
"https://api.bycrawl.com/x/search/posts",
params={"query": "AI agents"},
headers={"x-api-key": "your-api-key-here"},
)
results = response.json()
for post in results:
print(f"@{post['author']['username']}: {post['text'][:80]}...")
print(f" 讚: {post['likes']} | 轉發: {post['reposts']}")
回應範例:
[
{
"id": "1893847261045382",
"text": "AI agents are going to change how we interact with software entirely...",
"author": {
"username": "techfounder",
"name": "Sarah Chen"
},
"likes": 342,
"reposts": 87,
"replies": 45,
"created_at": "2026-03-04T14:23:00Z"
}
]
取得特定貼文的互動數據
如果你有貼文 URL,可以擷取完整詳情——文字、互動指標、媒體附件和回覆數。
curl -s "https://api.bycrawl.com/x/post?url=https://x.com/elonmusk/status/1893847261045382" \
-H "x-api-key: your-api-key-here" | jq
import requests
response = requests.get(
"https://api.bycrawl.com/x/post",
params={"url": "https://x.com/elonmusk/status/1893847261045382"},
headers={"x-api-key": "your-api-key-here"},
)
post = response.json()
print(f"文字: {post['text']}")
print(f"讚: {post['likes']} | 轉發: {post['reposts']} | 觀看: {post['views']}")
擷取用戶的最近貼文
取得任何帳號的最新貼文。適合建立動態牆、追蹤網紅或競爭者分析。
curl -s "https://api.bycrawl.com/x/user/posts?username=openai" \
-H "x-api-key: your-api-key-here" | jq
import requests
response = requests.get(
"https://api.bycrawl.com/x/user/posts",
params={"username": "openai"},
headers={"x-api-key": "your-api-key-here"},
)
posts = response.json()
for post in posts:
print(f"{post['created_at']}: {post['text'][:100]}...")
什麼時候用什麼
以下是三種方案的快速比較:
| 官方 X API | 自建爬蟲 | 統一 API(ByCrawl) | |
|---|---|---|---|
| 費用 | $100-$5,000+/月 | 免費(+ 工程師時間) | 按請求付費 |
| 設置時間 | 數小時(審核流程) | 數天至數週 | 數分鐘 |
| 維護 | 低(API 穩定) | 高(經常失效) | 無(由服務商處理) |
| 速率限制 | 嚴格(與層級綁定) | 有被封禁風險 | 由服務商管理 |
| 資料格式 | 結構化 JSON | 需要解析原始 HTML | 結構化 JSON |
| 法律風險 | 無 | 中等 | 無(服務商負責) |
| 多平台 | 僅限 X | 每個平台各自建置 | 10 個平台,一個 API |
如果你有預算且只需要 X 的資料,官方 API 是合理的。自建爬蟲適合不需要可靠性的一次性研究任務。介於兩者之間的一切——正式環境的工作負載、多平台資料需求、想專注於產品的團隊——統一 API 是務實的選擇。
開始使用
ByCrawl 提供免費層級來測試端點。你可以在五分鐘內讓 X 資料流入你的應用程式。
- 取得你的 API 金鑰——只需 30 秒
- 使用上面的範例發出你的第一個請求
- 準備好擴展時查看我們的方案
不需要信用卡即可開始。沒有 OAuth 流程。沒有瀏覽器自動化。只有 HTTP 請求和 JSON 回應。