Skip to main content

Stream Monitors

Stream Monitors watch specific Twitter accounts and notify you when they tweet, reply, retweet, or quote tweet. Monitors poll at a global interval (100ms default) with volume-based pricing.

Quick start

# Create a monitor
curl -X POST "https://scrapebadger.com/v1/twitter/stream/monitors" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Tech Leaders",
    "usernames": ["elonmusk", "sataborasu"],
    "webhook_url": "https://example.com/webhooks/tweets",
    "filter_types": ["original", "reply"]
  }'

Features

  • Up to 100 accounts per monitor
  • Tweet type filtering: original, reply, retweet, quote
  • Webhook delivery with HMAC-SHA256 signing
  • WebSocket delivery for real-time streaming
  • Auto-pause when credits run low
  • Volume pricing — the more accounts you monitor, the lower the per-account cost

Volume pricing tiers

TierAccountsCredits / account / day
Starter1—101,667
Growth11—501,333
Scale51—1001,000
Enterprise101+833
Pricing tiers are applied per-monitor based on the number of usernames. Pricing can be fetched dynamically via the dashboard stream pricing endpoint.

Monitor lifecycle

  1. Active — Monitor is polling and delivering tweets
  2. Paused — Manually paused via API or dashboard
  3. Suspended — Auto-paused due to insufficient credits (status_reason: "insufficient_credits")

Shadow account warning

Newly registered or long-dormant Twitter accounts may be shadow-banned, causing searches to return no results. Before adding a username to a monitor, verify it is not shadow-banned: Visit https://x.com/search?q=from:USERNAME&src=typed_query&f=live — if it returns no results for an active poster, the account is likely shadow-banned.

API endpoints

Create Monitor

POST /v1/twitter/stream/monitors

List Monitors

GET /v1/twitter/stream/monitors

Get Monitor

GET /v1/twitter/stream/monitors/

Update Monitor

PATCH /v1/twitter/stream/monitors/

Delete Monitor

DELETE /v1/twitter/stream/monitors/