From 2,500 requests to 24: Rebuilding star history without the stargazers
Oct 14, 2026Taylor Cuilty, Sarita Iyer

Summary
This post details the redesign of the star history endpoint to address performance and security issues. The original endpoint (`GET /repos/{owner}/{repo}/stargazers`) was expensive due to fetching individual stargazer identities and a bug that counted all stars per request. The new endpoint provides daily star counts for up to 30 weeks in a single request, filtering stars by time before counting to reduce database processing. This change eliminates the need to expose user identities, mitigating spam and phishing risks.