DEVELOPER / DOCS_v1

    API &
    Documentation

    Build outreach, ship campaigns, and stream signals into your stack. REST endpoints, official SDKs, and a webhook bus — all under one key.

    base_url
    https://api.taploop.com/v1
    REST
    JSON
    AUTH
    Bearer
    RATE
    600/min
    GUIDE

    Introduction

    The Taploop API lets you launch outreach, sync prospect lists, score signals, and trigger campaigns from any stack. REST over HTTPS. JSON in, JSON out.

    • Base URL: https://api.taploop.com/v1
    • All requests require an API key bearer token
    • Rate limit: 600 req/min on Pro, 60 req/min on Free
    • Idempotency: pass `Idempotency-Key` header on POSTs
    GUIDE

    Authentication

    Authenticate every request with a secret API key in the Authorization header. Generate keys from your dashboard. Never expose secret keys client-side.

    bash
    curl https://api.taploop.com/v1/me \
      -H "Authorization: Bearer tlp_live_sk_••••••••••••" \
      -H "Content-Type: application/json"
    GUIDE

    Quickstart

    Send your first outreach in under 2 minutes. Install the SDK, set your key, and queue a message to a Telegram prospect.

    javascript
    import Taploop from "@taploop/sdk";
    
    const tlp = new Taploop({ apiKey: process.env.TAPLOOP_KEY });
    
    await tlp.outreach.send({
      channel: "telegram",
      to: "@prospect_handle",
      template: "intro_v3",
      variables: { firstName: "Alex" },
    });
    REFERENCE

    Prospects

    POST/v1/prospectsCreate prospect

    Add a single prospect to your workspace. Use bulk endpoints for >100 records.

    Request body
    json
    {
      "handle": "@alex_doe",
      "channel": "telegram",
      "tags": ["lead", "saas"],
      "metadata": { "company": "Acme" }
    }
    Response 200
    json
    {
      "id": "prs_01HX9...",
      "handle": "@alex_doe",
      "channel": "telegram",
      "score": 0.82,
      "created_at": "2026-05-02T10:14:00Z"
    }
    GET/v1/prospectsList prospects

    Cursor-paginated. Filter by tag, channel, or score range.

    Response 200
    json
    {
      "data": [{ "id": "prs_01HX9...", "handle": "@alex_doe" }],
      "next_cursor": "cur_8f2..."
    }
    REFERENCE

    Campaigns

    POST/v1/campaignsCreate campaign

    Schedule a multi-step campaign across Telegram, Email, or LinkedIn.

    Request body
    json
    {
      "name": "Q2 EU launch",
      "audience_id": "aud_01HX...",
      "steps": [
        { "type": "message", "template": "intro_v3" },
        { "type": "wait", "hours": 48 },
        { "type": "message", "template": "follow_up" }
      ]
    }
    Response 200
    json
    {
      "id": "cmp_01HX...",
      "status": "scheduled",
      "audience_size": 1284
    }
    REFERENCE

    Webhooks

    POST/v1/webhooksRegister webhook

    Subscribe to events: message.delivered, prospect.replied, campaign.completed.

    Request body
    json
    {
      "url": "https://your-app.com/hooks/taploop",
      "events": ["message.delivered", "prospect.replied"]
    }
    Response 200
    json
    {
      "id": "whk_01HX...",
      "secret": "whsec_••••",
      "active": true
    }
    TOOLING

    Official SDKs

    JavaScript
    npm i @taploop/sdk
    Python
    pip install taploop
    Go
    go get taploop.com/sdk
    Ruby
    gem install taploop
    REAL-TIME

    Stream events into your stack

    Subscribe once and we'll deliver replies, opens, and conversions with HMAC-signed payloads.

    Get API key