API Documentation

Institutional Tier — $49.95/mo · Base URL: https://doomticker.com

Authentication

All API requests require an API key passed via the Authorization header:

Authorization: Bearer dt_your_api_key_here

API keys are issued upon Institutional tier subscription. Each key allows 1,000 requests/day. Rate limit headers are included in every response:

HeaderDescription
X-RateLimit-Limit1000
X-RateLimit-RemainingRequests remaining today
X-RateLimit-ResetUTC timestamp when limit resets

Live Endpoints

POST/api/vet
AI-powered fact verification. Sends a claim to Claude with web search for cross-referencing.

Request

{
  "messages": [{ "role": "user", "content": "Verify: SIPRI confirms new nuclear arms race" }],
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1000,
  "tools": [{ "type": "web_search_20250305" }]
}

Response

{
  "id": "msg_...",
  "content": [{ "type": "text", "text": "{\"verdict\": \"VERIFIED\", \"confidence\": 94, ...}" }]
}
GET/api/signals
List approved community signal reports from Humanity Calling forum.

Response

{
  "signals": [
    { "id": 1, "channel": "nuclear", "title": "...", "claim": "...",
      "source_name": "SIPRI", "domain_id": "nuclear",
      "moderation_status": "approved", "created_at": "2026-04-05T..." }
  ]
}
POST/api/signals
Submit a new signal report for AI moderation and community verification.

Request

{
  "channel": "nuclear",
  "title": "New SIPRI data on warhead counts",
  "claim": "SIPRI confirms 500+ Chinese warheads...",
  "source_name": "SIPRI Yearbook 2025",
  "source_url": "https://sipri.org/...",
  "domain_id": "nuclear"
}
POST/api/moderate
AI moderation first-pass. Evaluates submissions against Humanity Calling forum rules.
GET/api/rss-feed
Latest RSS-ingested intel items from 70+ sources. Optional ?category=defence&limit=30.
GET/api/crypto
Live cryptocurrency prices via CoinGecko (BTC, ETH, SOL). Cached 2 minutes.

Planned Endpoints (Institutional Roadmap)

GET/api/domains
Current domain scores across all 3 lenses with confidence and trend data.

Planned Response

{
  "timestamp": "2026-04-05T12:00:00Z",
  "domains": [
    { "id": "nuclear", "label": "Nuclear Risk", "short": "NUC",
      "scores": {
        "institutional": { "s": 4.5, "c": 0.92, "t": "worsening" },
        "peoples": { "s": 4.8, "c": 0.72, "t": "worsening" },
        "indie": { "s": 4.9, "c": 0.58, "t": "worsening" }
      },
      "weight": 0.14 }
  ],
  "composite": { "adjustedR": 65.9, "rawR": 82.1, "riskLevel": "SEVERE" }
}
POST/api/scenario
Run a case scenario and get projected domain cascade + impact assessment.

Planned Request

{
  "location": { "city": "Seoul", "lat": 37.6, "lon": 127.0 },
  "event_type": "nuclear_strike",
  "severity": 3,
  "radius_km": 50
}
GET/api/safety
Safest location rankings with composite scores and factor breakdowns. Optional ?country=NZ.
GET/api/feeds
Combined intel feed: curated NEWS + live RSS + community signals. Filterable by domain and category.

Code Examples

cURL

curl -X GET https://doomticker.com/api/rss-feed?limit=10 \
  -H "Authorization: Bearer dt_your_api_key" \
  -H "Accept: application/json"

JavaScript (fetch)

const res = await fetch("https://doomticker.com/api/rss-feed?limit=10", {
  headers: { "Authorization": "Bearer dt_your_api_key" }
});
const data = await res.json();
console.log(data.items); // Array of intel items

Python (requests)

import requests

resp = requests.get(
    "https://doomticker.com/api/rss-feed",
    params={"limit": 10},
    headers={"Authorization": "Bearer dt_your_api_key"}
)
data = resp.json()
for item in data["items"]:
    print(f"{item['source']}: {item['title']}")

Response Format

All endpoints return JSON with Content-Type: application/json. Error responses include:

{ "error": "Rate limit exceeded. Try again later." }  // 429
{ "error": "API key not configured" }                  // 500
{ "error": "Invalid request format" }                  // 400

Webhooks (Coming Soon)

Institutional tier will support webhooks for: domain threshold alerts, convergence alerts, promise tracker updates, and new high-severity intel items. Configure via API or dashboard settings.