# GitHub API

> GitHub provides public repository, release, issue, and trending data through a workflow and API.

GitHub, also called GH, searches public repositories by required keywords and optional language and sort filters. Get repository returns public project facts from a required repository name, owner/name, or link. List trending repositories uses optional language and period; List releases and List issues require a project and support optional filters.

- Page: https://fous.com/tools/github
- Handle: `@github`
- Category: [Developer tools](https://fous.com/tools/category/developer-tools)
- Source website: https://github.com
- Last verified: Sep 30, 2026

## Methods

### Get repository

Operation `get_repository`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get public facts about a GitHub repository by name, owner/name, or link. A name alone selects the most-starred matching project. Release and commit dates may be unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `owner` | string | no | `"facebook"` | Repository owner to use with a name, for example facebook. |
| `project` | string | yes | `"react"` | Repository name, owner/name, or GitHub repository link, for example facebook/react. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "project"
  ],
  "properties": {
    "owner": {
      "type": "string",
      "default": "",
      "description": "Repository owner to use with a name, for example facebook.",
      "examples": [
        "facebook"
      ]
    },
    "project": {
      "type": "string",
      "description": "Repository name, owner/name, or GitHub repository link, for example facebook/react.",
      "examples": [
        "react",
        "https://github.com/octocat/Hello-World"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "owner": "facebook",
      "project": "react"
    },
    {
      "project": "https://github.com/octocat/Hello-World"
    },
    {
      "project": "react"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `forks` | integer | `51414` | Number of forks. |
| `stars` | integer | `250794` | Number of stars. |
| `topics` | array |  | Repository topics. |
| `license` | string or null | `"MIT License"` | License name in words, if known. |
| `watchers` | integer | `6599` | Number of people subscribed to notifications (not stars). |
| `repository` | string | `"react/react"` | Matched repository as owner/name. |
| `description` | string or null | `"The library for web and native user interfaces."` | Project description, if provided. |
| `open_issues` | integer | `1387` | Open issue and pull request count reported by GitHub. |
| `project_link` | string | `"https://github.com/react/react"` | GitHub repository link. |
| `homepage_link` | string or null | `"https://react.dev"` | Project website link, if provided. |
| `main_language` | string or null | `"JavaScript"` | Primary programming language. |
| `repository_id` | integer | `10270250` | GitHub repository ID. |
| `default_branch` | string | `"main"` | Default branch name. |
| `last_commit_date` | string or null | `"2026-09-22"` | Date of most recent commit on the default branch, YYYY-MM-DD. |
| `contributors_count` | integer or null | `2018` | Number of contributors including anonymous contributors, if available. |
| `latest_release_date` | string or null | `"2026-09-09"` | Date of latest published release, YYYY-MM-DD. |
| `latest_release_name` | string or null | `"19.3.0 (September 9, 2026)"` | Latest published release name, if available. |

**Example input**

```json
{
  "owner": "facebook",
  "project": "react"
}
```

**Example output**

```json
{
  "forks": 51414,
  "stars": 250794,
  "topics": [
    "declarative",
    "frontend",
    "javascript"
  ],
  "license": "MIT License",
  "watchers": 6599,
  "repository": "react/react",
  "description": "The library for web and native user interfaces.",
  "open_issues": 1387,
  "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-09-22",
  "contributors_count": 2018,
  "latest_release_date": "2026-09-09",
  "latest_release_name": "19.3.0 (September 9, 2026)"
}
```

### List issues

Operation `list_issues`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List public issues or pull requests for a GitHub project, with state, label and sorting options. A bare project name matches the most-starred repository.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"most_commented"` | Sort order, for example recently_updated. |
| `type` | string | no | `"pull_requests"` | What to list, for example issues. |
| `label` | string | no | `"kind/bug"` | Only items with this label, for example bug. |
| `state` | string | no | `"closed"` | Which state to include, for example open. |
| `project` | string | yes | `"https://github.com/python/cpython"` | Repository name, owner/name or GitHub project link, for example kubernetes or kubernetes/kubernetes. |
| `max_results` | integer | no | `3` | Maximum number of items to return, for example 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "project"
  ],
  "properties": {
    "sort": {
      "enum": [
        "newest",
        "most_commented",
        "recently_updated"
      ],
      "type": "string",
      "default": "newest",
      "description": "Sort order, for example recently_updated.",
      "examples": [
        "most_commented",
        "recently_updated"
      ]
    },
    "type": {
      "enum": [
        "issues",
        "pull_requests"
      ],
      "type": "string",
      "default": "issues",
      "description": "What to list, for example issues.",
      "examples": [
        "pull_requests"
      ]
    },
    "label": {
      "type": "string",
      "description": "Only items with this label, for example bug.",
      "examples": [
        "kind/bug",
        "label_that_does_not_exist_12400"
      ]
    },
    "state": {
      "enum": [
        "open",
        "closed",
        "all"
      ],
      "type": "string",
      "default": "open",
      "description": "Which state to include, for example open.",
      "examples": [
        "closed",
        "all"
      ]
    },
    "project": {
      "type": "string",
      "description": "Repository name, owner/name or GitHub project link, for example kubernetes or kubernetes/kubernetes.",
      "examples": [
        "https://github.com/python/cpython",
        "kubernetes",
        "octocat/Hello-World"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of items to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        3,
        5,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "most_commented",
      "type": "pull_requests",
      "state": "closed",
      "project": "https://github.com/python/cpython",
      "max_results": 3
    },
    {
      "label": "kind/bug",
      "project": "kubernetes",
      "max_results": 3
    },
    {
      "label": "label_that_does_not_exist_12400",
      "state": "all",
      "project": "octocat/Hello-World",
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `items` | array |  |  |
| `items[].link` | string | `"https://github.com/python/cpython/pull/137215"` |  |
| `items[].state` | string | `"closed"` |  |
| `items[].title` | string | `"gh-137026: Add an explainer guide for asyncio"` |  |
| `items[].author` | string or null | `"anordin95"` |  |
| `items[].labels` | array |  |  |
| `items[].number` | integer | `137215` |  |
| `items[].created_date` | string or null | `"2025-07-29"` |  |
| `items[].comment_count` | integer | `24` |  |
| `items[].last_updated_date` | string or null | `"2025-08-14"` |  |
| `project` | string | `"python/cpython"` |  |
| `project_link` | string | `"https://github.com/python/cpython"` |  |

**Example input**

```json
{
  "sort": "most_commented",
  "type": "pull_requests",
  "state": "closed",
  "project": "https://github.com/python/cpython",
  "max_results": 3
}
```

**Example output**

```json
{
  "items": [
    {
      "link": "https://github.com/python/cpython/pull/137215",
      "state": "closed",
      "title": "gh-137026: Add an explainer guide for asyncio",
      "author": "anordin95",
      "labels": [
        "docs",
        "topic-asyncio",
        "skip news"
      ],
      "number": 137215,
      "created_date": "2025-07-29",
      "comment_count": 24,
      "last_updated_date": "2025-08-14"
    },
    {
      "link": "https://github.com/python/cpython/pull/118450",
      "state": "closed",
      "title": "gh-117139: Convert the evaluation stack to stack refs",
      "author": "Fidget-Spinner",
      "labels": [
        "topic-free-threading"
      ],
      "number": 118450,
      "created_date": "2024-04-30",
      "comment_count": 65,
      "last_updated_date": "2026-08-11"
    },
    {
      "link": "https://github.com/python/cpython/pull/95749",
      "state": "closed",
      "title": "gh-95271: Improve sqlite3 tutorial wording",
      "author": "erlend-aasland",
      "labels": [
        "docs",
        "skip news"
      ],
      "number": 95749,
      "created_date": "2022-08-06",
      "comment_count": 23,
      "last_updated_date": "2022-08-18"
    }
  ],
  "project": "python/cpython",
  "project_link": "https://github.com/python/cpython"
}
```

### List releases

Operation `list_releases`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List published releases for a public GitHub project, newest first. A bare project name matches the most-starred repository; regular Git tags without a release are not included.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `project` | string | yes | `"vscode"` | Project name, owner/name, or GitHub repository link, such as microsoft/vscode. |
| `max_results` | integer | no | `2` | Maximum number of releases to return, such as 10. |
| `include_pre_releases` | boolean | no | `true` | Include pre-releases as well as stable releases; for example, true. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "project"
  ],
  "properties": {
    "project": {
      "type": "string",
      "minLength": 1,
      "description": "Project name, owner/name, or GitHub repository link, such as microsoft/vscode.",
      "examples": [
        "vscode",
        "cli/cli",
        "https://github.com/kubernetes/kubernetes"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 10,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of releases to return, such as 10.",
      "x-fous-developer": true,
      "examples": [
        2,
        10
      ]
    },
    "include_pre_releases": {
      "type": "boolean",
      "default": false,
      "description": "Include pre-releases as well as stable releases; for example, true.",
      "examples": [
        true
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "project": "vscode"
    },
    {
      "project": "cli/cli",
      "max_results": 2
    },
    {
      "project": "https://github.com/kubernetes/kubernetes",
      "max_results": 10,
      "include_pre_releases": true
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `project` | object |  |  |
| `project.name` | string | `"vscode"` |  |
| `project.owner` | string | `"microsoft"` |  |
| `project.full_name` | string | `"microsoft/vscode"` |  |
| `project.page_link` | string | `"https://github.com/microsoft/vscode"` |  |
| `releases` | array |  |  |
| `releases[].version` | string or null | `"1.139.1"` |  |
| `releases[].pre_release` | string | `"no"` |  |
| `releases[].release_date` | string or null | `"2026-09-25"` | Publication date in YYYY-MM-DD format. |
| `releases[].release_notes` | string or null | `"https://code.visualstudio.com/updates/v1_139"` | Plain text, truncated to 2,000 characters. |
| `releases[].release_title` | string or null | `"1.139.1"` |  |
| `releases[].download_files` | array |  |  |
| `releases[].release_page_link` | string | `"https://github.com/microsoft/vscode/releases/tag/1.139.1"` |  |

**Example input**

```json
{
  "project": "vscode"
}
```

**Example output**

```json
{
  "project": {
    "name": "vscode",
    "owner": "microsoft",
    "full_name": "microsoft/vscode",
    "page_link": "https://github.com/microsoft/vscode"
  },
  "releases": [
    {
      "version": "1.139.1",
      "pre_release": "no",
      "release_date": "2026-09-25",
      "release_notes": "https://code.visualstudio.com/updates/v1_139",
      "release_title": "1.139.1",
      "download_files": [],
      "release_page_link": "https://github.com/microsoft/vscode/releases/tag/1.139.1"
    },
    {
      "version": "1.139.0",
      "pre_release": "no",
      "release_date": "2026-09-23",
      "release_notes": "https://code.visualstudio.com/updates/v1_139",
      "release_title": "1.139.0",
      "download_files": [],
      "release_page_link": "https://github.com/microsoft/vscode/releases/tag/1.139.0"
    },
    {
      "version": "1.138.0",
      "pre_release": "no",
      "release_date": "2026-09-16",
      "release_notes": "https://code.visualstudio.com/updates/v1_138",
      "release_title": "1.138.0",
      "download_files": [],
      "release_page_link": "https://github.com/microsoft/vscode/releases/tag/1.138.0"
    }
  ]
}
```

### List trending repositories

Operation `list_trending_repositories`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List up to 25 public repositories trending on GitHub in page order, optionally filtered by programming language and time period.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `period` | string | no | `"this_week"` | Time span for the trending list. Example: this_week |
| `language` | string | no | `"TypeScript"` | Programming language to filter by, such as TypeScript. Leave blank for all languages. Example: TypeScript |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "period": {
      "enum": [
        "today",
        "this_week",
        "this_month"
      ],
      "type": "string",
      "default": "today",
      "description": "Time span for the trending list. Example: this_week",
      "examples": [
        "this_week",
        "this_month"
      ]
    },
    "language": {
      "type": "string",
      "default": "",
      "description": "Programming language to filter by, such as TypeScript. Leave blank for all languages. Example: TypeScript",
      "examples": [
        "TypeScript",
        "a-very-unlikely-language-zzqxyz"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "period": "this_week",
      "language": "TypeScript"
    },
    {
      "period": "this_month",
      "language": "a-very-unlikely-language-zzqxyz"
    },
    {}
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `repositories` | array |  | Trending repositories in page order, up to 25. |
| `repositories[].rank` | integer | `1` | Position on the trending page. |
| `repositories[].forks` | integer or null | `15753` | Total repository forks, if shown. |
| `repositories[].owner` | string | `"paperclipai"` | Repository owner. |
| `repositories[].language` | string or null | `"TypeScript"` | Primary programming language, if shown. |
| `repositories[].description` | string or null | `"The open-source app everyone uses to manage agents at work"` | Repository description, if present. |
| `repositories[].total_stars` | integer or null | `91041` | Total repository stars, if shown. |
| `repositories[].project_link` | string | `"https://github.com/paperclipai/paperclip"` | Link to the repository. |
| `repositories[].project_name` | string | `"paperclip"` | Repository name. |
| `repositories[].stars_gained` | integer or null | `7364` | Stars gained during the selected period, if shown. |

**Example input**

```json
{
  "period": "this_week",
  "language": "TypeScript"
}
```

**Example output**

```json
{
  "repositories": [
    {
      "rank": 1,
      "forks": 15753,
      "owner": "paperclipai",
      "language": "TypeScript",
      "description": "The open-source app everyone uses to manage agents at work",
      "total_stars": 91041,
      "project_link": "https://github.com/paperclipai/paperclip",
      "project_name": "paperclip",
      "stars_gained": 7364
    },
    {
      "rank": 2,
      "forks": 5224,
      "owner": "stablyai",
      "language": "TypeScript",
      "description": "Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.",
      "total_stars": 80044,
      "project_link": "https://github.com/stablyai/orca",
      "project_name": "orca",
      "stars_gained": 6227
    },
    {
      "rank": 3,
      "forks": 24898,
      "owner": "anthropics",
      "language": "TypeScript",
      "description": "Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows …",
      "total_stars": 148395,
      "project_link": "https://github.com/anthropics/claude-code",
      "project_name": "claude-code",
      "stars_gained": 1493
    }
  ]
}
```

### Search repositories

Operation `search_repositories`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find public GitHub repositories by keywords, with an optional language filter and sort order. Returns up to 100 matches.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"stars"` | Order of results, such as stars. |
| `query` | string | yes | `"invoice pdf generator"` | Keywords to search for, such as invoice pdf generator. |
| `language` | string | no | `"Python"` | Repository language, such as Python. Use any for no language filter. |
| `max_results` | integer | no | `3` | Maximum repositories to return, such as 20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "sort": {
      "enum": [
        "best_match",
        "stars",
        "recently_updated"
      ],
      "type": "string",
      "default": "best_match",
      "description": "Order of results, such as stars.",
      "examples": [
        "stars",
        "recently_updated"
      ]
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Keywords to search for, such as invoice pdf generator.",
      "examples": [
        "invoice pdf generator",
        "zyxnevermatchabcde123asdfnotreal"
      ]
    },
    "language": {
      "type": "string",
      "default": "any",
      "description": "Repository language, such as Python. Use any for no language filter.",
      "examples": [
        "Python"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum repositories to return, such as 20.",
      "x-fous-developer": true,
      "examples": [
        3,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "stars",
      "query": "invoice pdf generator",
      "language": "Python",
      "max_results": 3
    },
    {
      "query": "invoice pdf generator"
    },
    {
      "query": "zyxnevermatchabcde123asdfnotreal"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `repositories` | array |  | Public repositories matching the search. |
| `repositories[].name` | string | `"InvoiceGenerator"` | Project name. |
| `repositories[].forks` | integer | `125` | Fork count. |
| `repositories[].owner` | string | `"by-cx"` | Owner account name. |
| `repositories[].stars` | integer | `184` | Star count. |
| `repositories[].full_name` | string | `"by-cx/InvoiceGenerator"` | Owner and project name. |
| `repositories[].description` | string or null | `"Library to generate PDF invoices."` | Project description, if provided. |
| `repositories[].project_link` | string | `"https://github.com/by-cx/InvoiceGenerator"` | Project page on GitHub. |
| `repositories[].main_language` | string or null | `"Python"` | Main programming language, if known. |
| `repositories[].repository_id` | integer | `2173993` | GitHub repository ID. |
| `repositories[].last_updated_date` | string or null | `"2026-08-12"` | Date the repository was last updated. |

**Example input**

```json
{
  "sort": "stars",
  "query": "invoice pdf generator",
  "language": "Python",
  "max_results": 3
}
```

**Example output**

```json
{
  "repositories": [
    {
      "name": "InvoiceGenerator",
      "forks": 125,
      "owner": "by-cx",
      "stars": 184,
      "full_name": "by-cx/InvoiceGenerator",
      "description": "Library to generate PDF invoices.",
      "project_link": "https://github.com/by-cx/InvoiceGenerator",
      "main_language": "Python",
      "repository_id": 2173993,
      "last_updated_date": "2026-08-12"
    },
    {
      "name": "Invoice-Generator-Bot-with-Telegram-Integration",
      "forks": 0,
      "owner": "bahramnejhad",
      "stars": 21,
      "full_name": "bahramnejhad/Invoice-Generator-Bot-with-Telegram-Integration",
      "description": "This project is a Telegram bot that allows users to generate sales invoices by interacting with the bot. It collects user details, such as their phone number and store information, then allows them to…",
      "project_link": "https://github.com/bahramnejhad/Invoice-Generator-Bot-with-Telegram-Integration",
      "main_language": "Python",
      "repository_id": 894488007,
      "last_updated_date": "2026-08-28"
    },
    {
      "name": "invoice-gen",
      "forks": 2,
      "owner": "nafeu",
      "stars": 13,
      "full_name": "nafeu/invoice-gen",
      "description": "Basic invoice generator for quick PDF invoices/quotes.",
      "project_link": "https://github.com/nafeu/invoice-gen",
      "main_language": "Python",
      "repository_id": 159879124,
      "last_updated_date": "2026-01-08"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@github",
  "visibility": "public",
  "operation": "get_repository",
  "version": 1,
  "input": {
    "owner": "facebook",
    "project": "react"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@github\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_repository\",\n  \"version\": 1,\n  \"input\": {\n    \"owner\": \"facebook\",\n    \"project\": \"react\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@github",
  "visibility": "public",
  "operation": "get_repository",
  "version": 1,
  "input": {
    "owner": "facebook",
    "project": "react"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/github`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_repository`: Get repository. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_issues`: List issues. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_releases`: List releases. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_trending_repositories`: List trending repositories. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_repositories`: Search repositories. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-github https://api.fous.com/mcp/tools/github --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find public repositories matching product or technology keywords
- Compare repository stars, forks, and programming languages
- Track trending projects by programming language and time period
- Review published release versions and notes
- Monitor public issues and pull requests by state or label

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this GitHub tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a GitHub account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from github.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### Which public repositories match these keywords?

Search repositories finds public projects by required keywords, with optional language and sort filters.

### What are a repository's stars, forks, and license?

Get repository returns public facts such as stars, forks, and license for a repository name, owner/name, or link.

### What releases has a project published?

List releases returns published releases newest first, with options to set the maximum results and include pre-releases.

## Related

- [All Developer tools tools](https://fous.com/tools/category/developer-tools)
