GET /repos/{owner}/{repo}/commits

github.com:github-rest-api

Summary: List commits
Operation ID: repos/list-commits
Auth: bearer_token
Description

**Signature verification object** The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: | Name | Type | Description | | ---- | ---- | ----------- | | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | | `signature` | `string` | The signature that was extracted from the commit. | | `payload` | `string` | The value that was signed. | | `verified_at` | `string` | The date the signature was verified by GitHub. | These are the possible values for `reason` in the `verification` object: | Value | Description | | ----- | ----------- | | `expired_key` | The key that made the signature is expired. | | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | | `gpgverify_error` | There was an error communicating with the signature verification service. | | `gpgverify_unavailable` | The signature verification service is currently unavailable. | | `unsigned` | The object does not include a signature. | | `unknown_signature_type` | A non-PGP signature was found in the commit. | | `no_user` | No user was associated with the `committer` email address in the commit. | | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | | `unknown_key` | The key that made the signature has not been registered with any user's account. | | `malformed_signature` | There was an error parsing the signature. | | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | | `valid` | None of the above errors applied, so the signature is considered to be verified. |

Parameters (10)

author (string, query, optional)

GitHub username or email address to use to filter by commit author.

committer (string, query, optional)

GitHub username or email address to use to filter by commit committer.

owner (string, path, required)

The account owner of the repository. The name is not case sensitive.

page (integer, query, optional, default: 1)

The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)."

path (string, query, optional)

Only commits containing this file path will be returned.

per_page (integer, query, optional, default: 30)

The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)."

repo (string, path, required)

The name of the repository without the `.git` extension. The name is not case sensitive.

sha (string, query, optional)

SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`).

since (string, query, optional)

Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned.

until (string, query, optional)

Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned.

Examples (3)

TitleTypeURLAction
List commits for a public repository curl https://api.github.com/repos/octocat/Hello-World/commits
List commits filtered by author with pagination curl https://api.github.com/repos/facebook/react/commits?author=zpao&per_page=10&page=1
List commits for a specific file path since a date curl https://api.github.com/repos/microsoft/vscode/commits?path=package.json&since=2024-01-01T00:00:00Z

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-03-23 10:23:20.981598 200 311ms
2026-03-23 10:10:12.398072 200 836ms
2026-03-23 09:01:58.021815 200 554ms

Response Changes

WhenOldNew
2026-03-23 10:10:12.398072 f9ed0db85eb9 849296030b9c
2026-03-23 10:23:20.981598 849296030b9c 0395fe29421d