Guru / Insider Data

Guru List

List all gurus and personlized gurus.

Request

GET /gurulist

Example

GET https://api.gurufocus.com/public/user/{api_token}/gurulist

Response

Response will be an object containing the list of guru names with ids
{
  "all": {
    "us": [
      [
        "7",
        "Warren Buffett",
        "https://static.gurufocus.com/images/gurupics/1/warren-buffett-small.jpg",
        "Berkshire Hathaway",
        "44",
        "293023",
        "0",
        "2021-11-04"
      ],
      [
        "1",
        "Vanguard Health Care Fund",
        "https://static.gurufocus.com/images/gurupics/1/vanguad_healthcare_small.jpg",
        "Vanguard Health Care Fund",
        "109",
        "44600",
        "10",
        "2022-08-01",
        ""
      ],
      [
        "2",
        "Mason Hawkins",
        "https://static.gurufocus.com/images/gurupics/1/mason-hawkins-small.jpg",
        "Southeastern Asset Management",
        "37",
        "4742",
        "11",
        "2022-08-12",
        "0000807985"
      ]
    ],
    "plus": [],
    "international": []
  },
  "my": {
    "default": [
      "1",
      "2",
      "3"
    ]
  }
}

Guru Stock Picks

List guru stock picks using guru id and date. This API mainly provides data for the guru stock picks page.

Please notice that the portfolio is from the start_date to the end_date. If the end_date is not set, it will take data from the start_date to now. Also, each query can get 500 stocks at most. Therefore, if there are more than 500 stocks, you need to loop for the page parameter until the return value is empty.

Request

GET /guru/{id}/picks/{start_date}/{page}?end_date={end_date?}

Parameters

  • id Required
    Guru id got from Guru List API
  • start_date Required
    Starting date for guru picks. Date format is YYYY-mm-dd
  • page Required
    Page number of results
  • end_date Optional
    end_date for guru picks. Default is current date. Date format is YYYY-mm-dd

Example

GET https://api.gurufocus.com/public/user/{api_token}/guru/7/picks/2019-03-31/1?end_date=2019-07-01

Response

Response will be an object containing the list of gurus stock picks.
{
  "Warren Buffett": {
    "port": [
      {
        "symbol": "JPM",
        "exchange": "NYSE",
        "company": "JPMorgan Chase & Co",
        "price": 109.16,
        "currency": "$",
        "GuruName": "Warren Buffett",
        "type": "quarterly",
        "RecmDate": "2019-03-31",
        "RecmAction": "Add",
        "trans_share": 0.48,
        "RecmPrice": 103,
        "price_min": 97.11,
        "price_max": 107.19,
        "change": 5.98,
        "share_current": 59514932,
        "industry": "Banks - Global",
        "sector": "Financial Services",
        "symbol_ori": "JPM",
        "currency_txt": "USD",
        "comment": "Add 18.75%"
      }
    ]
  }
}

Guru Aggregated Portfolio

List aggregated portfolios. This API mainly provides data for the aggregated portfolio page.

Request

GET /guru/{id}/aggregated?page={page}&portdate={portdate}

Parameters

  • id Required
    Guru id got from Guru List API
  • portdate Optional
    Date for guru picks
  • page Optional
    Page number of results. Each page contains up to 200 stocks. Therefore, if there are more than 200 stocks, you need to loop for the page parameter until the return value of "port" is empty.

Example

GET https://api.gurufocus.com/public/user/{api_token}/guru/7/aggregated?page=1&portdate=2022-06-30

Response

Response will be an object containing the list of gurus portfolios.
{
  "7": {
    "summary": {
      "firm": "Berkshire Hathaway",
      "num_new": 1,
      "number_of_stocks": 48,
      "equity": 199484,
      "turnover": 1,
      "country": "USA",
      "date": "2019-05-15"
    },
    "port": [
      {
        "13f_date": "2019-03-31",
        "share": 249589329,
        "symbol": "AAPL",
        "exchange": "NAS",
        "industry": "Consumer Electronics",
        "sector": "Technology",
        "company": "Apple Inc",
        "price": 190.15,
        "currency": "$",
        "52l": 33.91,
        "52h": 18.55,
        "mktcap": "874894.420",
        "pe": "16.00",
        "yield": "1.56",
        "change": 0,
        "value": 47409494,
        "position": 23.77,
        "impact": 0,
        "pct": 5.42,
        "symbol_ori": "AAPL",
        "currency_txt": "USD"
      }
    ]
  }
}

Latest Insider Trades

Get list of latest insider trades ordered by insider transctions time.

Request

GET /insider_updates?page={page?}&date={date?}

Parameters

  • page Optional
    Page number of results
  • date Optional
    Date of insider transaction. Date format is YYYY-mm-dd

Example

GET https://api.gurufocus.com/public/user/{api_token}/insider_updates?page=1&date=2020-01-01

Response

Response will be an array containing the list of insider trades ordered by transaction date. Each query contains up too 300 data points. The parameter page can be changed to get more data.
[
  {
    "symbol": "NAS:TECD",
    "exchange": "NAS",
    "position": "Director",
    "date": "2019-06-07",
    "type": "S",
    "trans_share": 2200,
    "final_share": 10637,
    "price": 95.29,
    "cost": 209.6,
    "insider": "HARCZAK HARRY J JR"
  },
  {
    "symbol": "NYSE:WCC",
    "exchange": "NYSE",
    "position": "Director",
    "date": "2019-06-07",
    "type": "S",
    "trans_share": 1513,
    "final_share": 11151,
    "price": 48.97,
    "cost": 74.1,
    "insider": "UTTER LYNN M"
  }
]