AnswerPool

Director Interlocks API: Board and officer interlock map for any public company — SEC EDGAR

Board and officer interlock map for any public company — the insiders from its SEC ownership filings joined to every other issuer they file for, with roles on both sides. One call replaces entity resolution across Forms 3/4/5.

$0.05 per call — pay with prepaid card credits (Authorization: Bearer ck_live_…, packs from $1) or with USDC over x402: call it, get 402 with the price, retry signed. Failed calls are never charged.

How do you call it?

GET /v1/graph/interlocks — product id graph_interlocks. Over MCP, call answerpool_get with product_id=graph_interlocks.

curl "https://answerpool.io/v1/graph/interlocks?ticker=JEF"

# with a prepaid credit key
curl -H "Authorization: Bearer ck_live_..." "https://answerpool.io/v1/graph/interlocks?ticker=JEF"

Live call: https://answerpool.io/v1/graph/interlocks?ticker=JEF · JSON sample: /v1/samples/graph_interlocks

What does the answer look like?

A representative response, the same static sample served at /v1/samples/graph_interlocks.

as_of2026-09-02T22:00:00Z
cik0000096223
companyJEFFERIES FINANCIAL GROUP INC.
index_started2026-08-27T00:00:00
insiders_seen14
count1
refresh_after2026-09-17T11:15:00.000Z

interlocks

ciktickercompanyshared_people
0001745431Vitesse Energy Inc.{"owner_cik":"0001211677","name":"FRIEDMAN BRIAN P","role_at_target":"director","role_at_other":"director","last_seen":"2026-08-29T20:11:03"}
The same sample as raw JSON
{
 "as_of": "2026-09-02T22:00:00Z",
 "cik": "0000096223",
 "company": "JEFFERIES FINANCIAL GROUP INC.",
 "index_started": "2026-08-27T00:00:00",
 "insiders_seen": 14,
 "count": 1,
 "interlocks": [
  {
   "cik": "0001745431",
   "ticker": null,
   "company": "Vitesse Energy Inc.",
   "shared_people": [
    {
     "owner_cik": "0001211677",
     "name": "FRIEDMAN BRIAN P",
     "role_at_target": "director",
     "role_at_other": "director",
     "last_seen": "2026-08-29T20:11:03"
    }
   ]
  }
 ],
 "refresh_after": "2026-09-17T11:15:00.000Z"
}

How fresh is it, and where does the data come from?

The fastest source behind this answer can change every 15 minutes, so every response carries a refresh_after timestamp — right now it would be 2026-09-17T11:15:00.000Z. Schedule the next call on that value rather than on a guess.

Method version 0.1.0 · serving cache 1 day · every response carries a result_id you can resolve at /v1/provenance.

When should you use it?

Governance or network analysis anchored on one company.

What you skip building

When should you not use it?

Historical boards predating our ownership index (each response states index_started; coverage compounds daily).

Where else can you find this?