' Excel for Windows. Needs VBA-JSON 2.3.1: import its JsonConverter.bas ' and tick Tools > References > Microsoft Scripting Runtime Sub StockHolders() ' Read NVDA's file (one GET, no key), naming your own project Dim http As Object ' ServerXMLHTTP does not read the proxy set in Windows: behind a ' company proxy, create MSXML2.XMLHTTP.6.0 instead Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0") http.Open "GET", "https://tickerinside.com/api/v1/sec/nvda.json", False http.setRequestHeader "User-Agent", "MyProject/1.0 (+https://example.com)" http.send If http.Status <> 200 Then Err.Raise 513, , "HTTP " & http.Status Dim stock As Object Set stock = JsonConverter.ParseJson(http.responseText) ' A new sheet: how many funds hold it, and the line to cite, on top Dim ws As Worksheet Set ws = Worksheets.Add ws.Range("A1").Value = "NVDA held_by (issuer files)" ws.Range("B1").Value = stock("held_by") ws.Range("C1").Value = "held_by_sec_nport (SEC filings)" ws.Range("D1").Value = stock("held_by_sec_nport") ws.Range("A2").Value = stock("cite_as") ' holders is sorted, largest weight first: [fund, weight %, file date] Dim h As Variant, r As Long ws.Columns(1).NumberFormat = "@" ws.Range("A4:C4").Value = Array("fund", "weight_pct", "holdings_as_of") r = 5 For Each h In stock("holders") ws.Cells(r, 1).Value = h(1) ws.Cells(r, 2).Value = h(2) ws.Cells(r, 3).Value = h(3) r = r + 1 Next h End Sub