using System.Collections.Generic;
using System.Threading.Tasks;
static async Task Main(string[] args)
string subreddit = "antimlm";
var startDate = new DateTime(2020, 1, 1);
var data = new PSData() { data = new List<Pushshift>() };
using (var client = new HttpClient())
for (var dt = new DateTimeOffset(startDate); dt < DateTime.Now; dt = dt.AddMonths(1))
var url = "http://api.pushshift.io/reddit/search/submission/?" +
"size=100&sort_type=score&sort=desc&is_self=true&fields=title,full_link,score,selftext,id&score=>100" +
$"&subreddit={subreddit}&after={dt.ToUnixTimeSeconds()}&before={dt.AddMonths(1).ToUnixTimeSeconds()}";
try { response = await client.GetStringAsync(url); }
response = await client.GetStringAsync(url);
var json = JsonSerializer.Deserialize<PSData>(response);
if (!new[] { "[removed]", "[deleted]" }.Contains(d.selftext))
d.selftext = d.selftext.Length.ToString();
var alllines = data.data.OrderByDescending(a => a.score).Take(250)
.Select((a, i) => $"{i + 1}. {a.score}/{a.selftext} [{a.title}](http://redd.it/{a.id})\n");
alllines.ToList().ForEach(a => Console.WriteLine(a));
private class PSData { public List<Pushshift> data { get; set; } }
public string id { get; set; }
public string title { get; set; }
public string full_link { get; set; }
public int score { get; set; }
public string selftext { get; set; }