You can use the GitHub GraphQL API to get this data, although it will not be aggregated for you.
Try the following query in GraphQL Explorer :
query($owner:String!, $name:String!) { repository(owner:$owner,name:$name) { refs(first:30, refPrefix:"refs/heads/") { edges { cursor node { name target { ... on Commit { history(first:30) { edges { cursor node { author { email } } } } } } } } } } }
With these variables:
{ "owner": "rails", "name": "rails" }
This will list each author email for each of the commits of each of the branches in this repository. You would need to break the pages into pieces (adding something like cursor: "b7aa251234357f7ddddccabcbce332af39dd95f6" after the first:30 arguments). You will also need to combine the counts from your end.
Hope this helps.
source share