GitHub API endpoint
Lists the public repositories of a GitHub user, identified by the required `username`. Filter with `type` (`all`, `owner` or `member`), order with `sort` (`created`, `updated`, `pushed` or `full_name`) and `direction`, and page with `page` and `per_page` (max 100). Each repository has its name, description, language, stars, forks, topics, fork flag and last push time.
/github/user/{username}/reposReturns the public repositories owned by a GitHub user.
Path parameters:
username: required. GitHub username.Query parameters:
sort: optional. Field to sort by. Allowed values: created, updated, pushed, full_name.direction: optional. Sort direction. Allowed values: asc, desc.type: optional. Which repositories to include. Allowed values: all, owner, member.page: optional. Page number (integer).per_page: optional. Results per page (integer, max 100).| Field | Filled in, of 12 checked | Values in the sample |
|---|---|---|
| name | 12 | |
| full_name | 12 | |
| html_url | 12 | github.com |
| description | 12 | |
| language | 12 | |
| stars | 12 | 381 to 251,812, median 578 |
| forks | 12 | 14 to 67,777, median 68 |
| open_issues | 12 | 0 to 32, median 3 |
| is_fork | 12 | true in 3 of 12 |
| pushed_at | 12 | 2022-12-22 to 2026-10-13 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| username (path) | string | Yes | GitHub username | torvalds | |
| sort | string | No | Sort field Allowed values: created, updated, pushed, full_name. | ||
| direction | string | No | Sort direction Allowed values: asc, desc. | ||
| type | string | No | Repository type Allowed values: all, owner, member. | ||
| 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/user/torvalds/repos?sort=created&direction=asc&type=all&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": [
{
"name": "linux",
"description": "Linux kernel source tree",
"language": "C",
"stars": 180000,
"forks": 53000,
"topics": [
"kernel",
"linux"
],
"is_fork": false,
"pushed_at": "2026-06-20T11:02:33Z"
}
]
}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/user/torvalds/repos?sort=created&direction=asc&type=all&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"