GitHub API endpoint
Searches public GitHub repositories with the required GitHub search query `q`. Order with `sort` (`stars`, `forks`, `help-wanted-issues` or `updated`) and `order`, and page with `page` and `per_page` (max 100). The response has `total_count` and items with full name, owner, description, language, stars, forks, topics and license.
/github/search/repositoriesSearches public GitHub repositories. Unauthenticated search is rate limited to about 10 requests per minute.
Query parameters:
q: required. GitHub repository search query.sort: optional. Field to sort by. Allowed values: stars, forks, help-wanted-issues, updated.order: optional. Sort order. Allowed values: asc, desc.page: optional. Page number (integer).per_page: optional. Results per page (integer, max 100).| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| full_name | 20 | |
| owner | 20 | |
| description | 20 | |
| html_url | 20 | github.com |
| language | 20 | |
| stars | 20 | 14,528 to 83,582, median 24,289 |
| forks | 20 | 343 to 9,166, median 1,195 |
| open_issues | 20 | 3 to 1,119, median 218 |
| topics | 20 | median 8 entries |
| license | 20 | |
| pushed_at | 20 | 2025-05-31 to 2026-10-13 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | GitHub repository search query | linux | |
| sort | string | No | Sort field Allowed values: stars, forks, help-wanted-issues, updated. | ||
| order | string | No | Sort order Allowed values: asc, desc. | ||
| page | integer | No | Page number | ||
| per_page | integer | No | Results per page (max 100) | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/github/search/repositories?q=linux&sort=stars&order=asc&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total_count": 18742,
"items": [
{
"full_name": "torvalds/linux",
"owner": "torvalds",
"description": "Linux kernel source tree",
"language": "C",
"stars": 180000,
"forks": 53000,
"topics": [
"kernel",
"linux"
],
"license": "GPL-2.0"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/app.Response
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | unknown | No | Data is the response data (can be any object or null) @example {"id": 1, "name": "John Doe"} | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 503 | Upstream error or rate limit | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/github/search/repositories?q=linux&sort=stars&order=asc&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"