NewConnect Claude, Gemini, 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
403ms425ms486ms711ms1284ms

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 our APIs in the API playground

Sign up for a free API key to get started — no credit card required.

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 our APIs in the API playground

Sign up for a free API key to get started — no credit card required.

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 our APIs in the API playground

Sign up for a free API key to get started — no credit card required.

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 our APIs in the API playground

Sign up for a free API key to get started — no credit card required.

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"

Frequently Asked Questions

  • Yes, but you must have a premium subscription. Commercial use of the Institutional Holdings API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.
  • Sign up for a free account to instantly get your API key, then pass it in the X-Api-Key header on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.
  • Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.
  • The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.
  • The Institutional Holdings API parses SEC Form 13F-HR filings — the quarterly equity holdings disclosed by institutional investment managers exercising discretion over $100M or more. It returns each manager's full portfolio, the institutional holders of any stock, quarter-over-quarter position changes, and a unified ownership overview, all sourced directly from SEC EDGAR. For officer and director (Form 4) activity, see the Insider Trading API.
  • Call /v1/institutionalholdings with a cik (or manager_name) to get that manager's portfolio for a quarter, or /v1/institutionalownership with a ticker to get every institution holding that stock. Because 13F filings are keyed on the manager's CIK, use /v1/institutionalinvestors to search managers by name and resolve their CIK first. Each holding includes shares, market value, percent of portfolio, and voting authority.
  • On Business, Professional, and annual plans you can pass ?change_type=new,sold_out,increased,decreased to /v1/institutionalholdings for quarter-over-quarter deltas, ?summary=true to /v1/institutionalownership for ownership concentration, query /v1/institutionalmovers for the biggest market-wide buys and exits. See the pricing page.
  • 13F holdings are reported quarterly and refreshed within about a day of each SEC filing. Free accounts can query the most recent quarter; historical quarters and the premium analytics endpoints require a paid plan. Securities are reported by CUSIP in 13F filings and mapped to tickers where available. Explore related data with the SEC Filing API and IPO API.