---
title: "Search commits"
method: GET
path: "/search/commits"
tags: ["search"]
---

# Search commits

`GET /search/commits`

Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/enterprise-server@3.6/rest/guides/using-pagination-in-the-rest-api).

When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match
metadata](https://docs.github.com/enterprise-server@3.6/rest/search/search#text-match-metadata).

For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this:

`q=repo:octocat/Spoon-Knife+css`

## Query parameters

- `q` string, required
- `sort` 'author-date' | 'committer-date'
- `order` 'desc' | 'asc'
- `per_page` integer
- `page` integer

## Response `200`

Response

- object
  - `total_count` integer, required
  - `incomplete_results` boolean, required
  - `items` CommitSearchResultItem[], required
    - `url` string, uri, required
    - `sha` string, required
    - `html_url` string, uri, required
    - `comments_url` string, uri, required
    - `commit` object, required
      - `author` object, required
        - `name` string, required
        - `email` string, required
        - `date` string, date-time, required
      - `committer` NullableGitUser, nullable, required — Metaproperties for Git author/committer information.
        - `name` string
        - `email` string
        - `date` string
      - `comment_count` integer, required
      - `message` string, required
      - `tree` object, required
        - `sha` string, required
        - `url` string, uri, required
      - `url` string, uri, required
      - `verification` Verification
        - `verified` boolean, required
        - `reason` string, required
        - `payload` string, nullable, required
        - `signature` string, nullable, required
    - `author` NullableSimpleUser, nullable, required — A GitHub user.
      - `name` string, nullable
      - `email` string, nullable
      - `login` string, required
      - `id` integer, required
      - `node_id` string, required
      - `avatar_url` string, uri, required
      - `gravatar_id` string, nullable, required
      - `url` string, uri, required
      - `html_url` string, uri, required
      - `followers_url` string, uri, required
      - `following_url` string, required
      - `gists_url` string, required
      - `starred_url` string, required
      - `subscriptions_url` string, uri, required
      - `organizations_url` string, uri, required
      - `repos_url` string, uri, required
      - `events_url` string, required
      - `received_events_url` string, uri, required
      - `type` string, required
      - `site_admin` boolean, required
      - `starred_at` string
    - `committer` NullableGitUser, nullable, required — Metaproperties for Git author/committer information.
      - `name` string
      - `email` string
      - `date` string
    - `parents` object[], required
      - `url` string
      - `html_url` string
      - `sha` string
    - `repository` MinimalRepository, required — Minimal Repository
      - `id` integer, required
      - `node_id` string, required
      - `name` string, required
      - `full_name` string, required
      - `owner` SimpleUser, required — A GitHub user.
        - `name` string, nullable
        - `email` string, nullable
        - `login` string, required
        - `id` integer, required
        - `node_id` string, required
        - `avatar_url` string, uri, required
        - `gravatar_id` string, nullable, required
        - `url` string, uri, required
        - `html_url` string, uri, required
        - `followers_url` string, uri, required
        - `following_url` string, required
        - `gists_url` string, required
        - `starred_url` string, required
        - `subscriptions_url` string, uri, required
        - `organizations_url` string, uri, required
        - `repos_url` string, uri, required
        - `events_url` string, required
        - `received_events_url` string, uri, required
        - `type` string, required
        - `site_admin` boolean, required
        - `starred_at` string
      - `private` boolean, required
      - `html_url` string, uri, required
      - `description` string, nullable, required
      - `fork` boolean, required
      - `url` string, uri, required
      - `archive_url` string, required
      - `assignees_url` string, required
      - `blobs_url` string, required
      - `branches_url` string, required
      - `collaborators_url` string, required
      - `comments_url` string, required
      - `commits_url` string, required
      - `compare_url` string, required
      - `contents_url` string, required
      - `contributors_url` string, uri, required
      - `deployments_url` string, uri, required
      - `downloads_url` string, uri, required
      - `events_url` string, uri, required
      - `forks_url` string, uri, required
      - `git_commits_url` string, required
      - `git_refs_url` string, required
      - `git_tags_url` string, required
      - `git_url` string
      - `issue_comment_url` string, required
      - `issue_events_url` string, required
      - `issues_url` string, required
      - `keys_url` string, required
      - `labels_url` string, required
      - `languages_url` string, uri, required
      - `merges_url` string, uri, required
      - `milestones_url` string, required
      - `notifications_url` string, required
      - `pulls_url` string, required
      - `releases_url` string, required
      - `ssh_url` string
      - `stargazers_url` string, uri, required
      - `statuses_url` string, required
      - `subscribers_url` string, uri, required
      - `subscription_url` string, uri, required
      - `tags_url` string, uri, required
      - `teams_url` string, uri, required
      - `trees_url` string, required
      - `clone_url` string
      - `mirror_url` string, nullable
      - `hooks_url` string, uri, required
      - `svn_url` string
      - `homepage` string, nullable
      - `language` string, nullable
      - `forks_count` integer
      - `stargazers_count` integer
      - `watchers_count` integer
      - `size` integer — The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
      - `default_branch` string
      - `open_issues_count` integer
      - `is_template` boolean
      - `topics` string[]
      - `has_issues` boolean
      - `has_projects` boolean
      - `has_wiki` boolean
      - `has_pages` boolean
      - `has_downloads` boolean
      - `archived` boolean
      - `disabled` boolean
      - `visibility` string
      - `pushed_at` string, date-time, nullable
      - `created_at` string, date-time, nullable
      - `updated_at` string, date-time, nullable
      - `permissions` object
        - `admin` boolean
        - `maintain` boolean
        - `push` boolean
        - `triage` boolean
        - `pull` boolean
      - `role_name` string
      - `temp_clone_token` string
      - `delete_branch_on_merge` boolean
      - `subscribers_count` integer
      - `network_count` integer
      - `code_of_conduct` CodeOfConduct — Code Of Conduct
        - `key` string, required
        - `name` string, required
        - `url` string, uri, required
        - `body` string
        - `html_url` string, uri, nullable, required
      - `license` object, nullable
        - `key` string
        - `name` string
        - `spdx_id` string
        - `url` string
        - `node_id` string
      - `forks` integer
      - `open_issues` integer
      - `watchers` integer
      - `allow_forking` boolean
      - `web_commit_signoff_required` boolean
    - `score` number, required
    - `node_id` string, required
    - `text_matches` object[]
      - `object_url` string
      - `object_type` string, nullable
      - `property` string
      - `fragment` string
      - `matches` object[]
        - `text` string
        - `indices` integer[]

## Other responses

- `304` — Not modified

---

[API](https://skmtc.net/github/apis/github-v3-rest-api-5.md) · [All operations](https://skmtc.net/github/apis/github-v3-rest-api-5/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/github-v3-rest-api-5/versions/50ae54440071/schema)
