
From 2,500 requests to 24: Rebuilding star history without the stargazers
Maintainers look at star history to answer a practical question: did a launch, release, or event change a project’s trajectory? To reconstruct that curve from the GitHub API, tools had to request pages of stargazer records (each person who currently stars the repository and when they starred it), keep the timestamps, and throw the identities away.
Over time, that design created problems at both ends. Identities were available for bulk collection, so bad actors started scraping public stargazer lists for spam and phishing campaigns. For highly starred repositories, the endpoint could also make the database process many thousands of entries to return a single page.
The fix seemed clear: return counts instead of people. But returning less data didn’t actually make the query any cheaper.
Now maintainers have a direct way to get the curve: we built an endpoint that returns up to 30 weeks of daily star counts in a single request, with no identities attached. …
You're reading a preview. The full article is published by The GitHub Blog on their website.
Read the full story on The GitHub Blog