All case studies

Where reduction worked

GitHub

Stopped handing out the list of stargazers

The public stargazer list exposed identities that star-history tools did not need, so GitHub replaced it with an endpoint that returns counts only.

Removed: the public list of stargazers — every person who currently starred a repository — from the API and the UI.

Outcome: for react/react, about 2,511 requests for 251,000 stars became one endpoint returning up to 30 weeks of daily star counts with no identities attached; the identities are gone, though the query is not automatically cheaper.

GitHub’s public stargazer list returned every person who currently starred a repository. Tools reconstructing a star-history curve had to page through those identities, keep the timestamps, and throw the names away — for react/react, about 2,511 requests for 251,000 stars.

In June 2026 they restricted that list to administrators and collaborators, then shipped an endpoint that returns up to 30 weeks of daily star counts in a single request, with no identities attached (14 October 2026). Their own lesson is the section’s rule: “Return only what the use case needs. Anything more is data someone else can misuse.”

The weaker part they published too: removing identities did not, by itself, make the query cheaper, and weeks with unusually many stars can still be expensive.

Sources: