전체 문서 탐색

대량 보유자 API 레퍼런스

Schedule 13D와 13G의 기업 5% 초과 보유자

개요

대량 보유자는 미국 기업 주식의 5%를 넘게 보유한 사람과 회사입니다. 경영권에 영향을 줄 수 있는 보유자는 Schedule 13D(activist 태그)로, 소극적 보유자는 Schedule 13G(passive 태그)로 보고하며, 둘 중 어느 쪽이든 정정도 보고합니다. 모든 요청에 Bearer 키가 필요하며, REST와 MCP는 하나의 크레딧 잔액을 함께 사용합니다.

4개 경로가 기업의 대량 보유자, 한 보유자의 기업 전체 대량 지분, 그리고 보유자나 기업을 찾는 이름 검색 2개를 다룹니다. 기업은 공시 API의 ID로 지정합니다. 예: usa:0000320193. 보유자는 CIK로 지정합니다.

기본적으로 경로는 현재 지분을 반환합니다. 즉 보유자별, 주식 종류별 가장 최근 공시입니다. 가장 최근 공시가 지분 매각 완료를 보고했거나 같은 제출 그룹의 이후 공시에서 빠진 지분은 나열하지 않습니다. 모든 공시를 최신순으로 읽으려면 history=true를 보내세요.

이력은 2024년 10월 공시부터 시작합니다. 보유자 지분 페이지는 limit보다 적은 행을 담고도 next_cursor로 끝날 수 있으므로, next_cursor가 null이 될 때까지 계속 읽으세요. 미국만 지원합니다.

기본 URL: https://api.narwhalapi.com. 아래 각 경로는 같은 매개변수를 가진 별도의 MCP 도구입니다.

임원, 이사, 10% 보유자는 다음 페이지에 있습니다: 내부자 거래 페이지.

기업 ID는 공시 API 기업 검색이 반환하는 값입니다.

모든 계정에 제공되는 것

항목모든 계정
대량 보유자, 4개 경로포함

확인 요금 페이지에서 호출당 비용을 확인할 수 있습니다. 라우트에 별도 안내가 없으면 요청은 해당 API의 가격으로 청구됩니다.

  • Companies 가격으로 청구됩니다. 성공한 응답은 행 수와 관계없이 호출 1회이며, 빈 페이지도 청구됩니다. 오류는 청구되지 않습니다. 결과가 없는 검색도 청구됩니다.
  • 숫자는 소수 문자열입니다. 값이 없는 필드는 생략하고, 목록은 항상 있으며, officer 같은 플래그는 true일 때만 보냅니다.
  • 공동 공시는 보고 대상자마다 행이 하나이며, 행들은 filing_id를 공유합니다. 각 대상자가 자기 표지에 같은 그룹 수치를 적으므로 한 공시의 사람들에 걸쳐 shares를 합산하지 마세요. 행을 filing_id로 묶고, 그룹 수치는 group_total에서 읽으세요.
  • 공시에 없거나 깔끔하게 읽을 수 없었던 수치는 생략합니다. 추정하지 않습니다.
  • 보유자 페이지는 기업 파일을 최대 30개까지 읽으므로, 수백 개 기업에 걸쳐 공동 공시를 한 보유자는 짧은 페이지가 오고 cursor로 끝납니다.
  • 읽을 수 없는 일부 공시는 응답에서 제외합니다. CUSIP은 어떤 응답에도 포함되지 않습니다.

엔드포인트

모든 경로는 GET이며, 키를 다음 헤더에 담아 보내야 합니다: Authorization: Bearer 헤더입니다. 예시는 응답의 형태를 보여 줄 뿐이며 실시간 데이터가 아닙니다.

기업의 대량 보유자 목록

GET /v1/companies/{company_id}/beneficial-owners

Schedule 13D와 13G 및 그 정정본에서 가져온 기업 주식의 5% 초과 보유자입니다. 기본적으로 보유자별, 주식 종류별 현재 지분을 반환하며, history를 쓰면 모든 공시를 반환합니다.

날짜는 각 지분의 가장 최근 공시를 고르기 전에 공시를 좁힙니다. 따라서 filed_lte를 쓰면 그 날 기준의 기업 대량 보유자를 얻습니다.

MCP: 도구 filings_list_beneficial_owners.

매개변수

매개변수위치필수유형의미
company_id경로예문자열기업 ID입니다. 예: usa:0000320193. usa:AAPL 같은 티커 별칭도 사용할 수 있습니다.
schedule쿼리아니요one of 13D, 13G13D(경영권에 영향을 줄 수 있는 보유자) 또는 13G(소극적 보유자)만 반환합니다.
type쿼리아니요one of activist, passiveactivist는 13D와 같고 passive는 13G와 같습니다. schedule도 함께 보내면 둘이 일치해야 합니다.
history쿼리아니요불리언기본값 false는 현재 지분을 반환하고, true는 모든 공시를 최신순으로 반환합니다.
is_latest쿼리아니요불리언history=true일 때만 사용합니다. true는 지분별 최신 공시만 남기고, false는 이전 공시를 남깁니다.
filed쿼리아니요날짜이 날 제출된 공시만 반환합니다.
filed_from쿼리아니요날짜filed_gte와 같습니다.
filed_to쿼리아니요날짜filed_lte와 같습니다.
filed_gt쿼리아니요날짜이 날 이후에 제출된 공시만 반환합니다.
filed_gte쿼리아니요날짜이 날 또는 그 이후에 제출된 공시만 반환합니다.
filed_lt쿼리아니요날짜이 날 이전에 제출된 공시만 반환합니다.
filed_lte쿼리아니요날짜이 날 또는 그 이전에 제출된 공시만 반환합니다.
cursor쿼리아니요문자열이전 페이지의 next_cursor. 다른 매개변수는 동일하게 유지합니다.
limit쿼리아니요정수페이지당 행 수입니다. 기본값 50, 최대 1000입니다.

응답 필드

필드유형전송의미
id문자열항상소유자 경로에서는 기업 ID, 지분 경로에서는 보유자 ID입니다.
company문자열선택기업 이름입니다.
owners객체 목록항상기업의 대량 보유자를 최신순으로 나열합니다.
owners[].filing_id문자열항상이 행의 출처가 된 공시의 ID입니다.
owners[].formone of 13D, 13D/A, 13G, 13G/A항상스케줄 종류와 이전 공시의 정정 여부: 13D, 13D/A, 13G 또는 13G/A입니다.
owners[].filed날짜항상공시가 제출된 날입니다.
owners[].accepted날짜·시간선택SEC가 공시를 접수한 시각입니다.
owners[].event_date날짜선택공시 의무를 발생시킨 사건의 날짜입니다.
owners[].amendment_number정수선택정정 번호이며, 공시에 명시된 경우에 제공합니다.
owners[].filer_id문자열선택공시의 첫 번째 제출자(공시를 제출한 회사)의 ID입니다.
owners[].filer문자열선택첫 번째 제출자의 이름입니다. 보고 대상자와 다를 수 있습니다.
owners[].holder_id문자열선택보고 대상자의 ID입니다. 개인은 ID가 없습니다.
owners[].holder문자열항상보고 대상자의 이름입니다.
owners[].holder_type문자열선택대상자의 표지 코드: IN 개인, CO 법인, PN 파트너십, IA 투자자문사, HC 지주회사, BK 은행, 그 밖의 코드가 있습니다.
owners[].citizenship문자열선택대상자의 국적 또는 설립 소재지입니다.
owners[].class_title문자열선택주식 종류의 명칭입니다.
owners[].shares문자열선택대상자가 보유한다고 보고한 주식 수입니다. 공동 공시에서는 사람별 값을 합산하지 마세요. group_total을 사용하세요.
owners[].percent_of_class문자열선택대상자가 보유한다고 보고한 해당 종류의 비율입니다.
owners[].sole_voting_power문자열선택대상자가 단독으로 의결권을 행사할 수 있는 주식 수입니다.
owners[].shared_voting_power문자열선택대상자가 의결권을 공유하는 주식 수입니다.
owners[].sole_dispositive_power문자열선택대상자가 단독으로 처분할 수 있는 주식 수입니다.
owners[].shared_dispositive_power문자열선택대상자가 처분 권한을 공유하는 주식 수입니다.
owners[].group_boxone of a, b, ab선택대상자가 표지 2행에서 체크한 것: a는 그룹 구성원, b는 그룹 구성원이 아니거나 인정하지 않음, ab는 둘 다입니다.
owners[].rule문자열선택13G가 제출된 근거 규칙: 13d-1(b), 13d-1(c) 또는 13d-1(d)입니다.
owners[].funds문자열선택13D의 자금 출처 코드입니다. 예: WC, AF, PF, OO.
owners[].typeone of activist, passive선택Schedule 13D는 activist, Schedule 13G는 passive입니다.
owners[].legal_proceedings항상 true선택법적 절차 표지 칸이 체크되어 있으면 true입니다.
owners[].excludes_certain_shares항상 true선택특정 주식 제외 표지 칸이 체크되어 있으면 true입니다.
owners[].previously_filed항상 true선택공시에 이전 제출 표시가 있으면 true입니다.
owners[].issuer_address문자열선택공시에 적힌 기업 주소입니다.
owners[].purpose문자열선택13D의 Item 4, 거래 목적입니다. 4,000자에서 잘립니다.
owners[].items객체선택13D의 Item 1, 2, 3, 5, 6 또는 13G의 Item 8의 본문이며, 각각 4,000자에서 잘립니다. 공시에 있는 항목만 제공합니다.
owners[].joint정수선택공시에 이름이 오른 사람 수입니다.
owners[].repeat항상 true선택공시에서 앞선 대상자가 이미 밝힌 수치를 이 대상자가 밝히면 true입니다.
owners[].group_total문자열선택공동 공시에서 대상자들이 보고한 합계 중 가장 큰 값입니다. 그룹의 수치는 여기서 읽으세요.
owners[].is_latest불리언항상요청이 남긴 공시 가운데 해당 지분의 가장 최근 공시이면 true입니다.
owners[].exit항상 true선택공시가 보유자를 5% 이하 또는 주식 없음으로 보고하면 true입니다.
owners[].superseded항상 true선택같은 제출 그룹의 이후 공시가 더 이상 올리지 않은 지분의 가장 최근 공시이면 true입니다.
next_cursor문자열항상다음 페이지를 읽으려면 cursor로 전달합니다. 항상 제공하며 마지막 페이지에서는 null입니다.
요청
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/companies/usa:0000320193/beneficial-owners?limit=1"
응답 예시
{
  "id": "usa:0000320193",
  "company": "Apple Inc.",
  "owners": [
    {
      "filing_id": "usa:0000320193:0002100119-26-000139",
      "form": "13G",
      "filed": "2026-04-29",
      "accepted": "2026-04-29T16:40:10Z",
      "event_date": "2026-03-31",
      "filer_id": "usa:0002100119",
      "filer": "VANGUARD CAPITAL MANAGEMENT LLC",
      "holder_id": "usa:0002100119",
      "holder": "Vanguard Capital Management",
      "holder_type": "IA",
      "citizenship": "PA",
      "class_title": "Common Stock",
      "shares": "1099168953",
      "percent_of_class": "7.48",
      "sole_voting_power": "145321305",
      "shared_voting_power": "0",
      "sole_dispositive_power": "1099168953",
      "shared_dispositive_power": "0",
      "rule": "13d-1(b)",
      "issuer_address": "1 Apple Park Way, Cupertino, CA, 95014",
      "is_latest": true
    }
  ],
  "next_cursor": null
}

보유자의 대량 지분 목록

GET /v1/investors/{cik}/beneficial-ownership

한 보유자가 Schedule 13D와 13G를 근거로 여러 기업에 걸쳐 보유한 지분입니다. 기본적으로 기업별, 주식 종류별 현재 지분을 반환하며 history를 쓰면 모든 공시를 반환합니다. 한 페이지의 행이 limit보다 적어도 next_cursor로 끝날 수 있으니 null이 될 때까지 계속 읽으세요.

cik 값은 보유자의 CIK입니다. 각 행의 company_id와 company는 지분이 속한 기업을 나타냅니다. ticker를 쓰면 한 기업의 지분만 남기며, 어느 기업과도 맞지 않는 티커는 404 company_not_found입니다.

페이지가 limit보다 짧을 수 있습니다. next_cursor가 null이 될 때까지 계속 따라가세요.

MCP: 도구 filings_list_investor_beneficial_ownership.

매개변수

매개변수위치필수유형의미
cik경로예문자열보유자의 CIK이며 1~10자리 숫자입니다.
schedule쿼리아니요one of 13D, 13G13D(경영권에 영향을 줄 수 있는 보유자) 또는 13G(소극적 보유자)만 반환합니다.
type쿼리아니요one of activist, passiveactivist는 13D와 같고 passive는 13G와 같습니다. schedule도 함께 보내면 둘이 일치해야 합니다.
history쿼리아니요불리언기본값 false는 현재 지분을 반환하고, true는 모든 공시를 최신순으로 반환합니다.
is_latest쿼리아니요불리언history=true일 때만 사용합니다. true는 지분별 최신 공시만 남기고, false는 이전 공시를 남깁니다.
filed쿼리아니요날짜이 날 제출된 공시만 반환합니다.
filed_from쿼리아니요날짜filed_gte와 같습니다.
filed_to쿼리아니요날짜filed_lte와 같습니다.
filed_gt쿼리아니요날짜이 날 이후에 제출된 공시만 반환합니다.
filed_gte쿼리아니요날짜이 날 또는 그 이후에 제출된 공시만 반환합니다.
filed_lt쿼리아니요날짜이 날 이전에 제출된 공시만 반환합니다.
filed_lte쿼리아니요날짜이 날 또는 그 이전에 제출된 공시만 반환합니다.
cursor쿼리아니요문자열이전 페이지의 next_cursor. 다른 매개변수는 동일하게 유지합니다.
limit쿼리아니요정수페이지당 행 수입니다. 기본값 50, 최대 1000입니다.
ticker쿼리아니요문자열이 티커를 가진 기업에 대한 지분만 반환합니다.

응답 필드

필드유형전송의미
id문자열항상소유자 경로에서는 기업 ID, 지분 경로에서는 보유자 ID입니다.
holder문자열선택보유자 이름입니다.
stakes객체 목록항상보유자의 지분을 최신순으로 나열합니다.
stakes[].filing_id문자열항상이 행의 출처가 된 공시의 ID입니다.
stakes[].formone of 13D, 13D/A, 13G, 13G/A항상스케줄 종류와 이전 공시의 정정 여부: 13D, 13D/A, 13G 또는 13G/A입니다.
stakes[].filed날짜항상공시가 제출된 날입니다.
stakes[].accepted날짜·시간선택SEC가 공시를 접수한 시각입니다.
stakes[].event_date날짜선택공시 의무를 발생시킨 사건의 날짜입니다.
stakes[].amendment_number정수선택정정 번호이며, 공시에 명시된 경우에 제공합니다.
stakes[].filer_id문자열선택공시의 첫 번째 제출자(공시를 제출한 회사)의 ID입니다.
stakes[].filer문자열선택첫 번째 제출자의 이름입니다. 보고 대상자와 다를 수 있습니다.
stakes[].holder_id문자열선택보고 대상자의 ID입니다. 개인은 ID가 없습니다.
stakes[].holder문자열항상보고 대상자의 이름입니다.
stakes[].holder_type문자열선택대상자의 표지 코드: IN 개인, CO 법인, PN 파트너십, IA 투자자문사, HC 지주회사, BK 은행, 그 밖의 코드가 있습니다.
stakes[].citizenship문자열선택대상자의 국적 또는 설립 소재지입니다.
stakes[].class_title문자열선택주식 종류의 명칭입니다.
stakes[].shares문자열선택대상자가 보유한다고 보고한 주식 수입니다. 공동 공시에서는 사람별 값을 합산하지 마세요. group_total을 사용하세요.
stakes[].percent_of_class문자열선택대상자가 보유한다고 보고한 해당 종류의 비율입니다.
stakes[].sole_voting_power문자열선택대상자가 단독으로 의결권을 행사할 수 있는 주식 수입니다.
stakes[].shared_voting_power문자열선택대상자가 의결권을 공유하는 주식 수입니다.
stakes[].sole_dispositive_power문자열선택대상자가 단독으로 처분할 수 있는 주식 수입니다.
stakes[].shared_dispositive_power문자열선택대상자가 처분 권한을 공유하는 주식 수입니다.
stakes[].group_boxone of a, b, ab선택대상자가 표지 2행에서 체크한 것: a는 그룹 구성원, b는 그룹 구성원이 아니거나 인정하지 않음, ab는 둘 다입니다.
stakes[].rule문자열선택13G가 제출된 근거 규칙: 13d-1(b), 13d-1(c) 또는 13d-1(d)입니다.
stakes[].funds문자열선택13D의 자금 출처 코드입니다. 예: WC, AF, PF, OO.
stakes[].typeone of activist, passive선택Schedule 13D는 activist, Schedule 13G는 passive입니다.
stakes[].legal_proceedings항상 true선택법적 절차 표지 칸이 체크되어 있으면 true입니다.
stakes[].excludes_certain_shares항상 true선택특정 주식 제외 표지 칸이 체크되어 있으면 true입니다.
stakes[].previously_filed항상 true선택공시에 이전 제출 표시가 있으면 true입니다.
stakes[].issuer_address문자열선택공시에 적힌 기업 주소입니다.
stakes[].purpose문자열선택13D의 Item 4, 거래 목적입니다. 4,000자에서 잘립니다.
stakes[].items객체선택13D의 Item 1, 2, 3, 5, 6 또는 13G의 Item 8의 본문이며, 각각 4,000자에서 잘립니다. 공시에 있는 항목만 제공합니다.
stakes[].joint정수선택공시에 이름이 오른 사람 수입니다.
stakes[].repeat항상 true선택공시에서 앞선 대상자가 이미 밝힌 수치를 이 대상자가 밝히면 true입니다.
stakes[].group_total문자열선택공동 공시에서 대상자들이 보고한 합계 중 가장 큰 값입니다. 그룹의 수치는 여기서 읽으세요.
stakes[].is_latest불리언항상요청이 남긴 공시 가운데 해당 지분의 가장 최근 공시이면 true입니다.
stakes[].exit항상 true선택공시가 보유자를 5% 이하 또는 주식 없음으로 보고하면 true입니다.
stakes[].superseded항상 true선택같은 제출 그룹의 이후 공시가 더 이상 올리지 않은 지분의 가장 최근 공시이면 true입니다.
stakes[].company_id문자열항상지분이 속한 기업의 ID입니다.
stakes[].company문자열선택지분이 속한 기업의 이름입니다.
next_cursor문자열항상다음 페이지를 읽으려면 cursor로 전달합니다. 항상 제공하며 마지막 페이지에서는 null입니다.
요청
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/investors/0000102909/beneficial-ownership?filed_lte=2025-10-31&limit=1"
응답 예시
{
  "id": "usa:0000102909",
  "holder": "The Vanguard Group",
  "stakes": [
    {
      "filing_id": "usa:0001770450:0000102909-25-000347",
      "form": "13G/A",
      "filed": "2025-10-31",
      "accepted": "2025-10-31T11:42:47Z",
      "event_date": "2025-09-30",
      "amendment_number": 8,
      "filer_id": "usa:0000102909",
      "filer": "VANGUARD GROUP INC",
      "holder_id": "usa:0000102909",
      "holder": "The Vanguard Group",
      "holder_type": "IA",
      "citizenship": "PA",
      "class_title": "Common Stock",
      "shares": "10397351",
      "percent_of_class": "8.26",
      "sole_voting_power": "0",
      "shared_voting_power": "733054",
      "sole_dispositive_power": "9549123",
      "shared_dispositive_power": "848228",
      "rule": "13d-1(b)",
      "issuer_address": "201 Merritt 7, Norwalk, CT, 06851",
      "is_latest": true,
      "company_id": "usa:0001770450",
      "company": "Xerox Holdings Corp"
    }
  ],
  "next_cursor": "eyJrIjoiNzk3NDg5Njg3OTc0…"
}

이름으로 대량 보유자 제출자 검색

GET /v1/beneficial-ownership/filers

Schedule 13D 또는 13G를 제출하는 보유자를 이름의 앞부분으로 찾습니다. 지분 경로의 cik 값으로 쓸 id를 반환합니다.

지분 경로의 cik 값으로 전달할 id를 반환합니다. 이름에는 Inc 같은 단어를 제외하고 글자나 숫자가 2개 이상 있어야 하며, 그렇지 않으면 400 invalid_name입니다.

MCP: 도구 filings_search_beneficial_ownership_filers.

매개변수

매개변수위치필수유형의미
name쿼리예문자열이름의 앞 글자입니다. 글자나 숫자가 2개 이상이어야 합니다.
country쿼리아니요문자열검색할 등록처의 세 글자 국가 코드입니다. 생략하면 USA입니다. 이 경로가 지원하지 않는 국가는 404 not_covered입니다.
limit쿼리아니요정수반환할 검색 결과 수입니다. 기본값 20, 최대 100입니다.

응답 필드

필드유형전송의미
filers객체 목록항상이름이 해당 텍스트로 시작하는 제출자입니다.
filers[].id문자열항상제출자의 ID이며, 지분 경로의 cik 값으로 전달합니다.
filers[].name문자열항상제출자가 공시에서 사용한 이름입니다.
요청
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/beneficial-ownership/filers?name=vanguard&limit=3"
응답 예시
{
  "filers": [
    {
      "id": "usa:0002100119",
      "name": "VANGUARD CAPITAL MANAGEMENT LLC"
    },
    {
      "id": "usa:0001623658",
      "name": "Vanguard Charitable Endowment Program"
    },
    {
      "id": "usa:0002059874",
      "name": "Vanguard Development Holdings Limited"
    }
  ]
}

이름으로 대량 보유자가 있는 기업 검색

GET /v1/beneficial-ownership/companies

Schedule 13D 또는 13G 공시의 대상이 된 기업을 이름의 앞부분으로 찾습니다. 소유자 경로의 company_id 값으로 쓸 id를 반환합니다.

소유자 경로의 company_id 값으로 전달할 id를 반환합니다.

MCP: 도구 filings_search_beneficial_ownership_companies.

매개변수

매개변수위치필수유형의미
name쿼리예문자열이름의 앞 글자입니다. 글자나 숫자가 2개 이상이어야 합니다.
country쿼리아니요문자열검색할 등록처의 세 글자 국가 코드입니다. 생략하면 USA입니다. 이 경로가 지원하지 않는 국가는 404 not_covered입니다.
limit쿼리아니요정수반환할 검색 결과 수입니다. 기본값 20, 최대 100입니다.

응답 필드

필드유형전송의미
companies객체 목록항상이름이 해당 텍스트로 시작하는 기업입니다.
companies[].id문자열항상기업의 ID이며, 소유자 경로의 company_id 값으로 전달합니다.
companies[].name문자열항상기업 이름입니다.
요청
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/beneficial-ownership/companies?name=apple&limit=2"
응답 예시
{
  "companies": [
    {
      "id": "usa:0000320193",
      "name": "Apple Inc."
    },
    {
      "id": "usa:0001418121",
      "name": "Apple Hospitality REIT, Inc."
    }
  ]
}

오류

오류는 공통 문제 형식을 사용하며, 다음 필드를 포함합니다: request_id. 확인 API 오류 코드와 크레딧 형식과 크레딧 헤더에 대한 설명이 있습니다. 실패한 요청에는 요금이 부과되지 않습니다.

코드상태의미
invalid_query400매개변수가 없거나, 알 수 없거나, 중복되었거나, 범위를 벗어났습니다.
invalid_cursor400이 요청이 반환한 커서가 아니거나, 다른 요청의 커서입니다.
invalid_name400Inc 같은 단어를 제외하면 이름에 글자나 숫자가 2개 미만입니다.
company_not_found404ID와 일치하는 기업이 없습니다.
investor_not_found404CIK와 일치하는 Schedule 13D 또는 13G 제출자가 없습니다.
not_covered404해당 시장, 국가 또는 기업은 아직 제공되지 않습니다.
insufficient_credits402크레딧 잔액이 요청 비용보다 적습니다.
company_data_unavailable503이 경로의 근거 공시를 지금은 읽을 수 없습니다. 잠시 후 다시 시도하세요.

이 페이지가 도움이 되었나요?