Features › API + webhooks

API + webhooks - REST endpoints and HMAC-signed outbound events

Most LinkedIn outreach tools treat integration as an afterthought - "we're available on Zapier" is the typical promise. SocialScalr ships a real public REST API and HMAC-signed outbound webhooks on every paid plan. The same surface internal SocialScalr code uses is the one external integrations get.

The REST API

Base URL: https://socialscalr.com/api/v1/. Authentication: Authorization: Bearer YOUR_API_TOKEN header. Token rotation: Settings → API tokens. Rate limit: 600 requests/minute per workspace.

Endpoints (highlights)

Full reference at /help/api with example payloads.

Example: pull replied leads from the last 24 hours

# Curl
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
  "https://socialscalr.com/api/v1/leads?stage=replied&since=24h"

# Returns paginated JSON of leads with full activity, notes, message history.

Outbound webhooks

Webhooks fire when an event happens in your workspace. Configure in Settings → Webhooks. Each endpoint subscribes to a list of event types and receives signed HTTPS POSTs.

Supported event types

Payload shape (every event uses the same envelope)

// POST {your_endpoint}
// X-SocialScalr-Signature: sha256=<hmac-of-body>
// X-SocialScalr-Delivery-Id: del_01HEX...
// Content-Type: application/json
{
  "event": "lead.replied",
  "id": "evt_01HEXBC...",
  "workspace_id": "ws_8a2...",
  "created_at": "2026-05-24T15:32:11Z",
  "data": {
    "lead": { "id": "ld_...", "name": "Sarah Chen", ... },
    "message": { "direction": "inbound", "text": "Sure - send a link." }
  }
}

Signature verification

Every delivery includes an X-SocialScalr-Signature header of the form sha256=<hex>. Verify by computing HMAC-SHA256 of the raw request body using your webhook secret (shown once at endpoint creation time):

// Node.js
const crypto = require('crypto');
const sig = req.headers['x-socialscalr-signature'];
const expected = 'sha256=' + crypto.createHmac('sha256', secret)
  .update(req.rawBody).digest('hex');
if (sig !== expected) return res.status(401).send('bad sig');

Delivery reliability

Rate limits on outbound webhooks

SocialScalr caps outbound webhook delivery at 100 events/minute per workspace. Bursts above that queue and drain at the cap rate. For most workspaces this is invisible; agencies running 8+ active accounts can hit it at peak times.

Integration recipes (with payload + receiver setup)

Full recipes with copy-paste receiver code at /integrations/.

What the API + webhooks are good for

Plan availability

Related