🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

CrawlHub

by @wolflabs88

CrawlHub is a professional web data extraction platform that provides structured data from social media and messaging platforms (X/Twitter, Instagram, Telegr...

TERMINAL
clawhub install crawlhub-reseller

πŸ“– About This Skill


name: crawlhub description: CrawlHub is a professional web data extraction platform that provides structured data from social media and messaging platforms (X/Twitter, Instagram, Telegram, LinkedIn, YouTube, TikTok, Facebook, Threads, and more). Use this skill when you need to research public data, monitor brands, track competitors, gather market intelligence, or build data pipelines from social platforms. Handles API authentication, endpoint discovery, data extraction requests, and result interpretation. For developers building data-driven applications or teams needing social media intelligence.

CrawlHub Integration Skill

CrawlHub is a professional web data extraction platform that provides structured, normalized data from major social media and messaging platforms β€” via a clean REST API.

What CrawlHub Does

CrawlHub handles all the hard parts of web scraping:

  • Proxies & rate limit handling β€” avoiding IP blocks
  • Anti-bot circumvention β€” making requests look like real browsers
  • Parsing & normalization β€” turning raw HTML/JSON into clean structured records
  • Data delivery β€” via API (JSON), webhook, or push to S3/Postgres/warehouse
  • Supported platforms include: X/Twitter, Instagram, Telegram, LinkedIn, YouTube, TikTok, Facebook, Threads β€” and more.

    Platform Overview

    | Platform | Data Types Available | |---|---| | X / Twitter | User profiles, tweets, timelines, search, trending topics | | Instagram | User profiles, posts, comments, hashtags, followers | | Telegram | Channels, messages, groups, public content | | LinkedIn | Company profiles, posts, job listings, people data | | YouTube | Video metadata, channels, comments, search | | TikTok | User profiles, videos, trending content | | Facebook | Pages, posts, groups, public content | | Threads | Posts, user profiles, threads search | | + more | CrawlHub adds new platforms regularly |

    API Reference

    Base URL: https://api.thecrawlhub.com/api/v1

    Authentication:

  • Login: POST /auth/login with {"email": "...", "password": "..."} β†’ returns access_token and refresh_token
  • Use: Authorization: Bearer {access_token} header on all requests
  • Refresh: POST /auth/refresh with {"refresh_token": "..."}
  • Key Endpoints:

    Platform Discovery

    GET /scraper/platforms                          β†’ List all available platforms
    GET /scraper/platforms/{platform_id}             β†’ List modules & endpoints of a platform
    GET /scraper/endpoints/{endpoint_id}           β†’ Get detailed info for a specific endpoint
    

    Data Execution

    GET  /execution/endpoints/{endpoint_id}/execute     β†’ Execute with query params
    POST /execution/endpoints/{endpoint_id}/execute     β†’ Execute with JSON body
    PATCH /execution/endpoints/{endpoint_id}/execute    β†’ Partial update style execution
    PUT  /execution/endpoints/{endpoint_id}/execute     β†’ Full replacement style execution
    DELETE /execution/endpoints/{endpoint_id}/execute    β†’ Delete style execution
    

    Authentication & Users

    POST /auth/register       β†’ Register new account
    POST /auth/login          β†’ Login (email + password)
    POST /auth/refresh        β†’ Refresh access token
    POST /auth/logout         β†’ Revoke tokens
    POST /auth/password-reset β†’ Request password reset email
    GET  /auth/token-validate  β†’ Validate current JWT
    

    Team Management

    GET  /teams                        β†’ List user's teams
    POST /teams                        β†’ Create a new team
    GET  /teams/{team_id}              β†’ List team members
    POST /teams/{team_id}/invite       β†’ Invite member to team
    DELETE /teams/{team_id}/{member_id} β†’ Remove member
    GET  /teams/{team_id}/permissions  β†’ Get current user's permissions
    PUT  /teams/{team_id}/{member_id}/role β†’ Change member role
    GET  /teams/roles                  β†’ List available team roles
    GET  /teams/invite/validate        β†’ Validate invite token
    POST /teams/invite/accept          β†’ Accept team invite
    

    API Keys (Team)

    GET  /teams/{team_id}/api-keys              β†’ List team's API keys
    POST /teams/{team_id}/api-keys              β†’ Create new API key
    PATCH /teams/{team_id}/api-keys/{api_key_id} β†’ Enable/disable key
    GET  /teams/{team_id}/api-keys/{api_key_id}/permissions β†’ Get permission tree for a key
    PUT  /teams/{team_id}/api-keys/{api_key_id}/permissions β†’ Sync/set permissions
    

    Billing & Subscription

    GET /teams/{team_id}/billing/cycle          β†’ Current billing cycle
    GET /teams/{team_id}/billing/transactions   β†’ Transaction history (paginated)
    GET /teams/{team_id}/billing/wallet          β†’ Wallet balance
    GET /teams/{team_id}/subscription           β†’ Current subscription plan
    POST /teams/{team_id}/subscription          β†’ Switch to different plan
    PATCH /teams/{team_id}/subscription/policy  β†’ Update subscription policy
    GET /plans                                  β†’ List all available plans
    

    Request Logs

    GET /teams/{team_id}/scraper/endpoints/{endpoint_id}/logs  β†’ Request logs for an endpoint
         Query params: page, per_page, from, to, status_code, sort_key, sort_order
    

    User Profile

    GET    /user/info    β†’ Get current user info
    PATCH  /user/update  β†’ Update profile (name, address, phone, company)
    

    Pricing Model

    CrawlHub uses a per-record pricing model:

    | Plan | Price | Rate Limit | Best For | |---|---|---|---| | Pay as you go | $1.79 / 1,000 records | 50 req/15min/endpoint | Testing, prototyping | | Scaler | $299/month | 150 req/15min/endpoint | Teams in production | | Business | $999/month | 600 req/15min/endpoint | High-scale data pipelines | | Enterprise | Custom | Custom | Unique requirements, SLAs |

    Rate limits are per endpoint. Records are counted in the response (not requests).

    Execution Response Format

    Successful execution returns:

    {
      "data": {
        "records": [
          { "title": "...", "url": "...", "created_at": "...", ... }
        ]
      },
      "http_status": 200
    }
    

    Error responses include kind (e.g., BAD_INPUT, ABORT_ERROR, HTTP_ERROR, REGISTRY_ERROR) and details.

    Use Cases

  • Brand Intelligence β€” Monitor brand mentions, sentiment, emerging narratives
  • Competitive Intelligence β€” Track competitor content, launches, audience movements
  • Threat Intelligence β€” Surface threats, leaks, coordinated inauthentic activity
  • Crypto & Web3 Intelligence β€” Monitor tokens, projects, communities across X + Telegram
  • News & Media Monitoring β€” Breaking event coverage across platforms
  • Lead Generation β€” Build targeted outreach lists from public platform data
  • Academic Research β€” Collect public social data for research projects
  • Authentication Flow (Step by Step)

    1. Register or Login to get tokens:

       POST /auth/login
       Body: {"email": "user@example.com", "password": "password"}
       
       Response: {"data": {"access_token": "...", "refresh_token": "..."}}
       

    2. Use the access token in all subsequent requests:

       Authorization: Bearer eyJhbGc...
       

    3. When token expires, refresh:

       POST /auth/refresh
       Body: {"refresh_token": "eyJhbGc..."}
       

    4. Discover platforms and endpoints:

       GET /scraper/platforms
       GET /scraper/platforms/{platform_id}
       GET /scraper/endpoints/{endpoint_id}
       

    5. Execute an endpoint to get data:

       GET /execution/endpoints/{endpoint_id}/execute?param1=value1¶m2=value2
       POST /execution/endpoints/{endpoint_id}/execute
       Body (JSON): {"param1": "value1", "param2": "value2"}
       

    Error Handling

    | HTTP Status | Kind | Cause | |---|---|---| | 400 | BAD_INPUT | Invalid request parameters | | 401 | AUTH_HEADER_FORMAT | Missing or malformed Authorization header | | 401 | INVALID_CREDENTIALS | Wrong email/password | | 403 | ABORT_ERROR | Permission denied (endpoint-level) | | 404 | REGISTRY_ERROR | Endpoint not found | | 405 | METHOD_NOT_ALLOWED | Wrong HTTP method for endpoint | | 502 | HTTP_ERROR | Upstream platform returned error | | 503 | ABORT_ERROR | Server busy, retry later |

    Best Practices

  • Use idempotent retries β€” pass X-Request-ID header when retrying to avoid duplicate billing
  • Check /plans β€” before executing to understand your current plan's rate limits
  • Monitor usage β€” via /teams/{team_id}/billing/transactions and request logs
  • Handle 503s gracefully β€” implement exponential backoff when server is busy
  • Store access tokens securely β€” never log them; refresh before expiry
  • Notes

  • All timestamps are ISO 8601 / date-time format
  • Pagination uses page + per_page (max 100 per page)
  • All list endpoints return paged results
  • API keys (team-level) can have custom permission trees β€” useful for granular access control
  • CrawlHub adds new platforms and endpoints regularly β€” check /scraper/platforms periodically
  • ⚑ When to Use

    TriggerAction
    - **Competitive Intelligence** β€” Track competitor content, launches, audience movements
    - **Threat Intelligence** β€” Surface threats, leaks, coordinated inauthentic activity
    - **Crypto & Web3 Intelligence** β€” Monitor tokens, projects, communities across X + Telegram
    - **News & Media Monitoring** β€” Breaking event coverage across platforms
    - **Lead Generation** β€” Build targeted outreach lists from public platform data
    - **Academic Research** β€” Collect public social data for research projects

    πŸ“‹ Tips & Best Practices

  • Use idempotent retries β€” pass X-Request-ID header when retrying to avoid duplicate billing
  • Check /plans β€” before executing to understand your current plan's rate limits
  • Monitor usage β€” via /teams/{team_id}/billing/transactions and request logs
  • Handle 503s gracefully β€” implement exponential backoff when server is busy
  • Store access tokens securely β€” never log them; refresh before expiry