Skip to content
CapexSignal.

An API, not a portal with a download button.

Scope is a property of the key: a request may narrow it and can never widen it. Every response carries a bounding block saying whether the answer is complete, what it was scoped to, what was left out and what it cost.

Reading the evidence

  • GET /v1/scope

    What this key may read. The first call any integration should make.

  • GET /v1/search

    Full-text search across acquired documents, within scope.

  • GET /v1/claims

    Every fact held about a subject, with quotes, disagreements and an as-of date.

  • GET /v1/changes

    Current and superseded claims in an append-only, filterable evidence feed.

  • GET /v1/sources

    Per-source acquisition and knowledge-readiness, including visible mapping gaps.

  • GET /v1/coverage

    How much of a jurisdiction’s evidence ecosystem we actually see.

  • GET /v1/accuracy

    Published per-geography scorecards — the same artifact this website renders.

  • GET /v1/launch

    Public per-geography legal, freshness, daily-canary and independent-scorecard launch gates.

Relationships

  • GET /v1/related

    What an entity is connected to, bounded by hops and metered on edges expanded.

  • GET /v1/path

    How two entities are connected, with the documents that establish each link.

  • GET /v1/network

    A bounded neighbourhood around one entity.

  • GET /v1/exposures

    What two or more companies are both exposed to.

Analysis and bulk

  • GET /v1/sql

    Bounded SQL over the claim and document lakes. Reads only; scope comes from the key, never from the SQL.

  • GET /v1/export

    Presigned URLs to the same immutable Parquet segments the query engine reads, pinned to the same epoch.

Working with it

  • POST /v1/searches

    Save a search, with its scope narrowed to the key’s grant at the moment it is saved.

  • POST /v1/alerts

    Fire on matches committed since the alert last ran — never twice on the same match.

  • POST /v1/corrections

    Dispute a fact. Name the document, quote the words; it enters the same review queue as everything else.

  • POST /v1/mcp

    The same tools an agent reaches over stdio, over HTTP. Read-only.

Every answer says how it was bounded

"bounding": {
  "complete": false,
  "scope": ["GB"],
  "returned": 2,
  "available": 3,
  "note": "2 of 3 matches; 1 shard has no current index,
           so there may be documents not yet searchable",
  "charged": [
    { "unit": "requests", "quantity": 1 },
    { "unit": "bytes_scanned", "quantity": 57303 }
  ]
}

Metered in the unit that makes each surface expensive

A graph traversal through a hub and one through a leaf are not the same work, so relationships are charged on edges expanded. SQL and export are charged on bytes scanned. Charging everything as “one request” prices the cheap query out and the expensive one free.

Agents, over the same surface

The CapexSignal MCP endpoint exposes the same read-only tools an agent reaches over stdio. There is deliberately no tool that writes: a proposal is reviewable because it names the agent run behind it, and a call made on a customer key names nothing.

Unzoi's MCP endpoint is a separate first-party discovery overlay. It is not connected to customer claims until its binding terms and retention rights are reviewed, and its news metadata will not substitute for the original public document behind a claim.

Bulk export is the real segments

Not a second copy in a different format — the same immutable Parquet objects the query engine reads, pinned to the same manifest epoch. So an export is reconcilable against a query: both name the epoch, and “why does my file disagree with your API” has an answer.