Skip to main content
The Scrapest REST API provides programmatic access to X, Discord, Telegram, Web, and RSS data, webhooks, tracking management, web scraping, and real-time streaming capabilities.

API Overview

Base URL

https://scrape.st

Authentication

All API requests (except public endpoints) require authentication using an API key passed in the header:
x-api-key: YOUR_API_KEY

Response Format

All responses follow a consistent JSON format: Success
{
  "data": { ... },
  "message": "Operation description"
  [key: string]: unknown
}
Validation Error (422)
{
  "status": "fail",
  "error": "Validation failed",
  "issues": [...]
}
General Error
{
  "status": "error",
  "error": "Error description"
}

Available API Categories

  • Webhooks — Configure endpoints for real-time event delivery View docs
  • Tracking — Monitor X, Discord, Telegram, Web, and RSS sources View docs
  • X Queries — Query X user and tweet data View docs
  • Telegram Queries — Search Telegram messages, users, and channels View docs
  • Web Scraping — Scrape any public URL for raw HTML View docs
  • API Keys — Usage stats and key rotation View docs
  • Health & Metrics — System health and latency percentiles View docs
  • Backfill — Trigger and retrieve historical data View docs
  • Streams — WebSocket and SSE for real-time data View docs

Source Guides

For per-source setup guides with examples, see:
  • X — Track users, search tweets, token mentions
  • Telegram — Monitor groups & channels, token mentions
  • Discord — Track channels, token mentions
  • Web — Track websites, scrape web pages
  • RSS — Monitor RSS feeds for new content

Getting Started

1. Get Your API Key

  1. Sign up at Scrapest Dashboard
  2. Navigate to API Keys section
  3. Generate a new API key
  4. Copy and securely store your API key

2. Make Your First Request

curl -X GET https://scrape.st/health \
  -H "x-api-key: YOUR_API_KEY"

3. Explore Endpoints

Common Patterns

Pagination

List endpoints support pagination with page and limit query parameters:
GET /track/x?page=1&limit=20
Response includes metadata:
{
  "data": [...],
  "total": 150,
  "page": 1,
  "limit": 20,
  "message": "..."
}

Filtering

Many endpoints support filtering:
GET /track/x?messageId=abc123

Error Handling

Errors return appropriate HTTP status codes:
StatusDescription
200Success
400Bad Request
401Unauthorized
422Validation Error
500Internal Server Error

For streaming capabilities, see the Streams documentation.