The GitLab REST API provides programmatic access to the full GitLab platform. Create and manage repositories, trigger and monitor CI/CD pipelines, manage merge requests and code reviews, handle issues, milestones, and project boards, manage users and groups, access audit logs, and configure webhooks. Supports both GitLab.com and self-hosted instances.
https://gitlab.com/api/v4
Auth type
Bearer Token
Auth header
PRIVATE-TOKEN: glpat-...
Rate limit
2,000 requests/min (authenticated)
Pricing
Free tier available
Free quota
Free tier with 5GB storage, 400 CI/CD minutes/month
Documentation
https://docs.gitlab.com/ee/api/rest/
Endpoint status
Server online — HTTP 404 — server is online but path returned an error (may require auth)803ms
(checked Mar 29, 2026)
Builder score
B
71%
builder-friendly
Use a Personal Access Token (PAT), Group Token, or Project Token in the PRIVATE-TOKEN header, or as a Bearer token.
PRIVATE-TOKEN: glpat-...
Free: 400 CI/CD min/mo, 5GB storage. Premium $29/user/mo: 10k CI/CD min, code ownership, security dashboard. Ultimate $99/user/mo: unlimited security scanning, compliance.
| Method | Path | Description |
|---|---|---|
| GET | /projects |
List projects accessible to the current user |
| POST | /projects/{id}/repository/commits |
Create a commit with file changes |
| GET | /projects/{id}/pipelines |
List CI/CD pipelines for a project |
| POST | /projects/{id}/pipeline |
Create (trigger) a new pipeline |
| GET | /projects/{id}/merge_requests |
List merge requests for a project |
| GET | /projects/{id}/issues |
List issues with filtering and sorting |
curl "https://gitlab.com/api/v4/projects?owned=true&order_by=last_activity_at" \ -H "PRIVATE-TOKEN: $GITLAB_TOKEN"
{
"id": 12345,
"name": "my-project",
"path_with_namespace": "mygroup/my-project",
"default_branch": "main",
"last_activity_at": "2024-03-15T10:00:00.000Z",
"visibility": "private",
"star_count": 42
}
Data sourced from API Map. Always verify pricing and rate limits against the official GitLab documentation.