GitHub API: List issues or pull requests
Lists 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.
Unofficial. Not affiliated with or endorsed by GitHub.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Sort optional
sort Sort order, for example recently_updated.
newest (default)
One of
newest,most_commented,recently_updated.- Type optional
type What to list, for example issues.
issues (default)
One of
issues,pull_requests.- Label optional
label Only items with this label, for example bug.
kind/bug
- State optional
state Which state to include, for example open.
open (default)
One of
open,closed,all.- Project, required
project Repository name, owner/name or GitHub project link, for example kubernetes or kubernetes/kubernetes.
kubernetes
- Max Results optional
max_results Maximum number of items to return, for example 20.
3
Whole number from 1 to 100. Default
20.
Input as JSON
{ "label": "kind/bug" , "project": "kubernetes", "max_results": 3}Output
{ "items": [ { "link": "https://github.com/kubernetes/kubernetes/issues/143308" , "state": "open", "title": "PodTopologyLabels (KEP-4742): pods bound before their Node gets topology labels, never receive them (e.g. DaemonSet pods on new nodes)", "author": "rodrigorfk", "labels": [ "kind/bug" , "sig/node" , "sig/cloud-provider" ], "number": 143308, "created_date": "2026-10-22", "comment_count": 1, "last_updated_date": "2026-10-22" }, { "link": "https://github.com/kubernetes/kubernetes/issues/143275" , "state": "open", "title": "kube-proxy can lose the initial node topology event and ignore zone hints until restart", "author": "sboulkour", "labels": [ "kind/bug" , "sig/network" , "needs-triage" ], "number": 143275, "created_date": "2026-10-21", "comment_count": 5, "last_updated_date": "2026-10-23" }, { "link": "https://github.com/kubernetes/kubernetes/issues/143268" , "state": "open", "title": "Scheduling queue: gated pod group is requeued on events its gating plugin's QueueingHint skips", "author": "Argh4k", "labels": [ "kind/bug" , "sig/scheduling" , "needs-triage" ], "number": 143268, "created_date": "2026-10-21", "comment_count": 4, "last_updated_date": "2026-10-22" } ], "project": "kubernetes/kubernetes" , "project_link": "https://github.com/kubernetes/kubernetes" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"github.com/list_issues","input":{"label":"kind/bug","project":"kubernetes","max_results":3}}' # 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/list_issues" , "input": { "label": "kind/bug" , "project": "kubernetes", "max_results": 3 }})# 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/list_issues" , "input": { "label": "kind/bug" , "project": "kubernetes", "max_results": 3 } }), 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/list_issues# with {"label":"kind/bug","project":"kubernetes","max_results":3}"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": { "sort": { "enum": [ "newest", "most_commented", "recently_updated" ], "type": "string", "default": "newest", "description": "Sort order, for example recently_updated." }, "type": { "enum": [ "issues", "pull_requests" ], "type": "string", "default": "issues", "description": "What to list, for example issues." }, "label": { "type": "string", "description": "Only items with this label, for example bug." }, "state": { "enum": [ "open", "closed", "all" ], "type": "string", "default": "open", "description": "Which state to include, for example open." }, "project": { "type": "string", "description": "Repository name, owner/name or GitHub project link, for example kubernetes or kubernetes/kubernetes." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Maximum number of items to return, for example 20." } }}Output schema
{ "type": "object", "required": [ "project", "project_link", "items" ], "properties": { "items": { "type": "array", "items": { "type": "object", "required": [ "title", "number", "author", "labels", "state", "comment_count", "created_date", "last_updated_date", "link" ], "properties": { "link": { "type": "string" }, "state": { "enum": [ "open", "closed" ], "type": "string" }, "title": { "type": "string" }, "author": { "type": [ "string", "null" ] }, "labels": { "type": "array", "items": { "type": "string" } }, "number": { "type": "integer" }, "created_date": { "type": [ "string", "null" ] }, "comment_count": { "type": "integer" }, "last_updated_date": { "type": [ "string", "null" ] } } } }, "project": { "type": "string" }, "project_link": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
github.com/list_issues- Returns
- project, project link, items with title, number, author, labels, state, comment count, dates, link
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/list_issues with the inputs above.
Ask your agent
- Show me the 15 most recently updated open bug issues for the facebook/react repo
- list closed pull requests on tensorflow/tensorflow sorted by most commented, top 10
- Find open issues labeled good first issue in the rust-lang project
- What pull requests are still open on the vuejs/core repository? Sort them newest first.
- Give me all issues, open or closed, from the most-starred repo named django, limited to 25 results
See more
All GitHub methodsLists published, non-draft releases of a public GitHub project, newest first. A bare project name matches the most-starred repository.
github.com/list_releasesFinds public GitHub repositories by keywords, with an optional language filter and sort order. Returns up to 100 matches.
github.com/search_repositoriesLooks up a public GitHub repository by name, owner/name, or link and returns its stars, forks, release, commit and contributor facts.
github.com/get_repositoryLists up to 25 public repositories trending on GitHub, in page order, optionally filtered by programming language and time period.
github.com/list_trending_repositoriesLists a SoundCloud artist's public tracks in latest or SoundCloud popular order, with profile and track details. SoundCloud's popular list may contain fewer than 100 tracks (currently at most 30).
soundcloud.com/list_artist_tracksFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviewsFinds Stack Overflow programming questions matching plain-language search words, optionally filtered by tag and answer status, with a chosen sort order.
stackoverflow.com/search_questionsLists a YouTube channel's public videos, Shorts, or live uploads, newest first or most popular first, along with channel details. Counts and dates taken from displayed text may be approximate.
youtube.com/list_channel_videos