GitHub Search API

GET   /api/v1/search?engine=github_search

The GitHub Search API returns results from GitHub as structured JSON. A single engine covers every GitHub search vertical, selected with the type parameter: repositories (default), users, issues, pull_requests, commits, topics, discussions, packages, wikis and marketplace. The q parameter accepts GitHub's full search qualifier syntax (for example language:ruby stars:>1000).

API Parameters

Search Query

  • Name
    q
    Required
    Required
    Description

    The search query. Supports GitHub's search qualifier syntax, e.g. language:ruby stars:>1000 topic:cli for repositories, or is:pr is:merged for issues.

Search Type

  • Name
    type
    Required
    Optional
    Description

    The GitHub search vertical to query. Each type returns its own result shape. Options are:

    • repositories - repositories (default)
    • users - users and organizations
    • issues - issues and pull requests
    • pull_requests - pull requests only
    • commits - commits
    • topics - topics
    • discussions - discussions
    • packages - packages
    • wikis - wiki pages
    • marketplace - Marketplace apps, Actions and GitHub Models

Sorting

  • Name
    sort
    Required
    Optional
    Description

    Sorts the results by the given field. By default, results are ranked by GitHub's Best match relevance. The available values depend on type:

    • repositories: stars, forks, help_wanted_issues, updated
    • users: followers, repositories, joined
    • issues, pull_requests: created, updated, comments, reactions, interactions
    • commits: author_date, committer_date
    • discussions: updated, comments, reactions, interactions
    • packages: updated, created, downloads
    • wikis: updated
    • marketplace: updated, created, popularity
    • topics: not sortable

  • Name
    order
    Required
    Optional
    Description

    Sort direction. Requires sort — sending order on its own is rejected with a 400 error rather than ignored. Options are desc (default) and asc.

Pagination

  • Name
    page
    Required
    Optional
    Description

    The page of results to return. GitHub serves 10 results per page, up to page 100 (the first 1,000 results).

Engine

  • Name
    engine
    Required
    Required
    Description

    Parameter defines an engine that will be used to retrieve real-time data. It must be set to github_search.

API key

  • Name
    api_key
    Required
    Required
    Description

    The api_key authenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).

Zero Data Retention

  • Name
    zero_retention
    Enterprise Only
    Enterprise Only
    Required
    Optional
    Description

    Set this parameter to true to disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.

API Examples

Repositories

Repositories
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=react&sort=stars&type=repositories
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "repositories",
  "q": "react",
  "sort": "stars"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_LqdKeRrXoaEwu9YVo0Pl1Ymz",
    "status": "Success",
    "created_at": "2026-08-31T14:09:27Z",
    "request_time_taken": 2.21,
    "parsing_time_taken": 0.01,
    "total_time_taken": 2.22,
    "request_url": "https://github.com/search?q=react&type=repositories&s=stars",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_LqdKeRrXoaEwu9YVo0Pl1Ymz.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_LqdKeRrXoaEwu9YVo0Pl1Ymz"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "react",
    "type": "repositories",
    "sort": "stars"
  },
  "search_information": {
    "query": "react",
    "total_results": 7195486,
    "page": 1,
    "time_taken": 0.246
  },
  "topic": {
    "name": "react",
    "display_name": "React",
    "description": "React is an open source JavaScript library used for designing user interfaces.",
    "created_by": "Jordan Walke",
    "released": "March 2013",
    "stargazer_count": 115142,
    "applied_count": 668618,
    "link": "https://github.com/topics/react",
    "github_url": "https://github.com/facebook/react",
    "logo": "https://explore-feed.github.com/topics/react/react.png",
    "wikipedia_url": "https://en.wikipedia.org/wiki/React_(JavaScript_library)",
    "aliases": [
      "react-js",
      ...
    ],
    "related": [
      "angular",
      ...
    ],
    "is_curated": true,
    "is_featured": true
  },
  "organic_results": [
    {
      "position": 1,
      "id": 28457823,
      "name": "freeCodeCamp",
      "full_name": "freeCodeCamp/freeCodeCamp",
      "link": "https://github.com/freeCodeCamp/freeCodeCamp",
      "description": "freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.",
      "owner": {
        "login": "freeCodeCamp",
        "id": 9892522,
        "type": "Organization",
        "avatar_url": "https://avatars.githubusercontent.com/u/9892522?v=4"
      },
      "stars": 454771,
      "language": "TypeScript",
      "language_color": "#3178c6",
      "topics": [
        "react",
        ...
      ],
      "good_first_issue_issues_count": 0,
      "help_wanted_issues_count": 8,
      "visibility": "public",
      "updated_at": "2026-08-31T11:07:23.525Z",
      "is_sponsorable": true,
      "has_funding_file": true,
      "has_issues": true
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=react&type=repositories&s=stars&p=2"
  },
  "language_filters": [
    {
      "name": "JavaScript",
      "color": "#f1e05a",
      "query": "language:JavaScript"
    },
    ...
  ]
}

Users

Users
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=torvalds&sort=followers&type=users
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "users",
  "q": "torvalds",
  "sort": "followers"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_a6KXlErN3Ej2fl7wpYvP850b",
    "status": "Success",
    "created_at": "2026-08-31T14:09:29Z",
    "request_time_taken": 1.84,
    "parsing_time_taken": 0.02,
    "total_time_taken": 1.85,
    "request_url": "https://github.com/search?q=torvalds&type=users&s=followers",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_a6KXlErN3Ej2fl7wpYvP850b.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_a6KXlErN3Ej2fl7wpYvP850b"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "torvalds",
    "type": "users",
    "sort": "followers"
  },
  "search_information": {
    "query": "torvalds",
    "total_results": 461,
    "page": 1,
    "time_taken": 0.048
  },
  "organic_results": [
    {
      "position": 1,
      "login": "torvalds",
      "name": "Linus Torvalds",
      "id": 1024025,
      "link": "https://github.com/torvalds",
      "avatar_url": "https://avatars.githubusercontent.com/u/1024025?v=4",
      "location": "Portland, OR",
      "followers": 319254,
      "repos": 12
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 47,
    "next": "https://github.com/search?q=torvalds&type=users&s=followers&p=2"
  },
  "language_filters": [
    {
      "name": "Python",
      "color": "#3572A5",
      "query": "language:Python"
    },
    ...
  ]
}

Issues & Pull Requests

Issues & Pull Requests

type=issues searches issues and pull requests together, the same way GitHub's Issues tab does. Use type=pull_requests below when you want pull requests only.

GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=memory+leak&sort=comments&type=issues
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "issues",
  "q": "memory leak",
  "sort": "comments"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_x7L8KlJ0oGB6TdxYg6Y1GkOE",
    "status": "Success",
    "created_at": "2026-08-31T14:09:32Z",
    "request_time_taken": 5.28,
    "parsing_time_taken": 0.01,
    "total_time_taken": 5.29,
    "request_url": "https://github.com/search?q=memory+leak&type=issues&s=comments",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_x7L8KlJ0oGB6TdxYg6Y1GkOE.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_x7L8KlJ0oGB6TdxYg6Y1GkOE"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "memory leak",
    "type": "issues",
    "sort": "comments"
  },
  "search_information": {
    "query": "memory leak",
    "total_results": 408167,
    "page": 1,
    "time_taken": 3.471
  },
  "organic_results": [
    {
      "position": 1,
      "id": 5008075316,
      "number": 48838,
      "title": "[aw] No-Op Runs",
      "snippet": "...  dispatch). No race conditions or data corruption risks found. Result recorded in cache-memory for\nround-robin tracking; no GitHub write action needed.\n\nGenerated from Daily MCP Tool Concurrency Analysis ...",
      "link": "https://github.com/github/gh-aw/issues/48838",
      "state": "open",
      "comments": 2500,
      "labels": [
        "agentic-workflows",
        ...
      ],
      "author": {
        "login": "github-actions[bot]",
        "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4"
      },
      "created_at": "2026-07-29T10:14:36.000Z",
      "repository": {
        "id": 1036865607,
        "name": "gh-aw",
        "full_name": "github/gh-aw",
        "owner": {
          "login": "github",
          "id": 9919,
          "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4"
        },
        "updated_at": "2026-08-31T14:03:29.638Z",
        "has_issues": true
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=memory+leak&type=issues&s=comments&p=2"
  }
}

Pull Requests

Pull Requests

type=pull_requests returns the same result shape as type=issues, narrowed to pull requests, and adds the language_filters facet GitHub shows on this tab.

GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=fix&sort=created&type=pull_requests
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "pull_requests",
  "q": "fix",
  "sort": "created"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_kQzy2PnvoBkZCDqO3Yx0EK15",
    "status": "Success",
    "created_at": "2026-08-31T14:09:38Z",
    "request_time_taken": 3.58,
    "parsing_time_taken": 0.01,
    "total_time_taken": 3.59,
    "request_url": "https://github.com/search?q=fix&type=pullrequests&s=created",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_kQzy2PnvoBkZCDqO3Yx0EK15.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_kQzy2PnvoBkZCDqO3Yx0EK15"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "fix",
    "type": "pull_requests",
    "sort": "created"
  },
  "search_information": {
    "query": "fix",
    "total_results": 217948423,
    "page": 1,
    "time_taken": 1.819
  },
  "organic_results": [
    {
      "position": 1,
      "id": 4403123212,
      "number": 56,
      "title": "fix: route the remaining Italian strings through i18n",
      "snippet": "What changed\n\nThe 0.9.0 translation pass left hardcoded Italian in a handful of surfaces. They now resolve through the i18n resources\nin both languages:\n\n  - Repository detail panel — the pulito / N modifiche ...",
      "link": "https://github.com/LorenzoVicino/repo-control/pull/56",
      "state": "open",
      "is_pull_request": true,
      "reviewable_state": "ready",
      "comments": 0,
      "author": {
        "login": "LorenzoVicino",
        "avatar_url": "https://avatars.githubusercontent.com/u/104823393?v=4"
      },
      "created_at": "2026-08-31T14:09:37.000Z",
      "repository": {
        "id": 1283875277,
        "name": "repo-control",
        "full_name": "LorenzoVicino/repo-control",
        "owner": {
          "login": "LorenzoVicino",
          "id": 104823393,
          "avatar_url": "https://avatars.githubusercontent.com/u/104823393?v=4"
        },
        "updated_at": "2026-08-31T14:06:49.858Z",
        "has_issues": true
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=fix&type=pullrequests&s=created&p=2"
  },
  "language_filters": [
    {
      "name": "JavaScript",
      "color": "#f1e05a",
      "query": "language:JavaScript"
    },
    ...
  ]
}

Commits

Commits
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=bugfix&sort=author_date&type=commits
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "commits",
  "q": "bugfix",
  "sort": "author_date"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_wr07vRBGpw4dcPYwgb6ZlXJj",
    "status": "Success",
    "created_at": "2026-08-31T14:09:41Z",
    "request_time_taken": 3.73,
    "parsing_time_taken": 0.01,
    "total_time_taken": 3.74,
    "request_url": "https://github.com/search?q=bugfix&type=commits&s=author-date",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_wr07vRBGpw4dcPYwgb6ZlXJj.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_wr07vRBGpw4dcPYwgb6ZlXJj"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "bugfix",
    "type": "commits",
    "sort": "author_date"
  },
  "search_information": {
    "query": "bugfix",
    "total_results": 4046416,
    "page": 1,
    "time_taken": 2.041
  },
  "organic_results": [
    {
      "position": 1,
      "sha": "f178f9501b2b8770409c1de9bc8465bdce30e5e2",
      "subject": "Merge pull request #2612 from laggardkernel/bugfix/realpath-in-versions",
      "message": "Merge pull request #2612 from laggardkernel/bugfix/realpath-in-versions\n\nFix link resolving in pyenv-versions",
      "snippet": "Fix link resolving in pyenv-versions",
      "link": "https://github.com/WondWorkshop/detectfaces/commit/f178f9501b2b8770409c1de9bc8465bdce30e5e2",
      "author_date": "2090-09-03T11:11:10.000+08:00",
      "authors": [
        {
          "login": "WondWorkshop",
          "name": "WondWorkshop",
          "avatar_url": "https://avatars.githubusercontent.com/u/226275773?v=4"
        },
        ...
      ],
      "committer": {
        "login": "WondWorkshop",
        "name": "WondWorkshop",
        "avatar_url": "https://avatars.githubusercontent.com/u/226275773?v=4"
      },
      "repository": {
        "id": 1037237097,
        "name": "detectfaces",
        "full_name": "WondWorkshop/detectfaces",
        "owner": {
          "login": "WondWorkshop",
          "id": 226275773,
          "avatar_url": "https://avatars.githubusercontent.com/u/226275773?v=4"
        },
        "updated_at": "2025-08-15T05:08:03.225Z",
        "has_issues": true
      },
      "verification": {
        "status": "unsigned",
        "reason": "unsigned"
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=bugfix&type=commits&s=author-date&p=2"
  }
}

Topics

Topics
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=machine-learning&type=topics
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "topics",
  "q": "machine-learning"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_KaMw9PG4o4X1SlGwokEzRrvY",
    "status": "Success",
    "created_at": "2026-08-31T14:09:46Z",
    "request_time_taken": 2.05,
    "parsing_time_taken": 0.01,
    "total_time_taken": 2.06,
    "request_url": "https://github.com/search?q=machine-learning&type=topics",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_KaMw9PG4o4X1SlGwokEzRrvY.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_KaMw9PG4o4X1SlGwokEzRrvY"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "machine-learning",
    "type": "topics"
  },
  "search_information": {
    "query": "machine-learning",
    "total_results": 1494,
    "page": 1,
    "time_taken": 0.053
  },
  "organic_results": [
    {
      "position": 1,
      "id": 2169,
      "name": "machine-learning",
      "display_name": "Machine learning",
      "link": "https://github.com/topics/machine-learning",
      "description": "Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.",
      "stargazer_count": 83246,
      "repository_count": 280000,
      "is_repository_count_approximate": true,
      "applied_count": 280958,
      "aliases": [
        "machine-learning-algorithms",
        ...
      ],
      "wikipedia_url": "https://en.wikipedia.org/wiki/Machine_learning",
      "is_curated": true
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=machine-learning&type=topics&p=2"
  }
}

Discussions

Discussions
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=kubernetes&sort=comments&type=discussions
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "discussions",
  "q": "kubernetes",
  "sort": "comments"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_9YXGkBJ1pQDvH4x93PLOKqQN",
    "status": "Success",
    "created_at": "2026-08-31T14:09:48Z",
    "request_time_taken": 3.69,
    "parsing_time_taken": 0.01,
    "total_time_taken": 3.69,
    "request_url": "https://github.com/search?q=kubernetes&type=discussions&s=comments",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_9YXGkBJ1pQDvH4x93PLOKqQN.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_9YXGkBJ1pQDvH4x93PLOKqQN"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "kubernetes",
    "type": "discussions",
    "sort": "comments"
  },
  "search_information": {
    "query": "kubernetes",
    "total_results": 35191,
    "page": 1,
    "time_taken": 1.971
  },
  "organic_results": [
    {
      "position": 1,
      "id": 3593275,
      "number": 125,
      "title": "Future Ready Talent  🚀",
      "snippet": "Knowledge Check\n\nYou have an Azure subscription that contains an Azure Active Directory (Azure AD) tenant named contoso.com and an Azure\nKubernetes Service (AKS) cluster named AKS1. An administrator ...",
      "body": "Future Ready Talent  🚀\n\nFuture Ready Talent https://futurereadytalent.in/ is a virtual internship platform with an opportunity to learn the\nin-demand Azure cloud security skills aligned to industry needs. The program aims at preparing learners to work towards\nsolving business challenges and creating innovative solutions using the power of Microsoft Azure GitHub tools.\n\nJoin the GitHub Discussion\n\nWe ve enabled the GitHub Discussions feature here for you to ask and answer technical questions while participating in\nFuture Ready Talent - student internship program. Our program partner, EY, will have their engineering team (\n@ey-mentor1 , @ey-mentor2 , @ey-mentor3 , @ey-mentor4 ) to support and answer your questions.\n\nHow to start a GitHub Discussion thread?\n\n👉🏻 Continue the conversation on this Discussion by replying below\n\nOR\n\n  - Navigate to the GitHub India public repository\n  - Click on the Discussions tab, and select the New Discussion button in green\n  - In the “Select Category” drop-down menu, choose a category (i.e. Students in this case) for your discussion\n  - Type a title and body for your discussion with your question\n  - Click Start discussion\n\n⚠️ For any platform/program related queries please raise a support ticket within the Future Ready Talent platform.\n\n🎒Apply for GitHub Student Developer Pack\n\nApplications are generally processed within a few days, but may take longer in peak periods such as the start of a new\nsemester. Please note our support team is unable to expedite the review process, so opening a support ticket will not\ndecrease the review time. At the busiest times of year, application review times can be up to six weeks. Have more\nquestions? Check out the Student Developer Pack FAQ\n",
      "link": "https://github.com/github/india/discussions/125",
      "comments": 5587,
      "author": {
        "login": "arkodyuti",
        "id": 10099375,
        "avatar_url": "https://avatars.githubusercontent.com/u/10099375?v=4"
      },
      "created_at": "2021-09-26T15:48:02.000+02:00",
      "updated_at": "2026-03-08T20:44:58.000+01:00",
      "repository": {
        "id": 297419763,
        "name": "india",
        "full_name": "github/india",
        "owner": {
          "login": "github",
          "id": 9919,
          "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4"
        },
        "updated_at": "2025-02-14T23:32:37.670Z"
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=kubernetes&type=discussions&s=comments&p=2"
  }
}

Packages

Packages
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=react&sort=downloads&type=packages
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "packages",
  "q": "react",
  "sort": "downloads"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_mQdZY24X3k8Nt2QBpyxG15W7",
    "status": "Success",
    "created_at": "2026-08-31T14:09:52Z",
    "request_time_taken": 1.9,
    "parsing_time_taken": 0.01,
    "total_time_taken": 1.9,
    "request_url": "https://github.com/search?q=react&type=registrypackages&s=downloads",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_mQdZY24X3k8Nt2QBpyxG15W7.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_mQdZY24X3k8Nt2QBpyxG15W7"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "react",
    "type": "packages",
    "sort": "downloads"
  },
  "search_information": {
    "query": "react",
    "total_results": 8502,
    "page": 1,
    "time_taken": 0.223
  },
  "organic_results": [
    {
      "position": 1,
      "id": "rms-1243839",
      "name": "reactive-resume",
      "link": "https://github.com/users/amruthpillai/packages/container/package/reactive-resume",
      "package_type": "container",
      "downloads": 6616717,
      "latest_version": "sha256-27d682727ebd96c68fdc50d8e49c717ebbf3797e8e311e0b8ed2c5b35dc663f5.sig",
      "latest_version_published_at": "2026-08-28T20:47:01.622448Z",
      "latest_version_digest": "sha256:ce37c2b6b88267662c4a0529fdefa4b77c37dcfd55f19fb9e77d27969852db93",
      "visibility": "public",
      "created_at": "2022-03-07T21:45:16.21203Z",
      "updated_at": "2026-08-28T20:47:01.630Z",
      "repository": {
        "id": 249995750,
        "name": "reactive-resume",
        "full_name": "amruthpillai/reactive-resume"
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=react&type=registrypackages&s=downloads&p=2"
  },
  "package_type_filters": [
    {
      "name": "npm",
      "query": "package_type:npm"
    },
    ...
  ]
}

Wikis

Wikis
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=installation&sort=updated&type=wikis
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "wikis",
  "q": "installation",
  "sort": "updated"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_MJjKW8mR3ZGJsKqepn9redbv",
    "status": "Success",
    "created_at": "2026-08-31T14:09:54Z",
    "request_time_taken": 2.28,
    "parsing_time_taken": 0.01,
    "total_time_taken": 2.29,
    "request_url": "https://github.com/search?q=installation&type=wikis&s=updated",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_MJjKW8mR3ZGJsKqepn9redbv.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_MJjKW8mR3ZGJsKqepn9redbv"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "installation",
    "type": "wikis",
    "sort": "updated"
  },
  "search_information": {
    "query": "installation",
    "total_results": 335736,
    "page": 1,
    "time_taken": 0.319
  },
  "organic_results": [
    {
      "position": 1,
      "id": "e787cb9e1a29d7f0ebcce3d6444d544f25c7194d",
      "title": "sentinel",
      "snippet": ". Action: Audit all userland and package installation boundaries for missing capability restrictions and ensure secrets are loaded exclusively via secure hardware/environment storage.",
      "body": "Sentinel's Journal - Security & Hardening Learnings Philosophy Security is everyone's responsibility. Defense in depth - multiple layers of protection. Fail securely - errors should not expose sensitive data. Trust nothing, verify everything. Critical Learnings 2025-05-18 - Privilege Separation and Memory Safety Guards Learning: Hardcoded fallback tokens, un-sandboxed maintainer scripts, and unsafe buffer operations pose grave security risks in operating system core components. Enforcing Capsicum/pledge sandboxing and strict input validation prevents privilege escalation and command injection. Action: Audit all userland and package installation boundaries for missing capability restrictions and ensure secrets are loaded exclusively via secure hardware/environment storage.",
      "link": "https://github.com/AaryanSinghChauhan09/SigmaOS/wiki/sentinel",
      "filename": "sentinel.md",
      "format": "markdown",
      "updated_at": "2026-08-31T19:39:00.000+05:30",
      "repository": {
        "id": 1174137030,
        "name": "SigmaOS",
        "full_name": "AaryanSinghChauhan09/SigmaOS",
        "owner": {
          "login": "AaryanSinghChauhan09",
          "id": 182842230,
          "avatar_url": "https://avatars.githubusercontent.com/u/182842230?v=4"
        },
        "updated_at": "2026-08-31T14:09:51.563Z",
        "has_issues": true
      }
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=installation&type=wikis&s=updated&p=2"
  }
}

Marketplace

Marketplace
GET
https://www.searchapi.io/api/v1/search?engine=github_search&q=ci&sort=popularity&type=marketplace
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "github_search",
  "type": "marketplace",
  "q": "ci",
  "sort": "popularity"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_vr7K8ndWgWe1iDx83P45k2mY",
    "status": "Success",
    "created_at": "2026-08-31T14:09:57Z",
    "request_time_taken": 1.89,
    "parsing_time_taken": 0.05,
    "total_time_taken": 1.94,
    "request_url": "https://github.com/search?q=ci&type=marketplace&s=popularity",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_vr7K8ndWgWe1iDx83P45k2mY.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_vr7K8ndWgWe1iDx83P45k2mY"
  },
  "search_parameters": {
    "engine": "github_search",
    "q": "ci",
    "type": "marketplace",
    "sort": "popularity"
  },
  "search_information": {
    "query": "ci",
    "total_results": 3358,
    "page": 1,
    "time_taken": 0.095
  },
  "organic_results": [
    {
      "position": 1,
      "id": 7,
      "listing_type": "marketplace_listing",
      "name": "CircleCI",
      "slug": "circleci",
      "link": "https://github.com/marketplace/circleci",
      "state": "verified",
      "description": "Ship trusted code with confidence. Fast feedback, flexible execution, and enterprise-grade security",
      "full_description": "CircleCI is the CI/CD platform built for speed, scale, and compliance - trusted by the world s best engineering teams to\nbuild, test, and deploy with confidence. With flexible execution environments, intelligent build optimization, and\nAI-driven validation with Chunk, CircleCI provides the compute, automation, and insights that power modern software\ndelivery.\n",
      "extended_description": "### How to set up CircleCI \n\nFor the best experience, we recommend setting up your CircleCI integration through the CircleCI web app rather than installing from the GitHub Marketplace.\n\n## To integrate via OAuth (this listing's integration):\n\n- New to CircleCI? Sign up using \"Log in with GitHub\" at https://circleci.com/signup - your organizations and repositories will be automatically connected through OAuth.\n- Already have a CircleCI account? Follow the GitHub OAuth integration guide: https://circleci.com/docs/guides/integration/github-integration/#connect-a-github-account\n\n## To integrate via the CircleCI GitHub App:\n\n- Log in to your CircleCI account\n- Navigate to Organization Settings > VCS Connections\n- Follow the prompts to install and configure the CircleCI GitHub App\n\nBoth integrations can be used alongside each other. Learn more: [Using the CircleCI GitHub App in an OAuth organization - CircleCI Docs](https://circleci.com/docs/guides/integration/using-the-circleci-github-app-in-an-oauth-org/) \n\n### Why teams choose CircleCI\n\n**Lightning-fast feedback** - Intelligent caching, test splitting, and autoscaling deliver some of the fastest build times in CI/CD, so your team spends less time waiting and more time shipping.\n\n**Flexible execution** - Run jobs across a wide range of environments - Docker, Linux, macOS, Windows, Arm, GPU - or bring your own infrastructure with self-hosted runners.\n\n**Enterprise-grade confidence** - FedRAMP authorized and SOC 2 Type II certified, with audit logs, OIDC, and granular access controls to protect your software supply chain.\n\n**Autonomous validation** - Chunk, CircleCI's CI/CD agent, tackles flaky tests, failed builds, and configuration drift so your team can focus on building, not pipeline maintenance.\n\nNeed help? Visit [Welcome to CircleCI Documentation - CircleCI Docs](https://circleci.com/docs/)  or [CircleCI Support Center](https://support.circleci.com/) ",
      "listable_type": "OauthApplication",
      "primary_category": "Continuous integration",
      "secondary_category": "Mobile CI",
      "installation_count": 415141,
      "logo": "https://avatars.githubusercontent.com/ml/7?v=4",
      "owner_login": "circleci",
      "pricing_url": "https://circleci.com/pricing/?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "company_url": "https://circleci.com/?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "documentation_url": "https://circleci.com/docs/?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "support_url": "https://discuss.circleci.com?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "status_url": "http://status.circleci.com/",
      "installation_url": "https://circleci.com/login?return-to=%2Fdashboard%3Futm_medium%3Dpartner%26utm_campaign%3Dghmarketplace%26utm_source%3Dgithub",
      "learn_more_url": "https://circleci.com?utm_source=github.com&utm_medium=referral&utm_campaign=integrations",
      "privacy_policy_url": "https://circleci.com/privacy/?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "tos_url": "https://circleci.com/terms-of-service/?utm_source=github&utm_medium=partner&utm_campaign=ghmarketplace",
      "is_verified_owner": true,
      "is_recommended": true
    },
    ...
  ],
  "pagination": {
    "current": 1,
    "total_pages": 100,
    "next": "https://github.com/search?q=ci&type=marketplace&s=popularity&p=2"
  }
}