GitHub 新 Star 历史接口能获取哪些统计数据
如果你的报表只关心“这个仓库最近增长得快不快”,GitHub 新增的 Star history REST API 已经给出了更合适的数据入口:它按日和按周返回 Star 数量变化,但不暴露每个 stargazer 的账号。换句话说,你可以继续画增长曲线、做周环比和识别发布后的峰值,却不能把它当成用户明细接口。
- 核心路径是
GET /repos/{owner}/{repo}/stargazers/history,每条记录代表一个日历周。 total是该周新增 Star 总数,days是从周日开始的 7 个日新增数。- 结果按最近周在前返回,分页继续向仓库创建周回溯;无 Star 的周也会保留为 0。
新接口到底返回哪些统计数据
GitHub 在 2026 年 9 月 4 日的 Changelog 中说明,新接口用于在不暴露 stargazer 身份的前提下追踪仓库 Star 增长。官方 REST 文档把返回结果定义为按日历周分组的历史序列,最近的一周排在前面。
| 字段 | 含义 | 接入报表时的用法 |
|---|---|---|
week | 该周的时间戳 | 作为周粒度时间轴,注意周边界不保证按 UTC 对齐 |
total | 该周新增 Star 数 | 计算周环比、发布前后对比 |
days | 长度为 7 的每日新增数,周日是第一个元素 | 定位哪一天出现峰值 |
官方示例中的一条记录形如 {"week":1754784000,"total":19,"days":[0,12,7,0,0,0,0]}。这里的 19 应当等于七个日值之和。这个接口给的是仓库层面的聚合统计,不包含登录名、用户 ID、头像或每次 Star 的个人时间戳。

一次请求如何读取周与日数据
公共仓库可以在不认证的情况下请求这类公开资源;需要认证时,细粒度令牌至少要有仓库 Metadata 读取权限。生产脚本仍建议显式带上推荐的 Accept 头和 API 版本头:
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
-H "Authorization: Bearer " \
"https://api.github.com/repos/OWNER/REPO/stargazers/history?per_page=30&page=1"
拿到 JSON 后,先把 week 转成应用时区的日期,再保存 days[0]...days[6]。不要用当前仓库的 stargazers_count 去替换历史记录中的 total:前者是当前仍保留 Star 的用户数量,后者是某个日历周内新增的 Star 数,两者回答的是不同问题。
如果只要当前总量,原有的 GET /repos/{owner}/{repo}/stargazers/count 更直接;如果要趋势,才使用 /stargazers/history。把两个结果放到同一张图时,应在图例中明确“当前存量”和“周期新增”两个口径。
分页和时间边界怎么处理
历史接口每页最多 30 条,页码最多到 100。第 1 页是最近周,下一页继续向更早的周移动;同一页内仍是从新到旧。因此,拉完多页后应先按 week 升序排序,再交给图表或周环比计算。不能直接把响应数组首尾拼成最终趋势,否则折线会从今天倒着走。
文档还特别说明:没有新增 Star 的周也会返回 0,days 的七个位置从周日开始,而且周和日的边界不保证与 UTC 完全一致。对跨时区团队,建议把原始 week 和展示日期同时保存,避免用本地日期重新推算后出现一周偏移。

旧的 stargazers 列表脚本如何迁移
这次变化的关键不是换一个 URL,而是数据权限边界变了。GitHub 文档说明,stargazers 列表相关端点的访问已限制给管理员和协作者;新的 history 端点提供的是隐私安全的聚合替代方案。
迁移时可以按下面的判断处理:需要增长曲线,就改为读取 history;需要当前总量,就调用 count;需要“谁点了 Star”,则不能把 history 当作替代品,也不应继续围绕公开用户列表设计新的采集流程。已有内部工具还要检查分页上限、去重键和时区转换,尤其不要把 days 数组误读成从周一开始。
常见问题
history 接口能返回每个用户的 Star 时间吗?
不能。它只返回仓库在每个日历周和每天新增的数量,个人身份和个人事件时间不在返回模型里。
total 是这一周结束时的总 Star 数吗?
不是。total 表示该周新增数量;当前仍保留的 Star 总量应使用 stargazer count 或仓库当前元数据口径。
为什么图表的周一和 GitHub 数据对不上?
先检查两个地方:days 的第一个元素是周日,以及文档没有保证周边界与 UTC 对齐。保存原始时间戳并统一展示时区后再聚合。
这项更新让“Star 趋势分析”重新有了稳定的聚合入口,但它刻意没有恢复用户明细。对监控、发布复盘和项目热度报表而言,这通常已经够用;对身份级分析而言,则应重新审视需求是否真的需要这类数据。
特效变音魔术师怎么设置铃声和通知音?音质、暗色模式与权限说明
- 上一篇
- 特效变音魔术师怎么设置铃声和通知音?音质、暗色模式与权限说明
- 下一篇
- 横风动漫怎么同步观看进度?离线缓存、投屏与播放设置说明
-
- 科技周边 · 业界新闻 | 19小时前 | 云原生 · opentelemetry · 可观测性 · CNCF · OpenTelemetry CNCF 多信号根因分析 云原生故障响应
- CNCF 多信号根因分析为什么不能只看告警:时间、拓扑与证据链的落地边界
- 239浏览 收藏
-
- 科技周边 · 业界新闻 | 1天前 |
- kube-apiserver 缓存重建阶段如何安排控制器重试:从 429 到恢复可观测性
- 447浏览 收藏
-
- 科技周边 · 业界新闻 | 1天前 |
- CNCF 云原生构建标准化怎么验收:Buildpacks 的 OCI 镜像与供应链边界
- 222浏览 收藏
-
- 科技周边 · 业界新闻 | 1天前 | 云原生 · kubernetes · 故障排查 · 控制面 · 火绒流量防火墙 Kubernetes kube-apiserver WatchCache v1.37 API Priority and Fairness
- Kubernetes v1.37 watchcache 初始化为什么返回 429:控制面恢复时的请求洪峰边界
- 183浏览 收藏
-
- 科技周边 · 业界新闻 | 1天前 |
- OpenTelemetry Entity Events 怎么补齐资源关系:从实体身份到可追踪变更
- 164浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | 云原生 · kubernetes · 证书轮换 · 工作负载身份 · Kubernetes 1.37 Pod Certificates 工作负载身份 Cluster Trust Bundles
- Kubernetes 1.37 Pod Certificates 进入 GA:工作负载身份有哪些新边界
- 187浏览 收藏
-
- 科技周边 · 业界新闻 | 2天前 | 云原生 · Etcd · kubernetes · 版本发布 · 内存优化 RangeStream Kubernetes 1.37 etcd 3.7 List请求
- Kubernetes 1.37 的 RangeStream 进入 Beta:大规模 List 请求为什么更省内存
- 458浏览 收藏
-
- 科技周边 · 业界新闻 | 3天前 | github copilot · AI编程 · 模型切换 · 模型迁移 GitHub Copilot MAI-Code-1-Flash MAI-Code-1.1-Flash
- GitHub Copilot 将弃用 MAI-Code-1-Flash:代码工作流如何完成模型切换
- 373浏览 收藏
-
- 科技周边 · 业界新闻 | 4天前 | github · copilot · AI开发工具 · 插件治理 · VS Code MCP Agent Plugins 1.0 GitHub Agent Plugins Copilot CLI
- GitHub Agent Plugins 1.0 跨客户端落地:团队接入前要先看哪些权限边界
- 462浏览 收藏
-
- 科技周边 · 业界新闻 | 5天前 | github · Spark · copilot · 开发者工具 · 应用迁移 · GitHub Spark GitHub Models llm() 应用迁移 Create repository
- GitHub Spark 弃用后应用如何迁移:运行时边界、替代路径与仓库资产盘点
- 386浏览 收藏
-
- 科技周边 · 业界新闻 | 5天前 | python · 开发工具 · 版本发布 · 维护实践 · Python 3.14.7 Python 发布 PEP 779 compression.zstd 软件维护
- Python 3.14.7 正式发布:499 项修复、免费线程与压缩模块的维护者核对清单
- 457浏览 收藏
-
- 科技周边 · 业界新闻 | 6天前 |
- Cloudflare Client-Side Security 开放后怎么用:第三方脚本资产盘点、检测边界与上线核验
- 294浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- SuperCLUE
- SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
- 146次使用
-
- C-Eval
- 深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
- 68次使用
-
- ClickPrompt
- ClickPrompt是一款专为AI提示词编写者设计的开源在线工具,支持Stable Diffusion绘图、ChatGPT对话及GitHub Copilot代码辅助。提供Prompt自动生成、一键运行、社区分享及可视化优化功能,帮助用户高效获取精准AI输出。
- 35次使用
-
- PromptHero
- PromptHero是专业的AI提示词搜索引擎与优化平台,支持Stable Diffusion、Midjourney等主流模型。提供海量提示词库、分类搜索、在线课程及社区互动,助力用户高效生成高质量AI图像与文本。
- 15次使用
-
- Stable Diffusion Prompt Book
- 深入解析OpenArt推出的Stable Diffusion Prompt Book,这本免费的开源提示词指南涵盖从基础语法到高级技巧,提供风格化词库与参数建议,助您优化AI绘画生成效果。
- 21次使用
-
- 聊聊Go语言编译github上的项目遇到的坑
- 2022-12-31 455浏览
-
- node.js学习笔记之koa框架和简单爬虫练习
- 2023-01-10 124浏览
-
- 在连接云服务器的TDengine时,一定要注意这个细微的操作
- 2023-02-25 311浏览
-
- 爬虫系列:使用 MySQL 存储数据
- 2023-01-13 462浏览
-
- 这款简洁的开源客户关系管理系统,真是好东西
- 2023-01-24 485浏览

