Guru Historical Holdings

Returns guru holding history for a specific portfolio date, including action, share changes, position weight, pricing context, and portfolio impact for each disclosed holding.
Author:Will ShawWill Shaw
Reviewed by:Charlie TianCharlie Tian
Fact checked by:Vera YuanVera Yuan
Updated May 21, 2026
GET/gurus/{id}/history/{portdate}

Path Parameters

Name Type Example Description
idnumber1Guru ID.
portdatestring2025-12-31Portfolio 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
    Supports portdate=dates to 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:

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 NameField NameData Type
Actionactionstring
Change from the last report (%)changenumber
Asset Classclassstring
Commentcommentstring
Company Namecompany_namestring
Exchangeexchangestring
Impact to Portfolioimpactnumber
Industryindustrystring
Portfolio Dateportdatedate
Positionpositionnumber
Average Trading Priceprice_avgnumber
Max Trading Priceprice_maxnumber
Min Trading Priceprice_minnumber
Share Changeshare_changenumber
Number of Sharessharesnumber
Shares Outstandingshares_outstandingnumber
Split Factorsplit_factornumber
Stock IDstockidstring
Symbolsymbolstring
Value ($1000)valuenumber

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"
]