Supacrawler Docs

Monitor Crypto News for Trading Signals

Automated monitoring of cryptocurrency news sources to capture market-moving events in real-time. Build an automated system that tracks breaking stories from major cryptocurrency outlets.

APIs Used

This use case primarily leverages the Watch API for real-time monitoring and the Parse API for extracting structured data from news articles.

Quick Example

import requests
import os

client = requests.Session()
client.headers.update({
    "Authorization": f"Bearer {os.environ['SUPACRAWLER_API_KEY']}",
    "Content-Type": "application/json"
})

response = client.post("https://api.supacrawler.com/api/v1/watch", json={
    "url": "https://www.coindesk.com/",
    "frequency": "hourly",
    "selector": "a.card-title",
    "notify_email": "[email protected]",
    "notification_preference": "changes_only"
})

print(f"Watch job created: {response.json()['watch_id']}")
const response = await fetch('https://api.supacrawler.com/api/v1/watch', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.SUPACRAWLER_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://www.coindesk.com/',
    frequency: 'hourly',
    selector: 'a.card-title',
    notify_email: '[email protected]'
  })
})

const result = await response.json()
console.log(`Watch job: ${result.watch_id}`)
curl -X POST https://api.supacrawler.com/api/v1/watch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: "application/json" \
  -d '{
    "url": "https://www.coindesk.com/",
    "frequency": "hourly",
    "selector": "a.card-title",
    "notify_email": "[email protected]"
  }'

Multiple News Sources

Monitor several crypto news sites simultaneously:

crypto_sources = [
    {"name": "CoinDesk", "url": "https://www.coindesk.com/", "selector": "a.card-title"},
    {"name": "CoinTelegraph", "url": "https://cointelegraph.com/", "selector": ".post-card-title"},
    {"name": "The Block", "url": "https://www.theblock.co/", "selector": "article h3"}
]

for source in crypto_sources:
    requests.post("https://api.supacrawler.com/api/v1/watch",
        headers={"Authorization": f"Bearer {api_key}"},
        json={
            "url": source["url"],
            "frequency": "hourly",
            "selector": source["selector"],
            "webhook_url": "https://your-api.com/crypto-alerts",
            "webhook_headers": {"X-Source": source["name"]}
        }
    )

Best Practices

  • Hourly monitoring for breaking news
  • Multiple sources for comprehensive coverage
  • Webhook integration for instant alerts
  • Keyword filtering in post-processing
  • Historical tracking for trend analysis

Was this page helpful?