GitHub 仓库搜索

用 GitHub 搜索 API 检索代码仓库

通过 HTTP 检索 GitHub 仓库,每条结果直接带上主语言和 star 数,不需要自己管理 GitHub token 和速率限制。

接口
POST https://api.search1api.com/search
GitHub 搜索结果包含什么

结果的 JSON 结构与其他引擎一致,现有的解析逻辑不需要改动。

1
owner/repo 形式的仓库名

标题就是仓库路径,例如 redis/redis。

2
主语言与 star 数

摘要以主语言和 star 数开头。

3
仓库描述

摘要的其余部分是仓库简介。

适用于

编程 agent / 技术选型 / 依赖调研

不用 GitHub token 也能拿到热度

把 `search_service` 设为 `github`,结果就来自 GitHub 仓库。接口地址、鉴权方式和响应结构与其他引擎完全一致,整个过程不涉及 GitHub 凭证。

摘要里自带排序信号

`snippet` 字段的格式为「语言 | N stars | 描述」,不用再发一次请求就能拿到语言和热度。

标题就是仓库路径

`title` 字段是 `owner/repo`,可以直接对应包名和依赖标识。

不需要处理 GitHub 速率限制

请求按 Search1API 积分计费,而不是走 GitHub token,因此没有按 token 的小时级上限要绕开。

标准 Search 参数

`max_results` 最大 50,以及 `include_sites`、`exclude_sites`、`time_range`。

什么是 GitHub 搜索 API?

GitHub 搜索 API 是一种 HTTP 接口,把 GitHub 仓库以结构化结果返回。GitHub 自己也提供搜索端点,但需要个人访问令牌,对搜索单独施加了较低的速率限制,并且返回的载荷很大,喂给模型之前还要先做缩减。Search1API 把 GitHub 作为 Search 接口的一个搜索服务提供,标题是仓库路径,摘要里带主语言、star 数和描述,JSON 结构与其他引擎一致。编程 agent 因此可以在一次工具调用里同时完成"找到库"和"判断这个库有没有人用"。

接入路径

典型流程

通过 HTTP 检索 GitHub 仓库,每条结果直接带上主语言和 star 数,不需要自己管理 GitHub token 和速率限制。

1

把 `search_service` 设为 `github` 后发送查询。

2

从 `title` 读取仓库路径,按竖线切分 `snippet` 得到语言和 star 数。

3

当流程需要 README 正文而不只是仓库元信息时,设置 `crawl_results`。

一次请求,按热度排开的仓库

一次调用即可检索 GitHub 仓库,每条结果带上语言和 star 数,多数情况下不需要再发一次请求就能选定库。

bash
curl -X POST https://api.search1api.com/search \
-H "Authorization: Bearer $SEARCH1API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "vector database",
"search_service": "github",
"max_results": 5
}'

适合场景

写 import 之前需要先找库、比库的编程 agent。

追踪哪些项目正在起势的技术调研。

需要为每个候选拿到语言和热度信号的依赖调研。

把包名解析到源码仓库的文档工具。

常见问题

和 GitHub 官方搜索 API 有什么区别?

GitHub 自己的搜索端点需要个人访问令牌,并且对搜索请求单独施加了较低的速率限制。Search1API 按自己的积分计费,不需要申请和轮换 GitHub token,返回的也是摘要里已经带好语言和 star 数的紧凑结果,而不是需要先缩减的大 JSON 对象。

需要 GitHub token 吗?

不需要。鉴权用的是 Search1API 的 key。请求是向 https://api.search1api.com/search 发 POST,把 `search_service` 设为 `github`。

可以拿到仓库的 README 吗?

可以。把 `crawl_results` 设为需要抓取的结果数量,成功抓取的页面会包含 `content` 字段,内容是 markdown 格式的正文。抓取失败的结果不返回 `content`,也不计费。

GitHub 搜索的费用是多少?

每次搜索消耗 1 积分,通过 `crawl_results` 每成功抓取一个页面追加 1 积分。按 $1 = 1,000 积分的充值基础价计算,1,000 次搜索为 $1。注册即送 100 个免费积分,无需信用卡。

还支持哪些开发者相关的来源?

同一个 Search 接口还支持论文的 `arxiv`、社区讨论的 `reddit` 和帖子的 `x`,加上通用网页引擎和中文引擎,一套契约共 17 个引擎。

可以用 Python、JavaScript 或 cURL 调用吗?

可以。Search1API 是 REST API,任何 HTTP 客户端都能调用,GitHub 是一个参数取值而不是另一套接入。官方的 TypeScript 与 Python SDK、CLI 和 MCP 服务器都接受同样的 `search_service` 值。