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 |
|---|---|---|---|---|
| 361ms | 400ms | 456ms | 855ms | 1182ms |
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 this API endpoint with all available parameters in our API playground
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 this API endpoint with all available parameters in our API playground
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 this API endpoint with all available parameters in our API playground
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 this API endpoint with all available parameters in our API playground
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"