Endpoints
/v1/directors
https://secfeedapi.com/v1/directorsBoard members: director compensation, age, director since.
| Parameter | Type | Description | Example |
|---|---|---|---|
ticker | string | Company ticker. Pass ticker or cik. | NVDA |
cik | integer | Company CIK. Pass ticker or cik. | 789019 |
accessionNo | string | A specific DEF 14A to read instead of the latest one. | 0001045810-26-000036 |
- Reads the director compensation table, then the nominee table for ages and start years.
- Directors who are also executives are usually not in the director compensation table and may be missing.
- age and directorSince are omitted when the proxy does not show them in a table the parser can match.
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
| Field | Type | Meaning |
|---|---|---|
cik | integer | Company CIK. |
accessionNo | string | The DEF 14A the data comes from. |
directors[] | array | One entry per director. |
directors[].name | string | Director name as printed in the proxy. |
directors[].totalCompensation | number | Total director compensation in dollars for the year. |
directors[].feesEarned | number | Fees earned or paid in cash. |
directors[].age | integer | Age, when the nominee table states it. |
directors[].directorSince | integer | Year 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
- 400 for an unknown ticker.
- 400 when no director tables are found in the proxy.
See also the error codes every endpoint shares.
Try it with your own key
500 free calls a month.