---
title: "Compare branches, tags, or commits"
method: GET
path: "/api/v4/projects/{id}/repository/compare"
tags: ["repositories"]
---

# Compare branches, tags, or commits

`GET /api/v4/projects/{id}/repository/compare`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/repository/compare`
- Auth: none declared

Compares branches, tags, or commits. Retrieves the differences between two branches, tags, or commits in a specified project.

## Path parameters

- `id` string, required

## Query parameters

- `from` string, required
- `to` string, required
- `from_project_id` integer
- `straight` boolean
- `unidiff` boolean

## Response `200`

Compare branches, tags, or commits

- APIEntitiesCompare: API_Entities_Compare model
  - `commit` APIEntitiesCommit, required: API_Entities_Commit model
    - `id` string, required
    - `short_id` string, required
    - `created_at` string, date-time, required
    - `parent_ids` string[], required
    - `title` string, required
    - `message` string, required
    - `author_name` string, required
    - `author_email` string, required
    - `authored_date` string, date-time, required
    - `committer_name` string, required
    - `committer_email` string, required
    - `committed_date` string, date-time, required
    - `trailers` object, required
    - `extended_trailers` object, required
    - `web_url` string, required
  - `commits` APIEntitiesCommit[], required
    - `id` string, required
    - `short_id` string, required
    - `created_at` string, date-time, required
    - `parent_ids` string[], required
    - `title` string, required
    - `message` string, required
    - `author_name` string, required
    - `author_email` string, required
    - `authored_date` string, date-time, required
    - `committer_name` string, required
    - `committer_email` string, required
    - `committed_date` string, date-time, required
    - `trailers` object, required
    - `extended_trailers` object, required
    - `web_url` string, required
  - `diffs` APIEntitiesDiff[], required
    - `diff` string, required
    - `collapsed` boolean, required
    - `too_large` boolean, required
    - `new_path` string, required
    - `old_path` string, required
    - `a_mode` string, required
    - `b_mode` string, required
    - `new_file` boolean, required
    - `renamed_file` boolean, required
    - `deleted_file` boolean, required
    - `generated_file` boolean, required
  - `compare_timeout` boolean, required
  - `compare_same_ref` boolean, required
  - `web_url` string, required

---

[API](https://skmtc.dev/gitlab/apis/gitlab-api.md) - [All operations](https://skmtc.dev/gitlab/apis/gitlab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitlab/apis/gitlab-api/revisions/b234947ef3f2?raw)
