Signalcrest

API & MCP documentation

Programmatic access to cross-source momentum scores from ten developer and builder communities. Included with Radar at 10,000 requests/month — not a four-figure add-on.

Authentication

Generate a key in your dashboard. Keys are shown once and stored only as a hash — if you lose it, revoke and generate a new one. Pass it as a bearer token or in x-api-key:

curl -H "Authorization: Bearer sk_live_..." \
  "https://www.signalcrest.app/api/v1/entities?limit=10"

# equivalent
curl -H "x-api-key: sk_live_..." "https://www.signalcrest.app/api/v1/entities?limit=10"

Endpoints

Two layers: entities are trends aggregated across communities (one row per technology) — signals are the item-level evidence underneath them. Start with entities.

GET/api/v1/entities

Entities ranked by cross-source momentum.

Query: category (optional), limit (default 50, max 200).

Returns name, category, audience, signal_score, lifecycle, item_count, source_count, sources, first_seen_at.

GET/api/v1/entities/:name

Full detail for one entity: current composite, complete score history, and the member items the score aggregates. 404s with the list endpoint named if the entity is unknown.

GET/api/v1/signals

Live item-level signals, unredacted.

Query: category (optional), limit (default 50, max 200).

Returns id, source, title, url, category, summary, signal_score, source_spread, spread_entity, first_seen_at.

GET/api/v1/topics/:id

Full topic detail including complete score history.

Example response

{
  "count": 2,
  "entities": [
    {
      "name": "langchain",
      "category": "ai",
      "signal_score": 61.4,
      "lifecycle": "Heating",
      "item_count": 13,
      "source_count": 4,
      "sources": ["github", "hackernews", "npm", "devto"],
      "first_seen_at": "2026-07-19T04:31:12.000Z"
    }
  ]
}

Quotas & errors

StatusMeaning
401Missing or invalid key
403Key valid but the account isn't on Radar
404Unknown topic or entity
429Burst or monthly quota exceeded
503API temporarily unconfigured

MCP server

Query the same data from Claude Code, Claude Desktop, or Cursor — ask “what's heating up in AI tooling this week?” and the model pulls live scores. Same key, same quota.

claude mcp add --transport http signalcrest https://www.signalcrest.app/api/mcp \
  --header "Authorization: Bearer sk_live_..."

Or in a client's JSON config:

{
  "mcpServers": {
    "signalcrest": {
      "type": "http",
      "url": "https://www.signalcrest.app/api/mcp",
      "headers": { "Authorization": "Bearer sk_live_..." }
    }
  }
}

Four tools are exposed:

No-key surfaces

Free, no authentication, rate-limited by CDN cache:

How the scores are computed — every term, weight, and known limitation — is on the methodology page.