See the question and my original answer on StackOverflow

Here is some code that dumps it to the console:

// get this: https://learn.microsoft.com/en-us/windows/win32/shell/shell-application
dynamic shell = Activator.CreateInstance(Type.GetTypeFromProgID("Shell.Application"));

// this is Quick Access folder id
var CLSID_HomeFolder = new Guid("679f85cb-0220-4080-b29b-5540cc05aab6");
var quickAccess = shell.Namespace("shell:::" + CLSID_HomeFolder.ToString("B"));
foreach (var item in quickAccess.Items())
{
    var grouping = (int)item.ExtendedProperty("System.Home.Grouping");
    switch (grouping)
    {
        case 1:
            Console.WriteLine("Frequent: " + item.Name + " path: " + item.Path);
            break;

        case 2:
            Console.WriteLine("Recent: " + item.Name + " path: " + item.Path);
            break;

        default:
            Console.WriteLine("Unspecified: " + item.Name + " path: " + item.Path);
            break;
    }
}