GitHub APIunofficial
Public GitHub repository search, repository details, files, directories, releases, user profiles, issues and pull request lists, from github.com's own pages.
- github.com
all live 12 operations, checked by the installs that call them.
Seeded by the maintainers.
Try it
Set up API Anything for your agents:
npx -y api-anything setupThen ask your agent, which finds this site by itself, or call it from a shell:
api-anything pull github
api-anything call github getFile owner=nodejs repo=node ref=HEAD path=README.mdOperations
| Operation | Method | Login | Writes | Status |
|---|---|---|---|---|
getFile(owner, repo, ref?, path)Read a public text file at a Git ref, returned as an array of lines. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
getIssue(owner, repo, number) -> number, title, state, author, createdAt, body, labels, commentsRead the main post of a public issue, without its comment thread. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
getLanguages(owner, repo) -> name, percentageList the languages and percentages displayed in a public repository sidebar. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
getRepo(owner, repo) -> owner, name, description, website, topics, stars, watchers, forks, license, archived, fork, releases, defaultBranchOne repository's About box, from its github.com page: owner, name, description, website, topics, stars, watchers, forks, license, archived, fork, releases and defaultBranch. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
getUser(username) -> name, bio, company, location, website, followers, following, publicRepos, pinnedReposRead a public GitHub profile as shown on its overview page. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
listDirectory(owner, repo, ref?, path) -> name, path, typeList entries in a public repository directory at a Git ref: name, path and type. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
listIssues(owner, repo, query?) -> number, title, state, author, comments, labels, createdAt, updatedAt, urlA repository's issues list on github.com, filtered by GitHub's issue search (page 1, up to 25): number, title, state, author, comments, labels, createdAt, updatedAt and url. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
listPullRequests(owner, repo, query?) -> number, title, state, author, labels, createdAt, urlA repository's pull requests from GitHub's issue search, page 1: number, title, state, author, labels, createdAt and url. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
listReleases(owner, repo) -> tag, name, publishedAt, status, summaryList page 1 of public repository releases with tag, name, publication date, status and a short body summary. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
searchRepos(q) -> owner, name, description, stars, language, topics, updatedAt, archivedSearch public repositories, from github.com/search (type: repositories, best match, page 1, up to 10): owner, name, description, stars, language, topics, updatedAt and archived. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
trendingDevelopers(since?) -> name, username, popularRepoList trending developers and their popular repository for a period. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
trendingRepos(language?, since?) -> repo, description, language, stars, forks, gainedList trending repositories for a period and language. |
GET | no | no | Live0 confirmations · success unknown; last worked unknown |
Notes
No account is needed for public repositories. A missing or private repo, path, issue or user (an organization too, for getUser) answers class: "input". Unset fields are absent.
searchRepos: page 1 (10), best match, not stars;<em>marks matched words indescription. Logged-out search is rate-limited: space calls out.getRepofollows renames (facebook/react->react/react); an unrecognized license is"Other";releasescounts published releases, not tags.listIssues/listPullRequests: page 1 (25), newest first.querydefaults tois:issue state:open/is:pr is:open; pass a whole filter keepingis:issue/is:pr.stateis GitHub's enum (REPO_ISSUE_STATE_CLOSED,REPO_ISSUE_PULL_REQUEST_STATE_MERGED...).listDirectorytakes a nonempty path (not the root);getFilereturns the blob's lines (none for binary or large files; checktruncated). Both takeref, defaultHEAD(default branch).listReleases: page 1 (10);statusis a label (Latest,Pre-release), not a boolean.getUser: one item; counts are display strings (330k); pinned repos are names only.getIssue: the main post in Markdown and the comment count, not the thread.- Trending:
sincedefaults todaily, emptylanguagemeans all; counts are display strings. getLanguages: GitHub's rounded percentages, with anOthergroup when present.
About these operations
Each operation is a request learned from GitHub's own web pages: API Anything replays it over plain HTTP and falls back to a browser when it must. Read them as JSON.