# GitHub API guide



## Start with GitHub



Resolve a public account, choose a repository and inspect issues or pull requests. Keep repository identity and issue number together when following a discussion.



These requests use your API key and can spend credits. Check the current price on the endpoint page; each new page is a separate request. Later examples use illustrative identifiers: replace them with values from your earlier response.



### 1. Read the account



Retain the returned handle and account type. Public profile fields can be absent. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/github/profile)



**github/profile**

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



### 2. Choose a repository



Take a repository URL from the result; name alone is not globally unique. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/github/profile/repos)



**github/profile/repos**

```
curl "https://www.monocrawl.com/v1/github/profile/repos?handle=vercel&type=owner&sort=updated" \
  -H "x-api-key: mn_your_key_here"
```



### 3. Collect issues



Replace the example repository URL with your selected result. Preserve issue URLs for issue/comments. [Parameters and current cost →](https://www.monocrawl.com/docs/endpoints/github/repo/issues)



**github/repo/issues**

```
curl "https://www.monocrawl.com/v1/github/repo/issues?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js&type=issue" \
  -H "x-api-key: mn_your_key_here"
```



## Choose filters with the source behavior in mind



| Control | Behavior and limits |
| --- | --- |
| Issue versus pull request | The source issues feed mixes both. type=issue or type=pr filters the fetched page locally; a short filtered page does not imply the source feed ended. Follow its continuation. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/github/repo/issues) |
| Timestamp meaning | since constrains update time, not creation time. Keep state, labels, type and ordering fixed across pages. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/github/repo/issues) |
| Repository counters | stars, forks and watchers are separate counters. watchers represents subscribers where returned; list rows can omit it. Preserve numeric source IDs without truncation. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/github/repo) |
| Account feed | Repository list limit is capped at 100. Retain owner/full_name or URL; a repository name is not globally unique. [Endpoint reference →](https://www.monocrawl.com/docs/endpoints/github/profile/repos) |



Source availability, ordering and field coverage can change. Inspect warnings and partial-result metadata alongside the rows. See [runnable workflows](https://www.monocrawl.com/docs/workflows), [metric semantics](https://www.monocrawl.com/docs/metric-semantics), [computed fields](https://www.monocrawl.com/docs/computed-fields) and the [pagination matrix](https://www.monocrawl.com/docs/pagination).



## Match the operation to your task



| Your task | Endpoint | When to use it |
| --- | --- | --- |
| Repository metadata | [`repo`](https://www.monocrawl.com/docs/endpoints/github/repo) | Get stars, forks, default branch and available metadata. |
| Discussion text | [`issue/comments`](https://www.monocrawl.com/docs/endpoints/github/issue/comments) | Read comments on a chosen issue or pull request URL. |
| Release notes | [`repo/releases`](https://www.monocrawl.com/docs/endpoints/github/repo/releases) | Use releases rather than inferring releases from repository updates. |
| A repository summary bundle | [`repo/dossier`](https://www.monocrawl.com/docs/endpoints/github/repo/dossier) | Inspect component coverage and warnings before comparing projects. |



Explore all documented operations by purpose below. Each endpoint reference contains its accepted parameters and current price.



### Other operations



- [`issue`](https://www.monocrawl.com/docs/endpoints/github/issue)

- [`repo`](https://www.monocrawl.com/docs/endpoints/github/repo)

- [`repo/dossier`](https://www.monocrawl.com/docs/endpoints/github/repo/dossier)

- [`repo/issues`](https://www.monocrawl.com/docs/endpoints/github/repo/issues)

- [`repo/readme`](https://www.monocrawl.com/docs/endpoints/github/repo/readme)

- [`repo/releases`](https://www.monocrawl.com/docs/endpoints/github/repo/releases)

- [`repo/top-issues`](https://www.monocrawl.com/docs/endpoints/github/repo/top-issues)



### Comments and replies



- [`issue/comments`](https://www.monocrawl.com/docs/endpoints/github/issue/comments)



### Accounts and audiences



- [`profile`](https://www.monocrawl.com/docs/endpoints/github/profile)

- [`profile/repos`](https://www.monocrawl.com/docs/endpoints/github/profile/repos)

- [`user/profile-velocity`](https://www.monocrawl.com/docs/endpoints/github/user/profile-velocity)



### Search and discovery



- [`search`](https://www.monocrawl.com/docs/endpoints/github/search)



## Endpoint reference

## github/issue

`GET /v1/github/issue`

One issue or pull request: title, state, labels, reactions and full body.

*GitHub issue or pull request*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Issue or pull request URL — e.g. `https://github.com/vercel/next.js/issues/1` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/issue?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js%2Fissues%2F1" \
  -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
{
  "id": 44,
  "number": 7,
  "title": "Example issue",
  "is_pull_request": false,
  "comments": 2
}
```

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


## github/issue/comments

`GET /v1/github/issue/comments`

Comments on an issue or pull request, oldest first.

*GitHub issue comments*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Issue or pull request URL — e.g. `https://github.com/vercel/next.js/issues/1` |
| `since` | no | Only comments updated at or after this ISO-8601 timestamp — e.g. `2026-01-01T00:00:00Z` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/issue/comments?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js%2Fissues%2F1" \
  -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": 45,
      "author": "example",
      "body": "Illustrative comment",
      "reactions": 0
    }
  ],
  "cursor": null,
  "has_more": null
}
```

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


## github/profile

`GET /v1/github/profile`

Public profile, follower counts and repository totals for a GitHub user.

*GitHub user profile*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | GitHub username — e.g. `torvalds` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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?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
{
  "id": 42,
  "handle": "example",
  "followers": 100,
  "public_repos": 3
}
```

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


## 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 Accepted values: all, owner, member. Case, spaces, hyphens and underscores are interchangeable. — e.g. `owner` |
| `sort` | no | Sort key: created, updated, pushed or full_name (default updated) Accepted values: created, updated, pushed, full_name. Case, spaces, hyphens and underscores are interchangeable. — e.g. `updated` |
| `direction` | no | Sort direction: asc or desc Accepted values: asc, desc. Case, spaces, hyphens and underscores are interchangeable. — 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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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)


## github/repo

`GET /v1/github/repo`

Stars, forks, issues and metadata for a public repository, addressed by URL or owner/repo.

*GitHub repository*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | no | Repository URL - or pass owner + repo instead — e.g. `https://github.com/vercel/next.js` |
| `owner` | no | Repository owner (used with repo when url is not given) — e.g. `vercel` |
| `repo` | no | Repository name (used with owner when url is not given) — e.g. `next.js` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/repo?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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
{
  "id": 43,
  "full_name": "example/project",
  "stars": 42,
  "watchers": null,
  "is_fork": false
}
```

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


## github/repo/dossier

`GET /v1/github/repo/dossier`

One-call project dossier: repo stats, README excerpt, latest releases, top issues and top contributors.

*GitHub repository dossier*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Repository URL — e.g. `https://github.com/vercel/next.js` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits 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/repo/dossier?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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
{
  "_warnings": [
    "example"
  ],
  "contributors": [
    {
      "contributions": 0,
      "handle": "example",
      "id": 0,
      "type": "example",
      "url": "https://example.com/example"
    }
  ],
  "readme": {
    "markdown": "example",
    "truncated": false
  },
  "releases": [
    {
      "assets": [],
      "author": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "id": 0,
      "is_draft": false,
      "is_prerelease": false,
      "name": "example",
      "notes": "example",
      "published_at": "2026-09-01T12:00:00Z",
      "tag": "example",
      "url": "https://example.com/example"
    }
  ],
  "repo": {
    "created_at": "2026-09-01T12:00:00Z",
    "default_branch": "example",
    "description": "example",
    "forks": 0,
    "full_name": "example",
    "homepage": "example",
    "id": 0,
    "is_archived": false,
    "is_fork": false,
    "language": "example",
    "license": "example",
    "name": "example",
    "open_issues": 0,
    "owner": "example",
    "pushed_at": "2026-09-01T12:00:00Z",
    "size_kb": 0,
    "stars": 0,
    "topics": [
      "example"
    ],
    "updated_at": "2026-09-01T12:00:00Z",
    "url": "https://example.com/example",
    "watchers": 0
  },
  "sources": [
    {
      "error": "example",
      "ok": false,
      "source": "example"
    }
  ],
  "top_issues": {}
}
```

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


## github/repo/issues

`GET /v1/github/repo/issues`

List a repository's issues (pull requests included, flagged per item).

*GitHub repository issues*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Repository URL — e.g. `https://github.com/vercel/next.js` |
| `state` | no | Issue state: open, closed or all (default open) Accepted values: open, closed, all. Case, spaces, hyphens and underscores are interchangeable. — e.g. `open` |
| `labels` | no | Comma-separated label names to filter by — e.g. `bug` |
| `type` | no | Client-side filter: issue or pr (GitHub's feed mixes both) Accepted values: issue, issues, pr, prs, pull, pulls, pull_request. Case, spaces, hyphens and underscores are interchangeable. — e.g. `issue` |
| `sort` | no | Sort key: created, updated or comments Accepted values: created, updated, comments. Case, spaces, hyphens and underscores are interchangeable. — e.g. `created` |
| `direction` | no | Sort direction: asc or desc Accepted values: asc, desc. Case, spaces, hyphens and underscores are interchangeable. — e.g. `desc` |
| `since` | no | Only items updated at or after this ISO-8601 timestamp — e.g. `2026-01-01T00:00:00Z` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/repo/issues?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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": 44,
      "number": 7,
      "title": "Example issue",
      "is_pull_request": false
    }
  ],
  "cursor": null,
  "has_more": null
}
```

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


## github/repo/readme

`GET /v1/github/repo/readme`

The repository's README decoded to markdown, with file metadata.

*GitHub repository README*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Repository URL — e.g. `https://github.com/vercel/next.js` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/repo/readme?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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
{
  "_warnings": [],
  "download_url": "https://example.com/example",
  "markdown": "example",
  "markdown_truncated": false,
  "name": "example",
  "path": "example",
  "repo": "example",
  "sha": "example",
  "size": 0,
  "url": "https://example.com/example"
}
```

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


## github/repo/releases

`GET /v1/github/repo/releases`

Release history for a repository: tags, notes and downloadable assets.

*GitHub repository releases*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Repository URL — e.g. `https://github.com/vercel/next.js` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `cursor`: Continue the same source traversal with the complete returned cursor. Saved-result retrieval and a new source page can have different prices; quote the next call.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**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/repo/releases?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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
{
  "_warnings": [],
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "items": [
    {
      "assets": [],
      "author": "example",
      "created_at": "2026-09-01T12:00:00Z",
      "id": 0,
      "is_draft": false,
      "is_prerelease": false,
      "name": "example",
      "notes": "example",
      "published_at": "2026-09-01T12:00:00Z",
      "tag": "example",
      "url": "https://example.com/example"
    }
  ]
}
```

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


## github/repo/top-issues

`GET /v1/github/repo/top-issues`

The most-reacted open feature request and the most-reacted open complaint for a repository.

*GitHub repository top issues*

| Parameter | Required | Description |
| --- | --- | --- |
| `url` | yes | Repository URL — e.g. `https://github.com/vercel/next.js` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits 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/repo/top-issues?url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js" \
  -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
{
  "_warnings": [
    "example"
  ],
  "repo": "example",
  "sources": [
    {
      "ok": false,
      "source": "example"
    }
  ],
  "top_complaint": {
    "author": "example",
    "author_association": "example",
    "body": "example",
    "comments": 0,
    "created_at": "2026-09-01T12:00:00Z",
    "id": 0,
    "is_pull_request": false,
    "labels": [
      "example"
    ],
    "number": 0,
    "reactions": 0,
    "state": "example",
    "title": "example",
    "updated_at": "2026-09-01T12:00:00Z",
    "url": "https://example.com/example"
  },
  "top_feature_request": {
    "author": "example",
    "author_association": "example",
    "body": "example",
    "comments": 0,
    "created_at": "2026-09-01T12:00:00Z",
    "id": 0,
    "is_pull_request": false,
    "labels": [
      "example"
    ],
    "number": 0,
    "reactions": 0,
    "state": "example",
    "title": "example",
    "updated_at": "2026-09-01T12:00:00Z",
    "url": "https://example.com/example"
  }
}
```

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


## github/search

`GET /v1/github/search`

Search public GitHub issues and pull requests using keywords and qualifiers such as repo:owner/name. This endpoint does not search repository code or repositories. Sorting applies to issue and pull request results.

*Issue and pull request search*

| Parameter | Required | Description |
| --- | --- | --- |
| `query` | yes | GitHub advanced search query, passed through verbatim — e.g. `repo:vercel/next.js is:issue is:open label:bug` |
| `sort` | no | Sort key, e.g. comments, reactions, created, updated Accepted values: comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, interactions, created, updated. Case, spaces, hyphens and underscores are interchangeable. — e.g. `reactions` |
| `order` | no | Sort direction: asc or desc Accepted values: asc, desc. Case, spaces, hyphens and underscores are interchangeable. — 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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `sort`: Choose the documented source ordering before paging through results. Ordering keeps the normal endpoint price and does not guarantee exhaustive results.
- `limit`: Bound the returned rows to what your task needs. A smaller limit does not necessarily reduce source calls or price; inspect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 3 credits 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/search?query=repo%3Avercel%2Fnext.js%20is%3Aissue%20is%3Aopen%20label%3Abug" \
  -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
{
  "_warnings": [
    "example"
  ],
  "count": 0,
  "cursor": null,
  "dropped": 0,
  "items": [
    {
      "author": "example",
      "author_association": "example",
      "body": "example",
      "comments": 0,
      "created_at": "2026-09-01T12:00:00Z",
      "id": 0,
      "is_pull_request": false,
      "labels": [
        "example"
      ],
      "number": 0,
      "reactions": 0,
      "state": "example",
      "title": "example",
      "updated_at": "2026-09-01T12:00:00Z",
      "url": "https://example.com/example"
    }
  ],
  "query": "example",
  "total_count": 0
}
```

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


## github/user/profile-velocity

`GET /v1/github/user/profile-velocity`

Weekly commit, PR, issue and review velocity for a user, computed from their recent public activity.

*GitHub user contribution velocity*

| Parameter | Required | Description |
| --- | --- | --- |
| `handle` | yes | GitHub username — e.g. `torvalds` |
| `depth` | no | Event pages to analyze, 1-3 (100 events per page, default 3) — e.g. `3` |
| `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. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable. — e.g. `1` |

### Useful optional inputs

- `depth`: Bound collection to the documented number of records or source pages. Depth semantics vary by endpoint and may affect the quote.
- `dry_run`: Read a free estimate before fetching sources or scheduling paid work. Zero credits; cache status and availability are snapshots rather than guarantees.

**Cost:** 5 credits 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/user/profile-velocity?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
{
  "_warnings": [
    "example"
  ],
  "active_repos": [],
  "activity": {
    "active_days": 0,
    "longest_streak_days": 0
  },
  "handle": "example",
  "totals": {
    "comments": 0,
    "commits_pushed": 0,
    "events": 0,
    "issues_opened": 0,
    "prs_merged": 0,
    "prs_opened": 0,
    "reviews": 0
  },
  "weekly": [],
  "window": {
    "days": 0,
    "events_analyzed": 0,
    "pages_fetched": 0
  }
}
```

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

