SEC EDGAR API endpoint
Returns the latest 13F-HR holdings for an institutional manager (by CIK): issuer, value, shares, sorted by value.
/sec/institutional-holdingsReturns the latest 13F-HR holdings for an institutional investment manager (identified by CIK), sorted by position value. Official SEC data.
Query parameters:
cik (required) — the institutional manager's CIK (13F managers are identified by CIK, not ticker).limit (optional, default 50, max 1000) — max holdings.Response includes summary (manager_name, accession_number, report_date, total_value, total_holdings) and holdings[]: issuer, title_of_class, cusip, value, shares, share_type, put_call, investment_discretion.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| issuer | 20 | “AMERICAN EXPRESS CO” and 11 other values |
| title_of_class | 20 | COM (17), CAP STK CL A (1), CAP STK CL C (1) and 1 more |
| cusip | 20 | “025816109” and 12 other values |
| value | 20 | 3,331,328,308 to 50,419,898,471, median 9,606,489,032 |
| shares | 20 | 11,973,928 to 325,634,818, median 58,251,749 |
| share_type | 20 | SH in all 20 |
| investment_discretion | 20 | DFND in all 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| cik | string | Yes | Institutional manager CIK | 1067983 | |
| limit | integer | No | Max holdings, default 50, max 1000 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/sec/institutional-holdings?cik=1067983&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"cik": 1067983,
"manager_name": "BERKSHIRE HATHAWAY INC",
"accession_number": "0000950123-25-000001",
"total_value": 263095703570,
"total_holdings": 40,
"count": 1,
"holdings": [
{
"issuer": "AMERICAN EXPRESS CO",
"title_of_class": "COM",
"cusip": "025816109",
"value": 45087984892,
"shares": 149061045,
"share_type": "SH",
"investment_discretion": "DFND"
}
],
"source_url": "https://www.sec.gov/Archives/edgar/data/1067983/000095012325000001/"
}
}Request schema
No body schema
Response schema
#/definitions/sec.holdingsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | sec.HoldingsResponse | No | ||||
| data.accession_number | string | No | SEC accession number of the 13F filing the holdings come from. | |||
| data.cik | integer | No | Institutional manager's SEC Central Index Key (CIK) number. | |||
| data.count | integer | No | Number of holdings returned. | |||
| data.filing_date | string | No | Date the 13F was filed, in YYYY-MM-DD format. | |||
| data.holdings | array | No | Positions from the filing, largest value first. | |||
| data.holdings[].cusip | string | No | CUSIP identifier of the security. | |||
| data.holdings[].investment_discretion | string | No | Type of investment discretion the manager holds over the position, such as `SOLE` or `DFND`. | |||
| data.holdings[].issuer | string | No | Name of the company that issued the security. | |||
| data.holdings[].put_call | string | No | Put or call, for option positions. | |||
| data.holdings[].share_type | string | No | `SH` when `shares` counts shares, `PRN` when it is a principal amount. | |||
| data.holdings[].shares | number | No | Number of shares or principal amount held, depending on `share_type`. | |||
| data.holdings[].title_of_class | string | No | Class of the security, such as `COM` for common stock. | |||
| data.holdings[].value | number | No | Market value of the position as reported in the 13F filing. | |||
| data.manager_name | string | No | Name of the institutional investment manager. | |||
| data.report_date | string | No | Quarter end date the holdings are reported for, in YYYY-MM-DD format. | |||
| data.source_url | string | No | URL the data was read from. | |||
| data.total_holdings | integer | No | Number of positions in the filing, before the `limit` is applied. | |||
| data.total_value | number | No | Sum of the value of every position in the filing. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/sec/institutional-holdings?cik=1067983&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"