IntegrationsPublic API
DocsIntegrationsPublic API

Public API

IntegrationsLast updated July 2026

Authentication

All API requests require an API key passed as a Bearer token in the Authorization header.

Request header
Authorization: Bearer sk_live_your_api_key_here
Content-Type: application/json

Generate an API key in Settings → API Keys. You can create multiple keys (e.g. one per integration) and revoke them individually. Treat your API key like a password — never expose it in frontend code.

Base URL & versioning

https://scoor.io/api/v1

The API is versioned. Breaking changes will be released under a new version path (e.g. /api/v2). The current version is v1 (stable).

Endpoints

MethodEndpointDescription
GET/leadsList leads (paginated, filterable)
POST/leadsCreate a new lead (triggers scoring)
GET/leads/:idGet a single lead with enrichment data
PATCH/leads/:idUpdate lead fields or pipeline stage
DELETE/leads/:idDelete a lead
GET/leads/:id/scoreGet score, tier, and enrichment breakdown
POST/verify/emailVerify a single email address
GET/workspaceGet workspace info and usage stats

Code examples

Create a lead

curl
curl -X POST https://scoor.io/api/v1/leads \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sarah Johnson",
    "email": "sarah@techcorp.com",
    "phone": "+61412345678",
    "source": "facebook",
    "fbCampaignName": "High-Ticket Coaching - July"
  }'
Response 201 Created
{
  "id": "lead_xyz789",
  "name": "Sarah Johnson",
  "email": "sarah@techcorp.com",
  "phone": "+61412345678",
  "leadScore": null,
  "tier": null,
  "enriched": false,
  "pipelineStage": "new",
  "createdAt": "2026-07-04T10:00:00Z",
  "message": "Lead created. Enrichment and scoring in progress."
}

Verify an email

curl
curl -X POST https://scoor.io/api/v1/verify/email \
  -H "Authorization: Bearer sk_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "email": "test@mailinator.com" }'
Response 200 OK
{
  "email": "test@mailinator.com",
  "valid": false,
  "reason": "disposable_provider",
  "score": 0,
  "checks": {
    "format": true,
    "mx": true,
    "smtp": false,
    "disposable": true,
    "free_provider": false
  }
}

Rate limits

PlanRequests / minuteRequests / day
Free20500
Starter605,000
Pro20050,000
Agency500Unlimited

Rate limit headers are returned on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Error codes

HTTP StatusCodeMeaning
400invalid_requestMissing or invalid fields in request body
401unauthorizedMissing or invalid API key
403forbiddenAPI key doesn't have access to this resource
404not_foundLead or resource doesn't exist
429rate_limitedToo many requests — back off and retry
500server_errorInternal server error — contact support if it persists

Was this page helpful?