Skip to main content

Overview

The SignalBridge API allows you to send tracking events directly from your server, integrate with your backend systems, and manage your pixels programmatically. Base URL: https://api.signalbridgedata.com

Authentication

All API requests require authentication using your API key.
Your API key carries full access to your account. Keep it secure and never expose it in client-side code.
Authorization: Bearer YOUR_API_KEY
Get your API key from the Dashboard.

Quick Example

curl -X POST https://api.signalbridgedata.com/v1/track \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pixel_id": "px_abc123",
    "event_name": "Purchase",
    "event_id": "evt_xyz789",
    "value": 99.99,
    "currency": "USD",
    "user_data": {
      "email": "customer@example.com",
      "phone": "+1234567890"
    }
  }'

API Endpoints

Track Event

Send a tracking event to SignalBridge. Endpoint: POST /v1/track Headers:
  • Authorization: Bearer YOUR_API_KEY (required)
  • Content-Type: application/json (required)
Body Parameters:
ParameterTypeRequiredDescription
pixel_idstringYesYour pixel ID (e.g., px_abc123)
event_namestringYesEvent name (e.g., Purchase, Lead)
event_idstringNoUnique event ID for deduplication
valuenumberNoEvent value (e.g., purchase amount)
currencystringNoCurrency code (e.g., USD, EUR)
user_dataobjectNoUser information for enhanced matching
timestampstringNoISO 8601 timestamp (defaults to now)
urlstringNoPage URL where event occurred
referrerstringNoReferrer URL
User Data Fields:
FieldTypeDescription
emailstringUser email (will be hashed)
phonestringPhone number in E.164 format
first_namestringFirst name
last_namestringLast name
citystringCity
statestringState/province
zipstringPostal code
countrystringCountry code (ISO 3166-1 alpha-2)
external_idstringYour internal user ID
Response:
{
  "success": true,
  "event_id": "evt_xyz789",
  "message": "Event tracked successfully"
}

Get Pixel

Retrieve pixel information. Endpoint: GET /v1/pixels/:pixel_id Response:
{
  "id": "px_abc123",
  "name": "My Website Pixel",
  "domain": "example.com",
  "tracking_domain": "tracking.example.com",
  "status": "active",
  "created_at": "2024-01-15T10:30:00Z"
}

List Events

Get recent events for a pixel. Endpoint: GET /v1/pixels/:pixel_id/events Query Parameters:
ParameterTypeDescription
limitnumberNumber of events to return (max 100)
offsetnumberPagination offset
event_namestringFilter by event name
start_datestringFilter by start date (ISO 8601)
end_datestringFilter by end date (ISO 8601)
Response:
{
  "events": [
    {
      "event_id": "evt_xyz789",
      "event_name": "Purchase",
      "value": 99.99,
      "currency": "USD",
      "timestamp": "2024-01-15T10:30:00Z",
      "status": "processed"
    }
  ],
  "total": 1250,
  "limit": 50,
  "offset": 0
}

Standard Events

SignalBridge supports these standard event names:
Event NameDescriptionRecommended Parameters
PageViewUser viewed a pageurl, title
ViewContentUser viewed a product/contentvalue, currency
AddToCartUser added item to cartvalue, currency
InitiateCheckoutUser started checkoutvalue, currency
AddPaymentInfoUser added payment methodvalue, currency
PurchaseUser completed purchasevalue, currency, user_data
LeadUser submitted lead formuser_data
CompleteRegistrationUser signed upuser_data
SearchUser performed searchsearch_string
SubscribeUser subscribeduser_data

Custom Events

You can also track custom events:
{
  "pixel_id": "px_abc123",
  "event_name": "CustomEvent",
  "custom_data": {
    "plan": "premium",
    "duration": "annual"
  }
}

Error Responses

400 Bad Request

{
  "error": "Invalid request",
  "message": "Missing required field: pixel_id"
}

401 Unauthorized

{
  "error": "Unauthorized",
  "message": "Invalid API key"
}

403 Forbidden

{
  "error": "Forbidden",
  "message": "Subscription limit exceeded"
}

429 Too Many Requests

{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Please try again later.",
  "retry_after": 60
}

500 Internal Server Error

{
  "error": "Internal server error",
  "message": "An unexpected error occurred"
}

Rate Limits

API Access is available for Pro, Ultra, and Enterprise tiers only.
PlanRequests per MinuteDaily Limit
Pro500720,000
Ultra2,0002,880,000
Enterprise5,0007,200,000
Rate Limit Headers:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1642252800

Webhooks

SignalBridge can send webhooks for important events:

Available Events

  • event.tracked - New event was tracked
  • event.forwarded - Event was forwarded to platform
  • pixel.created - New pixel was created
  • pixel.updated - Pixel was updated
  • subscription.updated - Subscription changed

Webhook Payload

{
  "event": "event.tracked",
  "data": {
    "pixel_id": "px_abc123",
    "event_name": "Purchase",
    "event_id": "evt_xyz789",
    "value": 99.99,
    "timestamp": "2024-01-15T10:30:00Z"
  },
  "webhook_id": "wh_xyz789",
  "timestamp": "2024-01-15T10:30:01Z"
}

Webhook Signature

All webhooks include a signature header for verification:
X-SignalBridge-Signature: sha256=abc123...
Verify the signature:
const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = 'sha256=' + hmac.update(payload).digest('hex');
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(digest)
  );
}

SDKs

Official SDKs coming soon:
  • JavaScript/TypeScript
  • Python
  • PHP
  • Ruby
  • Go

Need Help?