NewConnect Claude, Cursor, ChatGPT, and other AI agents to API Ninjas via our MCP server

Institutional Holdings API

The Institutional Holdings API exposes institutional investment-manager holdings parsed from SEC Form 13F-HR filings, sourced directly from SEC EDGAR. Free accounts can query the most recent quarter; historical quarters and the analytics endpoints require a paid plan.

Available endpoints:

(4.7)

From 6,994 users

2,100+

Applications using this API

API Status

Online - All Systems Operational

API Response Times

Average
P50
P75
P90
P95
361ms400ms456ms855ms1182ms

Didn't find what you were looking for? Suggest an improvement


/v1/institutionalholdings GET

https://api.api-ninjas.com/v1/institutionalholdings

Returns the portfolio of a 13F filer for a quarter — one record per holding. Identify the manager with cik or manager_name; defaults to the most recent reported quarter.

Parameters

  • cik  required*

    Manager SEC Central Index Key (e.g. 1067983). *Either cik or manager_name is required.

  • manager_name  optional

    Exact manager name (alternative to cik).

  • period  optional

    Quarter-end date (YYYY-MM-DD). Defaults to the latest quarter; free tier is limited to the most recent quarter.

  • ticker / cusip  optional

    Filter the portfolio to a single holding.

  • put_call  optional

    put or call to filter option positions.

  • min_value / max_value  optional

    Filter by reported market value (USD).

  • sort  optional

    value (default), shares, percent_of_portfolio, or issuer_name.

  • change_type  optional premium

    Comma-separated QoQ filter: new, sold_out, increased, decreased, unchanged. Business/Professional/annual only.

  • group_by  optional premium

    sector for a sector-allocation rollup. Business/Professional/annual only.

  • limit / offset  optional

    Pagination. limit default 50, max 1000.

Headers

  • X-Api-Key  required

    API Key associated with your account.

Response

A JSON array of holding records, or an error if the request is unsuccessful. Fields marked premium return an upgrade prompt for free-tier requests.

  • manager_name

    Institutional manager (filer) name.

  • cik

    Manager Central Index Key (zero-padded to 10 digits).

  • period

    Quarter-end date of the report (YYYY-MM-DD).

  • filing_date

    Date the 13F was filed with the SEC.

  • issuer_name

    Name of the security's issuer.

  • ticker

    Ticker symbol, mapped from the reported CUSIP where available.

  • cusip

    CUSIP as reported in the filing.

  • security_class

    Title of class (e.g. COM).

  • shares / share_type

    Shares (or principal amount) held, and SH/PRN.

  • market_value

    Reported market value in whole U.S. dollars.

  • percent_of_portfolio

    Position value as a percent of the manager's total 13F portfolio.

  • put_call

    Put, Call, or null for a long position.

  • investment_discretion

    SOLE, DFND, or OTR.

  • voting_authority_sole / _shared / _none

    Shares over which the manager has sole, shared, or no voting authority.

  • is_new premium

    true if the manager opened this position in the reported quarter.

  • share_change / share_change_percent premium

    Change in shares held versus the prior quarter.

  • sec_filing_url

    Link to the filing index on SEC EDGAR.

  • last_updated

    Unix timestamp (UTC) of the last record refresh.

Sample Request Live Demo!

cik
manager_name
period
ticker
sort
limit

Try this API endpoint with all available parameters in our API playground

https://api.api-ninjas.com/v1/institutionalholdings?cik=1067983

Headers

X-Api-KeyLog in or sign up to get your API Key

Sample Response

JSON
[
    {
      manager_name:"BERKSHIRE HATHAWAY INC",
      cik:"0001067983",
      period:"2025-03-31",
      filing_date:"2025-05-15",
      issuer_name:"APPLE INC",
      ticker:"AAPL",
      cusip:"037833100",
      security_class:"COM",
      shares:300000000,
      share_type:"SH",
      market_value:65010000000,
      percent_of_portfolio:24.83,
      put_call:null,
      investment_discretion:"SOLE",
      voting_authority_sole:300000000,
      voting_authority_shared:0,
      voting_authority_none:0,
      is_new:"This field is available for premium subscribers only. Please visit https://api-ninjas.com/pricing to upgrade.",
      share_change:"This field is available for premium subscribers only. Please visit https://api-ninjas.com/pricing to upgrade.",
      share_change_percent:"This field is available for premium subscribers only. Please visit https://api-ninjas.com/pricing to upgrade.",
      sec_filing_url:"https://www.sec.gov/Archives/edgar/data/1067983/000095012325005701/0000950123-25-005701-index.htm",
      data_source:"sec_edgar",
      last_updated:1747353600
    }
]

Code Examples

1 2 curl -X GET "https://api.api-ninjas.com/v1/institutionalholdings?cik=1067983" \ -H "X-Api-Key: YOUR_API_KEY"

/v1/institutionalownership GET

https://api.api-ninjas.com/v1/institutionalownership

Institutional ownership of a stock — every 13F manager holding a given security for a quarter. With summary=true it returns a single ownership-concentration aggregate instead of the holder list. Free tier is limited to the most recent quarter.

Parameters

  • ticker  required*

    Ticker symbol (e.g. AAPL). *Either ticker or cusip is required.

  • cusip  optional

    9-character CUSIP (alternative to ticker).

  • period  optional

    Quarter-end date (YYYY-MM-DD). Defaults to the latest; free tier is limited to the most recent quarter.

  • summary  optional premium

    true returns the concentration aggregate instead of the holder list. Business/Professional/annual only.

  • put_call  optional

    put or call; long positions are returned by default.

  • min_value / min_shares  optional

    Minimum market value (USD) / minimum shares held.

  • sort  optional

    value (default), shares, or manager_name.

  • limit / offset  optional

    Pagination. limit default 50, max 1000.

Headers

  • X-Api-Key  required

    API Key associated with your account.

Response

A JSON array of holder records (default):

  • manager_name / cik

    Institution holding the security and its Central Index Key.

  • ticker / cusip / issuer_name

    The security being held.

  • period

    Quarter-end date of the report.

  • shares / market_value

    Shares held and reported market value (whole USD).

  • percent_of_portfolio

    Position as a percent of the manager's 13F portfolio.

  • put_call

    Put, Call, or null.

  • filing_date / sec_filing_url

    Filing date and EDGAR link.

With summary=true, a single aggregate object instead:

  • institutional_holders_count

    Number of institutions holding the stock this quarter.

  • total_shares_held / total_market_value

    Aggregate across all institutional holders.

  • new_positions_count / closed_positions_count

    Holders opening / fully exiting this quarter.

  • increased_positions_count / decreased_positions_count

    Holders adding / trimming this quarter.

  • net_share_change

    Net share change across holders vs the prior quarter.

  • holders_count_change

    Change in holder count vs the prior quarter.

Sample Request Live Demo!

ticker
cusip
period
summary
sort
limit

Try this API endpoint with all available parameters in our API playground

https://api.api-ninjas.com/v1/institutionalownership?ticker=AAPL

Headers

X-Api-KeyLog in or sign up to get your API Key

Sample Response

JSON
[
    {
      ticker:"AAPL",
      cusip:"037833100",
      issuer_name:"APPLE INC",
      period:"2025-03-31",
      manager_name:"VANGUARD GROUP INC",
      cik:"0000102909",
      shares:1380000000,
      market_value:299000000000,
      percent_of_portfolio:4.71,
      put_call:null,
      filing_date:"2025-05-14",
      sec_filing_url:"https://www.sec.gov/Archives/edgar/data/102909/000110465925000000/0001104659-25-000000-index.htm"
    },
    {
      ticker:"AAPL",
      cusip:"037833100",
      issuer_name:"APPLE INC",
      period:"2025-03-31",
      manager_name:"BLACKROCK INC.",
      cik:"0001364742",
      shares:1050000000,
      market_value:227000000000,
      percent_of_portfolio:2.98,
      put_call:null,
      filing_date:"2025-05-12",
      sec_filing_url:"https://www.sec.gov/Archives/edgar/data/1364742/000108514625000000/0001085146-25-000000-index.htm"
    }
]

Code Examples

1 2 curl -X GET "https://api.api-ninjas.com/v1/institutionalownership?ticker=AAPL" \ -H "X-Api-Key: YOUR_API_KEY"

/v1/institutionalinvestors GET Premium only

https://api.api-ninjas.com/v1/institutionalinvestors

Directory and filing history of 13F institutions — the lookup that resolves a manager name to a CIK before you call /v1/institutionalholdings. The parameter you pass selects the mode; with no parameters it returns the most recent quarter's filings.

Parameters

  • name  optional

    Substring search of institution names; returns directory records.

  • cik  optional

    Returns that institution's filing history — one record per quarter.

  • period  optional

    Quarter-end date (YYYY-MM-DD); returns every institution that filed for that quarter.

  • period_list  optional

    true enumerates the available quarters with filing counts.

  • limit / offset  optional

    Pagination. limit default 50, max 1000.

Headers

  • X-Api-Key  required

    API Key associated with your account.

Response

Directory records (when searching by name):

  • manager_name / cik

    Institution and its Central Index Key.

  • latest_period / latest_filing_date

    Most recent quarter reported and the date it was filed.

  • num_holdings / portfolio_value

    Holdings count and total portfolio value of the latest filing.

  • first_period

    Earliest quarter on file for the institution.

Filing records (by cik or period):

  • manager_name / cik / period / filing_date

    Who filed, for which quarter, and when.

  • form_type / is_amendment / amendment_type

    13F-HR or 13F-HR/A, plus amendment details.

  • num_holdings / portfolio_value

    Holdings count and total value of the filing.

  • accession_number / sec_filing_url

    SEC accession number and the EDGAR filing link.

Quarter records (with period_list=true): quarter, period, and filing_count.

Sample Request Live Demo!

name
cik
period
period_list
limit

Try this API endpoint with all available parameters in our API playground

https://api.api-ninjas.com/v1/institutionalinvestors?name=Berkshire

Headers

X-Api-KeyLog in or sign up to get your API Key

Sample Response

JSON
[
    {
      manager_name:"BERKSHIRE HATHAWAY INC",
      cik:"0001067983",
      latest_period:"2025-03-31",
      latest_filing_date:"2025-05-15",
      num_holdings:38,
      portfolio_value:261000000000,
      first_period:"2013-12-31",
      data_source:"sec_edgar"
    }
]

Code Examples

1 2 curl -X GET "https://api.api-ninjas.com/v1/institutionalinvestors?name=Berkshire" \ -H "X-Api-Key: YOUR_API_KEY"

/v1/institutionalmovers GET Premium only

https://api.api-ninjas.com/v1/institutionalmovers

The biggest institutional moves of a quarter — a market-wide leaderboard, or (with cik) the largest moves within a single institution.

Parameters

  • mover_type  optional

    new_buys (default), exits, adds, or trims.

  • period  optional

    Quarter-end date (YYYY-MM-DD); defaults to the latest quarter.

  • cik  optional

    Rank the moves within a single institution instead of market-wide.

  • limit  optional

    Number of ranked rows to return. Default 50, max 1000.

Headers

  • X-Api-Key  required

    API Key associated with your account.

Response

A ranked JSON array. Market-wide rows include:

  • period / mover_type

    The quarter and the type of move.

  • ticker / cusip / issuer_name

    The security.

  • managers_adding / managers_exiting / managers_trimming

    Count of institutions making this move (the field name reflects the mover_type).

  • aggregate_share_change / aggregate_value_change

    Summed share and value change across those institutions.

  • rank

    Position on the leaderboard.

When cik is supplied, each row is one position with ticker, cusip, issuer_name, share_change, share_change_percent, market_value, prior_market_value, and rank.

Sample Request Live Demo!

mover_type
period
cik
limit

Try this API endpoint with all available parameters in our API playground

https://api.api-ninjas.com/v1/institutionalmovers?mover_type=new_buys

Headers

X-Api-KeyLog in or sign up to get your API Key

Sample Response

JSON
[
    {
      period:"2025-03-31",
      mover_type:"new_buys",
      ticker:"NVDA",
      cusip:"67066G104",
      issuer_name:"NVIDIA CORP",
      managers_adding:540,
      aggregate_share_change:88000000,
      aggregate_value_change:9600000000,
      rank:1
    },
    {
      period:"2025-03-31",
      mover_type:"new_buys",
      ticker:"AVGO",
      cusip:"11135F101",
      issuer_name:"BROADCOM INC",
      managers_adding:410,
      aggregate_share_change:24000000,
      aggregate_value_change:4200000000,
      rank:2
    }
]

Code Examples

1 2 curl -X GET "https://api.api-ninjas.com/v1/institutionalmovers?mover_type=new_buys" \ -H "X-Api-Key: YOUR_API_KEY"