Home / Developers / Board of Directors API
API reference

Board of Directors API

The board of directors of a company from its latest proxy statement (DEF 14A): each director's compensation, cash fees, and where the proxy states them, age and the year they joined the board. Product overview →

Endpoints

/v1/directors

GEThttps://secfeedapi.com/v1/directors

Board members: director compensation, age, director since.

ParameterTypeDescriptionExample
tickerstringCompany ticker. Pass ticker or cik.NVDA
cikintegerCompany CIK. Pass ticker or cik.789019
accessionNostringA specific DEF 14A to read instead of the latest one.0001045810-26-000036

Request examples

Every response below is real output from the API, trimmed to the first records.

Board of a company by ticker

Compensation for every non-employee director, plus age and start year where the proxy lists them.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=NVDA"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/directors",
    params={'ticker': 'NVDA'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 1045810,
  "accessionNo": "0001045810-26-000036",
  "directors": [
    {
      "name": "Robert K. Burgess",
      "totalCompensation": 342559.0,
      "feesEarned": 63750.0
    },
    {
      "name": "Tench Coxe",
      "totalCompensation": 363809.0,
      "feesEarned": 85000.0,
      "age": 68,
      "directorSince": 1993
    }
  ]
}

Another board

accessionNo tells you which proxy statement the data comes from.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=AAPL"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/directors",
    params={'ticker': 'AAPL'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 320193,
  "accessionNo": "0001308179-26-000008",
  "directors": [
    {
      "name": "Wanda Austin",
      "totalCompensation": 412850.0,
      "feesEarned": 100000.0,
      "age": 71,
      "directorSince": 2024
    },
    {
      "name": "Alex Gorsky",
      "totalCompensation": 416492.0,
      "feesEarned": 100000.0,
      "age": 65,
      "directorSince": 2021
    }
  ]
}

By CIK

Some proxies put ages in text rather than a table; those rows only have compensation.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?cik=789019"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/directors",
    params={'cik': '789019'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "cik": 789019,
  "accessionNo": "0001193125-25-245150",
  "directors": [
    {
      "name": "Reid G. Hoffman",
      "totalCompensation": 367500.0,
      "feesEarned": 125000.0
    },
    {
      "name": "Hugh F. Johnston",
      "totalCompensation": 412500.0,
      "feesEarned": 170000.0
    }
  ]
}

Response fields

FieldTypeMeaning
cikintegerCompany CIK.
accessionNostringThe DEF 14A the data comes from.
directors[]arrayOne entry per director.
directors[].namestringDirector name as printed in the proxy.
directors[].totalCompensationnumberTotal director compensation in dollars for the year.
directors[].feesEarnednumberFees earned or paid in cash.
directors[].ageintegerAge, when the nominee table states it.
directors[].directorSinceintegerYear the director joined the board, when stated.

How to

How do I list a company's directors?

Call with the ticker; directors[].name lists everyone in the compensation and nominee tables.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=AAPL"
How much are directors paid?

totalCompensation is the total for the year; feesEarned is the cash part.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=NVDA"
How do I find the longest serving directors?

Sort by directorSince where it is present.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=NVDA"
How do I compare board pay across companies?

Call once per ticker and compare the median totalCompensation.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=AAPL"
How do I read an older proxy?

Find the DEF 14A with the filing search and pass its accessionNo.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/filings?query=formType:%22DEF%2014A%22%20AND%20ticker:NVDA&size=2"
Why is the CEO missing?

Executive directors are paid as executives and usually do not appear in the director compensation table; see /v1/executive-compensation.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=NVDA"
Why do some directors have no age?

The proxy states ages in a table the parser did not match, or only in prose. Compensation is still returned.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?cik=789019"
Which proxy did the data come from?

accessionNo identifies it; list its files with /v1/files.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/directors?ticker=AAPL"

Errors

See also the error codes every endpoint shares.

Try it with your own key

500 free calls a month.

Get free API key →