GitHub Repository Search
Search public GitHub repositories by keywords and qualifiers.
GET/api/v1/github/search
Costs 1 credit per request; failed requests are refunded. Authentication, the search_metadata envelope and error codes are the same as for every endpoint (see the API reference). Try it in the playground.
Parameters
Request parameters
| Parameter | Type | Description |
|---|---|---|
qrequired | string | Repository search terms and GitHub qualifiers, up to 256 characters; for example, language:python.Up to 256 characters. |
sort | "best_match" | "stars" | "forks" | "updated" | Repository ranking: best_match, stars, forks, or updated.Default: best_match. |
order | "desc" | "asc" | Sort direction.Default: desc. |
page | integer | One-based results page. Search exposes at most the first 1,000 results.Default: 1.Range: 1 to 1000. |
limit | integer | Maximum results per page, from 1 to 100.Default: 30.Range: 1 to 100. |
Response
A JSON object with search_metadata (request id, credits used and remaining) and the result groups the page returns. Groups and fields depend on the content of each page, so treat every field as optional.
Examples
cURL
curl "https://serpfast.com/api/v1/github/search?q=python&limit=2" \
-H "Authorization: Bearer $SERPFAST_KEY"Node.js 18+
const params = new URLSearchParams({
"q": "python",
"limit": 2
});
const res = await fetch(`https://serpfast.com/api/v1/github/search?${params}`, {
headers: { Authorization: `Bearer ${process.env.SERPFAST_KEY}` },
});
const data = await res.json();
console.log(data);Python
import os, requests
params = {
"q": "python",
"limit": 2
}
res = requests.get(
"https://serpfast.com/api/v1/github/search",
params=params,
headers={"Authorization": f"Bearer {os.environ['SERPFAST_KEY']}"},
timeout=120,
)
print(res.json())