> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spidra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Get GitHub repositories, files, commits, releases, contributors, star history, issues and pull requests, users, organizations, trending repos, topics and search results as structured data, with no GitHub token.

Most of what you'd want from GitHub is on public pages: how popular a repo is, what changed in it, who works on it and what people are asking in its issues. Send a public GitHub link with `"output": "json"` and you get it as fields: a repo's stars, forks, languages and latest release, a file's text, a list of commits, an issue with every comment, or this week's trending repos. You don't need a GitHub account or token, and each link costs 1 credit. Long lists cost a little more ([credits](#credits)).

## Example

```json theme={null}
{ "urls": ["https://github.com/vercel/next.js"], "output": "json", "wait": true }
```

The item's `result`, shortened:

```json theme={null}
{
  "kind": "repo",
  "fullName": "vercel/next.js",
  "description": "The React Framework",
  "homepage": "https://nextjs.org",
  "language": "JavaScript",
  "stars": 143287,
  "watchers": 1620,
  "forks": 33571,
  "openIssues": 1123,
  "openPullRequests": 2673,
  "defaultBranch": "canary",
  "commitCount": 36623,
  "releaseCount": 3934,
  "contributorCount": 3916,
  "usedByCount": 5120442,
  "languages": [
    { "name": "JavaScript", "percent": 47.9 },
    { "name": "TypeScript", "percent": 34.7 },
    { "name": "Rust", "percent": 15.8 },
    "..."
  ],
  "latestRelease": { "name": "v16.4.5", "tag": "v16.4.5", "publishedAt": "2026-11-03T18:38:39Z" },
  "createdAt": "2016-10-05T23:32:51Z",
  "pushedAt": "2026-11-04T17:06:05Z",
  "isArchived": false
}
```

The full result also has the topics, license, top contributors, a sample of the repos that use it, funding links, community files such as the code of conduct and contributing guide, and the files at the root. Add `?readme=true` to get the README as Markdown.

## Links that work

| Link | Example | You get |
| - | - | - |
| Repository | `github.com/<owner>/<repo>` | The repo, as above |
| Folder | `/<owner>/<repo>/tree/<branch>/<path>` | The folder's files and folders. `?recursive=true` walks the whole tree |
| File | `/<owner>/<repo>/blob/<branch>/<path>`, `raw.githubusercontent.com` links | The file's text. For a binary file, its size and raw link |
| Commits | `/<owner>/<repo>/commits` | Commits with message, author, date and verification. `author`, `since` and `until` filter them, and `count` goes up to 1,000 |
| Commit | `/<owner>/<repo>/commit/<sha>` | The commit with line stats and every changed file with its patch |
| Branches and tags | `/<owner>/<repo>/branches`, `/tags` | Names and head commits |
| Releases | `/<owner>/<repo>/releases`, `/releases/latest`, `/releases/tag/<tag>` | Release notes, assets and download counts |
| Contributors | `/<owner>/<repo>/graphs/contributors` | Every contributor with commits, lines added and removed, and first and last active week |
| Star history | `/<owner>/<repo>/stargazers` | Stars gained each day and each week since the repo was created. See [star history](#star-history) |
| Forks | `/<owner>/<repo>/forks` | Forks with stars, open issues and dates. `?sort=stargazers`, `newest` or `oldest` |
| Used by | `/<owner>/<repo>/network/dependents` | The "Used by" totals and the repos or packages that depend on it |
| Dependencies | `/<owner>/<repo>/network/dependencies` | Packages with versions, ecosystems and licenses |
| Issues and pull requests | `/<owner>/<repo>/issues`, `/pulls` | The list. `q`, `state` and `labels` filter it like on GitHub |
| Issue | `/<owner>/<repo>/issues/<number>` | The issue, every comment with reactions, and the timeline |
| Pull request | `/<owner>/<repo>/pull/<number>` | The same, plus merge details, reviews and changed files |
| Actions | `/<owner>/<repo>/actions` | Workflow runs with status, trigger, branch and duration |
| User or organization | `github.com/<name>` | Profile, counts, pinned repos and organizations. A user also gets achievements and the last year's contributions |
| Profile tabs | `?tab=repositories`, `stars`, `followers`, `following` | That tab's list |
| Organization repos | `/orgs/<org>/repositories` | Every public repo of the organization |
| Trending | `/trending`, `/trending/<language>?since=weekly`, `/trending/developers` | Trending repos with the stars they gained in the period, or trending developers |
| Topic | `/topics/<topic>` | The topic and its repos by stars. `?s=updated` for recently updated |
| Search | `/search?q=<words>&type=repositories` | The results. `type` can also be `users`, `issues`, `pullrequests`, `discussions`, `commits` or `topics`, and `count` reads more pages |
| Security advisories | `github.com/advisories`, `/<owner>/<repo>/security/advisories` | Security advisories. `/advisories/<GHSA ID>` returns one |
| Gists | `gist.github.com/<user>/<id>`, `gist.github.com/<user>` | A gist's files with their text, or a user's gists |

To search GitHub from a query rather than a link, [Search](https://docs.spidra.io/search.md) has a developer source for issues, repositories and users.

## Star history

GitHub stopped showing who starred a repository in 2026. A `/stargazers` link gives you how many stars arrived each day instead, which is what you need to chart a repo's growth:

```json theme={null}
{ "urls": ["https://github.com/astral-sh/uv/stargazers"], "output": "json", "wait": true }
```

That came back with 1,131 days and 162 weeks of counts. The latest of each:

```json theme={null}
{
  "fullName": "astral-sh/uv",
  "stars": 91536,
  "firstDate": "2023-10-01",
  "days": [{ "date": "2026-11-04", "newStars": 11, "totalStars": 91536 }],
  "weeks": [{ "weekStart": "2026-11-01", "newStars": 155, "totalStars": 91536 }]
}
```

## Credits

* Each link is 1 credit.
* Lists include 100 rows in that credit, and each further 100 rows is 1 more.
* Search results and "Used by" lists come from GitHub a page at a time, so each page after the first is 1 more.
* An issue or pull request with more than 100 comments and events is 1 more for each further 100.

A link that can't be read is free: a repo or user that doesn't exist, an empty list, or a page that needs a GitHub login.

## Limits

* Only public repos and profiles are read. Private repos and anything that needs a login aren't available.
* GitHub only lets signed-in users search code, so `type=code` searches fail free.
* Who starred or watches a repo, traffic and insights pages, and Actions logs and artifacts aren't shown to the public, so they aren't available.

## Templates

[Templates](https://docs.spidra.io/templates.md) cover the common GitHub jobs, such as repository details, trending repositories, star history, releases and downloads, commit history, issues and pull requests, top repos for a topic and who uses a repo.

> [!NOTE]
>
> Check GitHub's terms, including its Acceptable Use Policies, before you collect data from it. You're responsible for how you use what you collect.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.