Signal Market API

The Signal Market API provides programmatic access to the world's most structured AI technology intelligence layer. Designed for both human developers and AI agents that need machine-readable world state.

Base URL: https://signal-market.vercel.app/api  ·  Local: http://localhost:3001/api

# Get all signals in 30 seconds
curl https://signal-market.vercel.app/api/signals

# Get intelligence brief
curl https://signal-market.vercel.app/api/v2/brief

# Get WorldStateObject for a signal
curl https://signal-market.vercel.app/api/v2/world-state/evt_001

Authentication

Pass your API key in the Authorization header or as a query parameter.

Your API Key (demo)
sm_founder_95d12139a6c22bd5bdd33720462ad743
Replace with your personal key from the dashboard. Get a production key →
# Header (recommended)
curl -H "Authorization: Bearer sm_your_key_here" /api/signals

# Query parameter
curl /api/signals?api_key=sm_your_key_here

Rate Limits

PlanRequests/minRequests/dayHistory
Free101,0007 days
Pro6050,00090 days
Agent300UnlimitedFull

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

GET /api/signals

Returns all active signals, sorted by confidence. The primary intelligence feed.

GET /api/signals All active signals
QUERY PARAMETERS
stagestringFilter by stage: accelerating | forming | emerging | peak | fading
limitintegerMax results (default: 50, max: 200)
min_confidencefloatMinimum confidence threshold (0–1)
# Response
{
  "signals": [
    {
      "signal_id": "evt_001",
      "topic": "AI Agents",
      "stage": "accelerating",
      "confidence": 0.97,
      "impact_score": 0.92,
      "sources": ["arxiv:cs.AI", "huggingface:trending"],
      "cross_validated": true
    }
  ],
  "meta": { "total": 9, "sources_monitored": 6 }
}

GET /api/v2/world-state

Returns WorldStateObject v2 — the structured, agent-native representation of each signal. Includes event classification, related domains, causal phase, and propagation metadata.

GET /api/v2/world-state/:signal_id WorldStateObject v2
signal_idpath paramSignal ID (e.g. evt_001)
state_versionresponseSchema version ("2.0.0")
event.event_typeresponseresearch_breakthrough | adoption_signal | technology_emergence | technology_acceleration
event.related_domainsresponseAdjacent topics from graph topology
null fieldsresponseactors, propagation, scenario_sensitivity (P1/P2, not yet implemented)

GET /api/v2/brief

Compiled intelligence brief — structured for both human reading and agent consumption. Includes narrative, sections by stage, graph topology insight, and agent action items.

# Python: fetch brief for agent
import requests

brief = requests.get("https://signal-market.vercel.app/api/v2/brief").json()

# Accelerating signals
for section in brief["sections"]:
  if section["title"] == "Accelerating":
    for s in section["signals"]:
      print(s["topic"], s["confidence"])

Agent Quick Start

Signal Market is designed as a world-state interface for AI agents. Agents can query the current state of technology trends and receive structured, confidence-scored intelligence.

// LangChain / agent tool definition
const signalTool = {
  name: "get_technology_signals",
  description: "Get current AI technology trend signals with confidence scores",
  func: async (stage) => {
    const r = await fetch(`/api/signals?stage=${stage}`);
    return r.json();
  }
};

// WorldState for deep context
const wsTools = await fetch("/api/v2/world-state").then(r => r.json());
// Returns: event_type, related_domains, causal phase, agent action items

WorldStateObject v2 Schema

The v2 schema is designed to be agent-parseable: typed fields, explicit nulls with explanation, versioned.

{
  "signal_id": "evt_001", // stable identifier
  "state_version": "2.0.0", // schema version
  "event": {
    "event_type": "research_breakthrough", // derived from sources
    "entities": ["AI Agents"],
    "related_domains": ["LLM Infrastructure", "AI Coding"], // from graph
    "first_order_effects": ["tooling demand", "talent surge"],
    "actors": null, // P1: requires actor data pipeline
  },
  "confidence": 0.97,
  "causal_explanation": {
    "current_phase": "growing",
    "core_drivers": null // P0-B: implementing next
  },
  "propagation": null, // P1: blocked on actor data
  "lifecycle_stage": "accelerating",
  "time_horizon": "months"
}

Null fields are intentionally null — not missing. Each null has a documented implementation milestone. This is a commitment to honesty over fake completeness.

GET /api/v2/causal/:signal_id

Returns a CausalChainObject for a signal — why it's happening, what's driving it, what could stop it, and how urgent the decision window is.

GET /api/v2/causal all signals
GET /api/v2/causal/:signal_id single signal
# Causal analysis for AI Agents signal
curl /api/v2/causal/evt_001 -H "x-api-key: YOUR_KEY"

CausalChainObject schema:

{
  "primary_cause": "LLM capability crossing tool-use threshold",
  "mechanism": "GPT-4 demonstrated reliable function calling...",
  "enabling_factors": ["string"],
  "accelerants": ["string"], // what's making it faster
  "inhibitors": ["string"], // what could slow or reverse it
  "causal_chain": [{ "step": 1, "label": "...", "description": "..." }],
  "causal_confidence": 0.88,
  "causal_model_source": "domain_knowledge", // or "derived"
  "why_now": {
    "timing_factors": ["string"],
    "urgency": "high | medium | low",
    "window": "3–12 months"
  },
  "engine": "P0-B"
}