GitHub Issue Search API
Search GitHub issues by keyword and filter by repository, state, author, assignee, labels, comment count or date. Each result includes the title, state, author, labels, comment count and dates.
- Endpoint
- POST /github/search-issues
- Price
- 1 credit per request
- SDK
- client.github.searchIssues()
- MCP tool
- github_search_issues
curl -X POST "https://api.bridgly.app/github/search-issues" \ -H "Authorization: Bearer $BRIDGLY_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "good first issue", "state": "open", "language": "Rust", "count": 10}'import osimport requestsresponse = requests.post( "https://api.bridgly.app/github/search-issues", headers={"Authorization": f"Bearer {os.environ['BRIDGLY_KEY']}"}, json={ "query": "good first issue", "state": "open", "language": "Rust", "count": 10, },)data = response.json()const response = await fetch("https://api.bridgly.app/github/search-issues", { method: "POST", headers: { Authorization: `Bearer ${process.env.BRIDGLY_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ "query": "good first issue", "state": "open", "language": "Rust", "count": 10 }),});const data = await response.json();import { Bridgly } from "@bridgly/sdk";const client = new Bridgly({ apiKey: "bgly_YOUR_KEY" });const res = await client.github.searchIssues({ query: "good first issue", state: "open", language: "Rust", count: 10});if (res.type === "success") { console.log(res.data);}What does the GitHub Issue Search API return?
GitHub issues API: search issues by keyword, repo, state, labels, author, assignee, comment count and dates, with title, state, labels and timestamps. Every response has the same envelope: the result in data, plus timeMs and the creditsCost of the call.
Request body
querystring- Free-text search terms, matched against the default fields for this search type, e.g. "web framework".
ownersstring[]- Limit to these owners (users or orgs). Maps to `user:`.
reposstring[]- Limit to these "owner/name" repositories. Maps to `repo:`.
languagestring- Language of the containing repo. Maps to `language:`.
stateenum- Issue/PR state. Maps to `state:`.
- open | closed
authorstring- Opened by this user. Maps to `author:`.
assigneestring- Assigned to this user. Maps to `assignee:`.
mentionsstring- Mentioning this user. Maps to `mentions:`.
labelsstring[]- Require each of these labels. Maps to `label:`.
commentsobject- Filter by comment count. Provide any of gt / gte / lt / lte; combine a lower and upper bound for a range.
comments.gtnumber · nullable- Strictly greater than this value.
comments.gtenumber · nullable- Greater than or equal to this value.
comments.ltnumber · nullable- Strictly less than this value.
comments.ltenumber · nullable- Less than or equal to this value.
createdobject- Filter by creation date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
created.gtstring · nullable- Strictly after this date (YYYY-MM-DD).
created.gtestring · nullable- On or after this date (YYYY-MM-DD).
created.ltstring · nullable- Strictly before this date (YYYY-MM-DD).
created.ltestring · nullable- On or before this date (YYYY-MM-DD).
updatedobject- Filter by last update date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
updated.gtstring · nullable- Strictly after this date (YYYY-MM-DD).
updated.gtestring · nullable- On or after this date (YYYY-MM-DD).
updated.ltstring · nullable- Strictly before this date (YYYY-MM-DD).
updated.ltestring · nullable- On or before this date (YYYY-MM-DD).
closedobject- Filter by closed date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
closed.gtstring · nullable- Strictly after this date (YYYY-MM-DD).
closed.gtestring · nullable- On or after this date (YYYY-MM-DD).
closed.ltstring · nullable- Strictly before this date (YYYY-MM-DD).
closed.ltestring · nullable- On or before this date (YYYY-MM-DD).
orderenum · default desc- Sort direction. Defaults to "desc".
- desc | asc
countinteger · 1–10 · default 10- Number of results to return (1–10). Defaults to 10.
cursorstring- The previous response's `nextCursor`, to fetch the next page. Omit it for the first page.
reasonenum- State reason for closed issues. Maps to `reason:`.
- completed | not-planned | reopened
sortenum · default best-match- Sort field. Defaults to relevance ("best-match").
- best-match | created | updated | comments
Example response
{ "timeMs": 1840, "creditsCost": 1, "data": { "nextCursor": "string", "query": "string", "totalCount": 0, "issues": [ { "id": "string", "number": 0, "title": "string", "state": "string", "url": "string", "isPullRequest": true, "isDraft": true, "merged": true, "authorLogin": "string", "repository": "string", "repositoryUrl": "string", "commentsCount": 0, "labels": [ "string" ], "createdAt": "string", "updatedAt": "string", "closedAt": "string" } ] }}What can you build with the GitHub Issue Search API?
Find good first issues
List open issues with a beginner label in a language you know.
Monitor bug reports
Catch new issues that mention your product across repositories.
Measure maintainers
Compare how many issues projects close and how fast.
GitHub Issue Search API questions
How do I find good first issues on GitHub?
Set labels to good first issue, state to open and language to the one you want. Each issue comes back with title, state, author, labels, comment count and dates.
Can I track the bugs reported against a repository?
Yes. Set repos to it, state to open and labels to bug, sort by created, and run it on a schedule to catch new reports.
Can I find what users ask for in a competitor’s product?
Search their repositories for words like feature request, sorted by comments. The most discussed issues show what users want most.
How do I get more than 10 results from a GitHub issue search?
Each call returns up to 10 issues and a nextCursor. Send it back as cursor to get the next page; it is null when there are no more.
How do I separate bug triage from pull-request review?
Issue search finds problem reports and requests for work. Filter by repos, labels and state to build a triage queue; reason distinguishes completed and not-planned closures. Use the Pull Request Search API when you need proposed code changes, draft status, review requirements or merge dates.
Does a closed issue prove that a fix shipped?
No. Closing an issue is a workflow decision, and the reason can be completed or not-planned. Use the reason filter to narrow closed reports to a particular outcome, and retain the returned state and URL. To research implementation work, search the repository’s pull requests separately and inspect their merge status rather than treating every closed issue as a released fix.
How do I use the GitHub Issue Search API?
Send a POST request to https://api.bridgly.app/github/search-issues with the filters you want in the JSON body and your API key in the Authorization header. In the TypeScript SDK, call client.github.searchIssues(). AI agents connected to Bridgly over MCP can call the github_search_issues tool.
How much does the GitHub Issue Search API cost?
Costs 1 credit per request. Credits cost $2.00 per 1,000 on pay-as-you-go and as low as $1.00 per 1,000 at volume. New accounts on a business email start with 100 free credits, and failed requests are never charged.
More GitHub endpoints
The same API key works on every endpoint. See all GitHub API endpoints.
- GitHub Pull Request Search API→GitHub pull request search API: search PRs by keyword, repo, state, author, labels, review status, draft and merge date, with labels and merge status.
- GitHub Discussion Search API→GitHub discussions API: search GitHub Discussions by keyword, repo, author, comment count, dates and answered status, with category and comment count.
- GitHub Commit Search API→GitHub commit search API: search commits across public repositories by message, author, committer, date or SHA, with message, author and repository.
- GitHub User Search API→Find GitHub developers and organizations by location, language, followers and join date. Get bios and repository counts with the GitHub User Search API.
Try the GitHub Issue Search API
100 free credits on business email, no card. Your first call takes a minute.