Path Parameters
| Name | Type | Example | Description |
|---|---|---|---|
| id | number | 1 | Guru ID. |
| portdate | string | 2025-12-31 | Portfolio date for the holding history. Use `dates` to return all available portfolio dates for the guru. |
Auth
headers: { 'Authorization': 'Replace with your API token' }
Examples
fetch('https://api.gurufocus.com/data/gurus/ID/history/2025-01-01', { method: 'GET', headers: { 'Authorization': 'Replace with your API token' }})
Responses
Successful response. The exact payload fields depend on this endpoint.
Example Body (Field Reference)
No response body is documented for this status.
Introduction
The GuruFocus Guru History Dataset returns the holdings reported by a specific guru for a given portdate.
Each row represents one disclosed holding from that reporting period, including the action taken, portfolio weight, number of shares, share change, trading price range, and portfolio impact.
If portdate is set to dates, the endpoint returns all available portfolio dates for that guru instead of the holdings array.
What's Included
The Guru History Dataset includes:
- Point-in-time portfolio snapshot
Returns the guru's disclosed holdings for one specific reporting date. - Holding-level trade context
Includes action, comment, share change, and percentage change versus the prior report. - Portfolio weighting
Shows each holding's portfolio weight and impact within the reported portfolio. - Pricing context
Includes average, minimum, and maximum trading prices associated with the reported holding period. - Date discovery mode
Supportsportdate=datesto retrieve the list of available portfolio dates before requesting a specific quarter.
Use Cases
This dataset is ideal for:
- Investment platforms reconstructing a guru's historical portfolio at a specific quarter
- Research teams analyzing position changes across reporting periods
- Quantitative workflows modeling guru turnover, conviction, and concentration over time
- Portfolio intelligence tools surfacing historical top holdings and trade activity
Extend Your Capabilities
Combine the Guru History Dataset with other GuruFocus guru datasets:
- Guru List Dataset - Discover guru IDs and profile details
- Guru Data Dataset - Broader institutional holdings and filing data
- Guru Trades Dataset - Stock-centric view of guru trading activity
- Guru Holdings Dataset - Latest quarter guru ownership by stock
All guru datasets follow a consistent structure and are accessible through unified API endpoints.
Response Reference
When portdate is a portfolio date such as 2025-12-31, the response is an array of objects with these fields:
| Display Name | Field Name | Data Type |
|---|---|---|
| Action | action | string |
| Change from the last report (%) | change | number |
| Asset Class | class | string |
| Comment | comment | string |
| Company Name | company_name | string |
| Exchange | exchange | string |
| Impact to Portfolio | impact | number |
| Industry | industry | string |
| Portfolio Date | portdate | date |
| Position | position | number |
| Average Trading Price | price_avg | number |
| Max Trading Price | price_max | number |
| Min Trading Price | price_min | number |
| Share Change | share_change | number |
| Number of Shares | shares | number |
| Shares Outstanding | shares_outstanding | number |
| Split Factor | split_factor | number |
| Stock ID | stockid | string |
| Symbol | symbol | string |
| Value ($1000) | value | number |
portdate=dates Response
When portdate is set to dates, the endpoint returns the list of available portfolio dates for the guru.
Example
[
{
"action": "Add",
"change": 9.31,
"class": "com",
"comment": "Add 9.31%",
"company_name": "Chubb Ltd",
"exchange": "NYSE",
"impact": 0.33,
"industry": "Insurance - Property & Casualty",
"portdate": "2025-12-31",
"position": 3.9,
"price_avg": 292.58,
"price_max": 314.45,
"price_min": 268.2,
"share_change": 2916288,
"shares": 34249183,
"shares_outstanding": 391.1,
"split_factor": 1,
"stockid": "US06S0",
"symbol": "CB",
"value": 10689855
}
]
Available Dates Example
[
"2025-12-31",
"2025-09-30",
"2025-06-30",
"2025-03-31"
]