用 GitHub 搜索 API 检索代码仓库
通过 HTTP 检索 GitHub 仓库,每条结果直接带上主语言和 star 数,不需要自己管理 GitHub token 和速率限制。
接口POST https://api.search1api.com/search
结果的 JSON 结构与其他引擎一致,现有的解析逻辑不需要改动。
标题就是仓库路径,例如 redis/redis。
摘要以主语言和 star 数开头。
摘要的其余部分是仓库简介。
适用于
编程 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 和速率限制。
把 `search_service` 设为 `github` 后发送查询。
从 `title` 读取仓库路径,按竖线切分 `snippet` 得到语言和 star 数。
当流程需要 README 正文而不只是仓库元信息时,设置 `crawl_results`。
一次请求,按热度排开的仓库
一次调用即可检索 GitHub 仓库,每条结果带上语言和 star 数,多数情况下不需要再发一次请求就能选定库。
bashcurl -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` 值。