## github/profile/repos

`GET /v1/github/profile/repos`

List a GitHub user's public repositories, most recently updated first.

*GitHub user repositories*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | GitHub username — e.g. `torvalds` |
| `type` | no | Repository affiliation filter: all, owner or member — e.g. `owner` |
| `sort` | no | Sort key: created, updated, pushed or full_name (default updated) — e.g. `updated` |
| `direction` | no | Sort direction: asc or desc — e.g. `desc` |
| `limit` | no | Items per page, max 100 — e.g. `25` |
| `cursor` | no | Opaque page cursor from a previous response — e.g. `2` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. — e.g. `1` |

**Cost:** 1 credit at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/github/profile/repos?handle=torvalds" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "items": [
    {
      "id": 43,
      "full_name": "example/project",
      "url": "https://github.com/example/project",
      "watchers": null
    }
  ],
  "cursor": null,
  "has_more": null
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/github/profile/repos#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/github/profile/repos.json)
