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:
- /v1/institutionalholdings — a manager's full 13F portfolio for a quarter
- /v1/institutionalownership — every institution holding a given stock
- /v1/institutionalinvestors — search institutions and their filing history
- /v1/institutionalmovers — biggest institutional buys and exits per quarter
From 6,994 users
Applications using this API
API Status
API Response Times
Average | P50 | P75 | P90 | P95 |
|---|---|---|---|---|
| 403ms | 425ms | 486ms | 711ms | 1284ms |
Similar APIs
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
cikrequired*Manager SEC Central Index Key (e.g.
1067983). *Eithercikormanager_nameis required.manager_nameoptionalExact manager name (alternative to cik).
periodoptionalQuarter-end date (YYYY-MM-DD). Defaults to the latest quarter; free tier is limited to the most recent quarter.
ticker/cusipoptionalFilter the portfolio to a single holding.
put_calloptionalputorcallto filter option positions.min_value/max_valueoptionalFilter by reported market value (USD).
sortoptionalvalue(default),shares,percent_of_portfolio, orissuer_name.change_typeoptional premiumComma-separated QoQ filter:
new,sold_out,increased,decreased,unchanged. Business/Professional/annual only.group_byoptional premiumsectorfor a sector-allocation rollup. Business/Professional/annual only.limit/offsetoptionalPagination.
limitdefault 50, max 1000.
Headers
X-Api-KeyrequiredAPI 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_nameInstitutional manager (filer) name.
cikManager Central Index Key (zero-padded to 10 digits).
periodQuarter-end date of the report (YYYY-MM-DD).
filing_dateDate the 13F was filed with the SEC.
issuer_nameName of the security's issuer.
tickerTicker symbol, mapped from the reported CUSIP where available.
cusipCUSIP as reported in the filing.
security_classTitle of class (e.g.
COM).shares/share_typeShares (or principal amount) held, and
SH/PRN.market_valueReported market value in whole U.S. dollars.
percent_of_portfolioPosition value as a percent of the manager's total 13F portfolio.
put_callPut,Call, ornullfor a long position.investment_discretionSOLE,DFND, orOTR.voting_authority_sole/_shared/_noneShares over which the manager has sole, shared, or no voting authority.
is_newpremiumtrue if the manager opened this position in the reported quarter.
share_change/share_change_percentpremiumChange in shares held versus the prior quarter.
sec_filing_urlLink to the filing index on SEC EDGAR.
last_updatedUnix timestamp (UTC) of the last record refresh.
Sample Request Live Demo!
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=1067983Headers
X-Api-KeyLog in or sign up to get your API KeySample Response
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
tickerrequired*Ticker symbol (e.g.
AAPL). *Eithertickerorcusipis required.cusipoptional9-character CUSIP (alternative to ticker).
periodoptionalQuarter-end date (YYYY-MM-DD). Defaults to the latest; free tier is limited to the most recent quarter.
summaryoptional premiumtruereturns the concentration aggregate instead of the holder list. Business/Professional/annual only.put_calloptionalputorcall; long positions are returned by default.min_value/min_sharesoptionalMinimum market value (USD) / minimum shares held.
sortoptionalvalue(default),shares, ormanager_name.limit/offsetoptionalPagination.
limitdefault 50, max 1000.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A JSON array of holder records (default):
manager_name/cikInstitution holding the security and its Central Index Key.
ticker/cusip/issuer_nameThe security being held.
periodQuarter-end date of the report.
shares/market_valueShares held and reported market value (whole USD).
percent_of_portfolioPosition as a percent of the manager's 13F portfolio.
put_callPut,Call, ornull.filing_date/sec_filing_urlFiling date and EDGAR link.
With summary=true, a single aggregate object instead:
institutional_holders_countNumber of institutions holding the stock this quarter.
total_shares_held/total_market_valueAggregate across all institutional holders.
new_positions_count/closed_positions_countHolders opening / fully exiting this quarter.
increased_positions_count/decreased_positions_countHolders adding / trimming this quarter.
net_share_changeNet share change across holders vs the prior quarter.
holders_count_changeChange in holder count vs the prior quarter.
Sample Request Live Demo!
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=AAPLHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
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
nameoptionalSubstring search of institution names; returns directory records.
cikoptionalReturns that institution's filing history — one record per quarter.
periodoptionalQuarter-end date (YYYY-MM-DD); returns every institution that filed for that quarter.
period_listoptionaltrueenumerates the available quarters with filing counts.limit/offsetoptionalPagination.
limitdefault 50, max 1000.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
Directory records (when searching by name):
manager_name/cikInstitution and its Central Index Key.
latest_period/latest_filing_dateMost recent quarter reported and the date it was filed.
num_holdings/portfolio_valueHoldings count and total portfolio value of the latest filing.
first_periodEarliest quarter on file for the institution.
Filing records (by cik or period):
manager_name/cik/period/filing_dateWho filed, for which quarter, and when.
form_type/is_amendment/amendment_type13F-HRor13F-HR/A, plus amendment details.num_holdings/portfolio_valueHoldings count and total value of the filing.
accession_number/sec_filing_urlSEC accession number and the EDGAR filing link.
Quarter records (with period_list=true): quarter, period, and filing_count.
Sample Request Live Demo!
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=BerkshireHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
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_typeoptionalnew_buys(default),exits,adds, ortrims.periodoptionalQuarter-end date (YYYY-MM-DD); defaults to the latest quarter.
cikoptionalRank the moves within a single institution instead of market-wide.
limitoptionalNumber of ranked rows to return. Default 50, max 1000.
Headers
X-Api-KeyrequiredAPI Key associated with your account.
Response
A ranked JSON array. Market-wide rows include:
period/mover_typeThe quarter and the type of move.
ticker/cusip/issuer_nameThe security.
managers_adding/managers_exiting/managers_trimmingCount of institutions making this move (the field name reflects the
mover_type).aggregate_share_change/aggregate_value_changeSummed share and value change across those institutions.
rankPosition 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!
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_buysHeaders
X-Api-KeyLog in or sign up to get your API KeySample Response
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
Can I use the Institutional Holdings API for commercial purposes?
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.How do I get an API key and start using the Institutional Holdings API?
Sign up for a free account to instantly get your API key, then pass it in theX-Api-Keyheader on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.What happens if I exceed my quota for the month?
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.What happens if a request to the Institutional Holdings API fails?
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.What data does the Institutional Holdings API provide, and where does it come from?
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.How do I look up what an institution owns, or who owns a given stock?
Call/v1/institutionalholdingswith acik(ormanager_name) to get that manager's portfolio for a quarter, or/v1/institutionalownershipwith atickerto get every institution holding that stock. Because 13F filings are keyed on the manager's CIK, use/v1/institutionalinvestorsto search managers by name and resolve their CIK first. Each holding includes shares, market value, percent of portfolio, and voting authority.What premium analytics are available?
On Business, Professional, and annual plans you can pass?change_type=new,sold_out,increased,decreasedto/v1/institutionalholdingsfor quarter-over-quarter deltas,?summary=trueto/v1/institutionalownershipfor ownership concentration, query/v1/institutionalmoversfor the biggest market-wide buys and exits. See the pricing page.How far back does the data go, and how often is it updated?
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.