Overview
The FinIQ Institutional Holdings API provides a "Look-Through" view into the ownership structure of over 55,000 global funds. We normalize 13F filings, UK Shareholder Registers, EU Transparency Directives, and N-PORT disclosures into a single, flat JSON feed.
Key Capabilities:
- History: 20+ Years (Point-in-Time).
- Latency: T+0 (processed immediately upon regulatory publication).
- Coverage: Global (US, UK, EU, APAC).
- Alpha Signals: Pre-calculated
change_p (Percent Change) and percentHeld (Portfolio Weight) to detect high-conviction accumulation.
1. Access Methods
We provide four distinct ways to access this dataset depending on your infrastructure:
| Method |
Use Case |
Format |
| REST API |
Live dashboards, single-stock analysis, mobile apps. |
JSON |
| Bulk Feed |
Backtesting factor models vs. 20yr history. |
CSV / Excel |
| SQL Direct |
Enterprise warehousing (Snowflake, BigQuery). |
Table Stream |
| Vector Feed |
New: RAG Integration. Query narratives. |
Embeddings |
2. REST API: Live Transaction Feed
Endpoint: GET https://api.finiq.data/v1/institutional-holdings
Request parameters:
| Parameter |
Type |
Required |
Description |
| api_token |
string |
Yes |
Your API Key. |
| ticker |
string |
Yes |
The symbol to query (e.g., MSFT, TSLA). |
| date |
date |
No |
Specific reporting date (YYYY-MM-DD). Default: Most recent quarter. |
| fund_name |
string |
No |
Filter for a specific holder (e.g., BlackRock). |
| min_change_p |
float |
No |
Filter for holders who changed position by > X% (e.g., 5.0). |
Example Request (Python):
import requests
url = "https://api.finiq.data/v1/institutional-holdings"
params = {
"api_token": "YOUR_KEY",
"ticker": "AAPL",
"min_change_p": "5.0" # Show me only funds increasing stake by >5%
}
response = requests.get(url, params=params)
data = response.json()
Response Structure (JSON):
{
"meta": {
"count": 1,
"ticker": "AAPL",
"exchange": "NASDAQ"
},
"holders": [
{
"name": "Vanguard Group Inc",
"date": "2024-06-30",
"totalShares": 1335987157,
"totalAssets": 272447864832,
"currentShares": 1335987157,
"change": 18512411,
"change_p": 1.405,
"changeType": "Accumulation",
"percentHeld": 8.75
}
]
}
3. Data Dictionary (Field Definitions)
| Field |
Type |
Description |
| name |
String |
The registered name of the Fund or Institution. |
| date |
Date |
The "Report Date" of the filing. Note: This is the end of the quarter, not necessarily the filing date. |
| totalShares |
Float |
The total number of shares held at the end of the period. |
| totalAssets |
Float |
The total Market Value of this position (Shares * Price at Quarter End). |
| change |
Float |
The raw change in shares since the last report. Positive = Buying, Negative = Selling. |
| change_p |
Float |
Alpha Signal. The percentage change in the position. Useful for filtering high-conviction moves (e.g., >10% increase). |
| percentHeld |
Float |
The percentage of the company's total outstanding shares owned by this single fund. |
4. Bulk Data Access (CSV / Excel)
For users who need to backtest "Smart Money" strategies against 20 years of history, we offer full historical dumps.
File Naming Convention:
{Exchange}_{Ticker}_Inst_Holdings_{Date}.csv
CSV Columns:
Date, Ticker, FundName, CIK, SharesHeld, Change, Change_Percent, MarketValue, Percent_Portfolio, Source_Doc
How to Download:
- Navigate to the Data Export tab in the dashboard.
- Select Universe (e.g., "Russell 3000").
- Select Timeframe (e.g., "2005 - 2024").
- Click Generate CSV.
5. Vector Database Feed (RAG-Ready)
Exclusive to FinIQ.
We provide institutional data as Vector Embeddings, allowing your AI to understand ownership narratives.
Sample Vector Output (Decoded):
"In Q2 2024, Vanguard Group increased their position in AAPL by 1.4%, bringing their total ownership to 8.75%. This accumulation trend contrasts with BlackRock, who reduced exposure by 0.5% in the same period."
Use Case: Connect this feed to your OpenAI/LangChain pipeline to allow users to ask:
- "Which funds are aggressively buying AI stocks right now?"
- "Show me the ownership overlap between Tesla and Rivian."
6. Coverage & Global Normalization
We map local regulatory filings to a standardized Global Schema.
| Region |
Source |
Filing Type |
Coverage |
| United States |
SEC |
13F / N-PORT / 13G |
Full |
| United Kingdom |
FCA |
Shareholder Registers |
Full |
| European Union |
ESMA |
Transparency Directive |
Full |
| Japan |
FSA |
Large Shareholding Reports |
Full |
7. Error Handling & Limits
- Rate Limits: Standard tiers allow 100 requests/second. Enterprise tiers offer unlimited throughput.
- Error Codes:
400 Bad Request: Invalid Ticker or Date Format.401 Unauthorized: Invalid API Key.429 Too Many Requests: Rate limit exceeded.
8. Need Help?
- Developer Support: email
dev-support@finiq.data - Slack Community: Join our [Quant Developer Slack]
- Postman Collection: [Download Here]