# Search GitHub History (/api-reference/endpoint/research-github-search)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1064 · updated: 2026-07-30 -->
Related: [Search](/api-reference/endpoint/search.md), [Search Feedback](/api-reference/endpoint/search-feedback.md), [Scrape](/api-reference/endpoint/scrape.md), [Batch Scrape](/api-reference/endpoint/batch-scrape.md), [Get Batch Scrape Status](/api-reference/endpoint/batch-scrape-get.md), [Cancel Batch Scrape](/api-reference/endpoint/batch-scrape-delete.md)

Search GitHub issue/PR history, discussions, and repository READMEs. Results include repository metadata, URLs, snippets, and matched markdown content when available.

For a workflow overview, see the [Research Index guide](/features/research).

`GET /search/research/github`

Search GitHub history

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "query",
      "in": "query",
      "required": true,
      "description": "Natural-language query for GitHub issues, pull requests, discussions, and repository READMEs.",
      "schema": {
        "type": "string",
        "minLength": 1
      }
    },
    {
      "name": "k",
      "in": "query",
      "required": false,
      "description": "Maximum number of GitHub results to return.",
      "schema": {
        "type": "integer",
        "minimum": 1,
        "maximum": 100,
        "default": 20
      }
    }
  ],
  "responses": {
    "200": {
      "description": "Ranked GitHub history/readme results.",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "success",
              "results"
            ],
            "properties": {
              "success": {
                "type": "boolean"
              },
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "resultType": {
                      "type": "string",
                      "description": "Result class, such as issue, pull, discussion, or repo_readme."
                    },
                    "repo": {
                      "type": "string",
                      "description": "Repository in owner/name form."
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "pageType": {
                      "type": "string",
                      "description": "History page type for issue/PR/discussion results."
                    },
                    "number": {
                      "type": "integer"
                    },
                    "segmentCount": {
                      "type": "integer"
                    },
                    "readmeUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "title": {
                      "type": "string"
                    },
                    "snippet": {
                      "type": "string"
                    },
                    "contentMd": {
                      "type": "string",
                      "description": "Full matched markdown content when available."
                    },
                    "scores": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number"
                      },
                      "description": "Component scores such as semantic, lexical, fusion, rrf, or rerank."
                    }
                  }
                }
              }
            }
          },
          "example": {
            "success": true,
            "results": [
              {
                "resultType": "issue",
                "repo": "firecrawl/firecrawl",
                "url": "https://github.com/firecrawl/firecrawl/issues/123",
                "pageType": "issue",
                "number": 123,
                "segmentCount": 2,
                "title": "Worker shutdown race",
                "snippet": "Queue worker shutdown can lose completion signals...",
                "contentMd": "Full matched markdown content when available.",
                "scores": {
                  "semantic": 0.82
                }
              }
            ]
          }
        }
      }
    },
    "400": {
      "description": "Invalid request"
    },
    "401": {
      "description": "Missing or invalid bearer token"
    },
    "429": {
      "description": "Rate limit exceeded"
    },
    "500": {
      "description": "Internal server error"
    }
  }
}
```
