GitHub API: Get repository facts
Looks up a public GitHub repository by name, owner/name, or link and returns its stars, forks, release, commit and contributor facts.
Unofficial. Not affiliated with or endorsed by GitHub.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Owner optional
owner Repository owner to use with a bare repository name, for example facebook.
facebook
Default
.- Project, required
project Repository name, owner/name, or GitHub repository link, for example facebook/react.
react
Input as JSON
{ "owner": "facebook", "project": "react"}Output
{ "forks": 51567, "stars": 251710, "topics": [ "declarative", "frontend", "javascript" ], "license": "MIT License", "watchers": 6610, "repository": "react/react" , "description": "The library for web and native user interfaces.", "open_issues": 1469, "project_link": "https://github.com/react/react" , "homepage_link": "https://react.dev" , "main_language": "JavaScript", "repository_id": 10270250, "default_branch": "main", "last_commit_date": "2026-10-21", "contributors_count": 2025, "latest_release_date": "2026-10-14", "latest_release_name": "19.3.1 (October 14th, 2026)"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"github.com/get_repository","input":{"owner":"facebook","project":"react"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "github.com/get_repository" , "input": { "owner": "facebook", "project": "react" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "github.com/get_repository" , "input": { "owner": "facebook", "project": "react" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run github.com/get_repository# with {"owner":"facebook","project":"react"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "project" ], "properties": { "owner": { "type": "string", "default": "", "description": "Repository owner to use with a bare repository name, for example facebook." }, "project": { "type": "string", "description": "Repository name, owner/name, or GitHub repository link, for example facebook/react." } }}Output schema
{ "type": "object", "required": [ "repository", "description", "stars", "forks", "watchers", "open_issues", "main_language", "license", "topics", "latest_release_name", "latest_release_date", "last_commit_date", "contributors_count", "homepage_link", "project_link", "repository_id", "default_branch" ], "properties": { "forks": { "type": "integer", "description": "Number of forks." }, "stars": { "type": "integer", "description": "Number of stars." }, "topics": { "type": "array", "items": { "type": "string" }, "description": "Repository topics." }, "license": { "type": [ "string", "null" ], "description": "License name in words, if known." }, "watchers": { "type": "integer", "description": "Number of people subscribed to notifications (not stars)." }, "repository": { "type": "string", "description": "Matched repository as owner/name." }, "description": { "type": [ "string", "null" ], "description": "Project description, if provided." }, "open_issues": { "type": "integer", "description": "Open issue and pull request count reported by GitHub." }, "project_link": { "type": "string", "description": "GitHub repository link." }, "homepage_link": { "type": [ "string", "null" ], "description": "Project website link, if provided." }, "main_language": { "type": [ "string", "null" ], "description": "Primary programming language." }, "repository_id": { "type": "integer", "description": "GitHub repository ID.", "x-fous-developer": true }, "default_branch": { "type": "string", "description": "Default branch name.", "x-fous-developer": true }, "last_commit_date": { "type": [ "string", "null" ], "format": "date", "description": "Date of most recent commit on the default branch, YYYY-MM-DD." }, "contributors_count": { "type": [ "integer", "null" ], "description": "Number of contributors including anonymous contributors, if available." }, "latest_release_date": { "type": [ "string", "null" ], "format": "date", "description": "Date of latest published release, YYYY-MM-DD." }, "latest_release_name": { "type": [ "string", "null" ], "description": "Latest published release name, if available." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
github.com/get_repository- Returns
- repository name, description, stars, forks, watchers, open issues, language, license, topics, release, last commit, contributors, links
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method github.com/get_repository with the inputs above.
Ask your agent
- How many stars and forks does the tensorflow repo have on GitHub?
- What's the latest release and license for the rust-lang/cargo project?
- Can you pull up the open issues count and primary language for vercel/next.js?
- Show me the contributor count and last commit date for the kubernetes repository owned by kubernetes.
- Look up the topics, watchers, and description of https://github.com/microsoft/vscode
See more
All GitHub methodsFinds public GitHub repositories by keywords, with an optional language filter and sort order. Returns up to 100 matches.
github.com/search_repositoriesLists published, non-draft releases of a public GitHub project, newest first. A bare project name matches the most-starred repository.
github.com/list_releasesLists public issues or pull requests for a GitHub project, with state, label and sort options. A bare project name matches the most-starred repository with that name.
github.com/list_issuesLists up to 25 public repositories trending on GitHub, in page order, optionally filtered by programming language and time period.
github.com/list_trending_repositoriesLooks up a NuGet package by name or nuget.org link. Inexact names match the top search result. Returns the latest stable release's details and the 10 most recent versions, including prereleases.
nuget.org/get_packageLooks up a public npm package by name or npm link. Returns its latest version, weekly downloads, maintainers, links, dates and version count.
npmjs.com/get_packageLooks up one Hugging Face model by name, repository ID or link and returns its public details, model card summary and file sizes. For a name, the first matching model is returned.
huggingface.co/get_modelGets a PyPI package's current version, release date, metadata, project links and its 10 most recently published versions from a package name or PyPI link.
pypi.org/get_package