npm 下载榜数据接口

一次请求返回 DSH 插件的 npm 周下载前 100 名——与首页「本周 npm 下载」榜单同一口径,按 npm 官方 last-week(滚动 7 天)窗口下载量降序排列。

接口地址
URL说明更新
/data/npm-downloads.json前 100 名排名——当前 last-week 窗口内下载量最高的 100 个插件,每个插件一条。随部署重建;week 数值取自最近一次每日 npm 快照
/data/npm-downloads.schema.json本接口数据格式对应的 JSON Schema。稳定

JSON 接口支持跨域读取:Access-Control-Allow-Origin: *,无需 API Key 或注册。

响应字段
字段类型语义
generatedAtstring (ISO)构建时间戳——缓存副本请一并保留
snapshotDatestring (YYYY-MM-DD) | nullweek 数值来自哪一份 npm 快照;无快照时为 null(此时 items 为空)
windowobjectdays: 7(npm 官方 last-week 滚动窗口)、start / end(YYYY-MM-DD)——end 即 snapshotDate
scopeobject收录口径:listableOnly(仅站内列表口径)、ecosystemAppsExcluded(排除生态应用)、newlyIndexedExcludedDays: 7(窗口内新入库不上榜)
countnumber榜单条目数(≤ limit)
limitnumber100——本接口只提供前 100 名
items[]array榜单条目,按 week 降序(字段见下)
items[].ranknumber名次(1–100)
items[].idstring插件 id(与 plugins.json 的 id、详情页 slug 一致)
items[].namestring展示名
items[].packageNamestring下载量统计所用的 npm 包名
items[].weeknumberlast-week 滚动 7 天窗口下载量。滚动窗口跨快照日期互相重叠——不要把不同快照的 week 相加
items[].totalnumber | null累计下载(初值 + 逐日累加);从未采过初值时为 null——绝不报 0 冒充
items[].starsnumberGitHub 星数
items[].urlstring插件详情页绝对地址
licenseobject出处与引用条款——聚合自公开 npm registry,引用需注明来源

诚实原则:本接口与首页榜单共用同一派生层(src/data/trending.ts),两处永远一致。窗口内新入库的插件不上榜——新条目的下载量是「刚被发现」而非本周真实热度;生态应用(不能作为插件安装)同样排除。

使用方式

获取前 100 名排名(或在浏览器直接打开 /data/npm-downloads.json):

curl https://www.dsh.so/data/npm-downloads.json

接口固定只输出前 100 名。单插件详情(验证等级、安全、安装方式)用 id 关联 /plugins-index.json 或 /plugin/@作者/插件名.json。

榜单随部署重建,数据来自 dsh.so 流水线每日采集的 npm Downloads API 快照。字段只增不删:既有字段不会移除或改名。可免费引用,需注明来源 dsh.so;新增字段见 更新日志。

这页有帮助吗?