GitLab API โ€” Projects, Groups & Releases

Pull structured GitLab data without writing a scraper or managing tokens. Projects, releases, tags, groups, and user profiles โ€” all via a single POST request.

6 dedicated endpoints 1 credit per request No GitLab token required JSON responses

Why GitLab data is hard to get

GitLab's own REST API requires an account, a personal access token, and careful pagination handling. Rate limits apply per token, responses are deeply nested, and private/group-scoped endpoints demand specific scopes. Anysite abstracts all of that: one authenticated call, one clean JSON object, no GitLab credentials.

All GitLab Endpoints

Six endpoints covering the full public GitLab surface โ€” projects, releases, tags, search, groups, and users.

Endpoint What It Returns Cost
POST /api/gitlab/projects Full project record: id, name, description, visibility, star/fork counts, open issues, topics, license, statistics (commit count, storage size), namespace, clone URLs, last_activity_at, created_at, default_branch, readme_url 1 credit
POST /api/gitlab/projects/releases Release list for a project: tag name, release name, description, created/released dates, author, linked commit, and asset download sources 1 credit
POST /api/gitlab/projects/search Keyword search across public GitLab projects sorted by star count (or any field). Returns the same rich project object as /projects 1 credit
POST /api/gitlab/projects/tags Tag list for a project: name, message, target commit sha, protection status, and linked release info 1 credit
POST /api/gitlab/groups Group details: id, name, full path, description, visibility, web URL, avatar, created date, and parent group id 1 credit
POST /api/gitlab/users User profile by username: id, name, state, public email, avatar, and web URL 1 credit

What You Can Build

Release & Version Monitoring

Poll /api/gitlab/projects/releases on key open-source projects. Extract changelogs, asset links, and release dates for product intelligence dashboards or competitive release tracking.

OSS Project Discovery

Search public GitLab projects by keyword, sorted by star count. Identify the most-adopted libraries and frameworks in any technology domain without browsing GitLab manually.

Release & Tag Intelligence

Monitor release history and tag timelines across any set of GitLab projects. Use /api/gitlab/projects/releases to track changelogs, asset links, and release dates; use /api/gitlab/projects/tags to audit version coverage and tag cadence.

Organization Mapping

Resolve GitLab groups to their metadata (full path, parent id, visibility) for org-level portfolio analysis. Surface all sub-groups and their project relationships programmatically.

Quick Start

All endpoints accept POST requests with a JSON body and return structured JSON. Authentication uses the access-token header.

Get project details โ€” curl
curl -X POST "https://api.anysite.io/api/gitlab/projects"   -H "access-token: YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{"project": "gitlab-org/gitlab"}'
List recent releases โ€” curl
curl -X POST "https://api.anysite.io/api/gitlab/projects/releases"   -H "access-token: YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{"project": "gitlab-org/gitlab-runner", "count": 5}'
Search public projects โ€” curl
curl -X POST "https://api.anysite.io/api/gitlab/projects/search"   -H "access-token: YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{"search": "kubernetes", "count": 10, "order_by": "star_count", "sort": "desc"}'
Get group details โ€” curl
curl -X POST "https://api.anysite.io/api/gitlab/groups"   -H "access-token: YOUR_TOKEN"   -H "Content-Type: application/json"   -d '{"group": "gitlab-org"}'
Python โ€” project + release pipeline
import requests

BASE = "https://api.anysite.io"
HEADERS = {"access-token": "YOUR_TOKEN", "Content-Type": "application/json"}

# 1. Get project metadata
project = requests.post(f"{BASE}/api/gitlab/projects",
    headers=HEADERS,
    json={"project": "gitlab-org/gitlab"}).json()
print(project["name"], "stars:", project["star_count"])

# 2. Fetch latest releases
releases = requests.post(f"{BASE}/api/gitlab/projects/releases",
    headers=HEADERS,
    json={"project": "gitlab-org/gitlab", "count": 3}).json()
for r in releases:
    print(r["tag"], r["name"], r["released_at"])

Pricing

All GitLab endpoints cost 1 credit per request. Credits are shared across all Anysite endpoints.

Use Case Calls / Month Credits Used
Daily release checks on 10 projects 300 300 credits
Weekly OSS project search (50 queries) 200 200 credits
Org portfolio scan (100 groups) 100 100 credits
Tag monitoring for 20 active repos 600 600 credits

The Starter plan ($49/mo, 15K credits) covers most developer research workflows. See all plans

Frequently Asked Questions

Do I need a GitLab account or personal access token?
No. Anysite's GitLab endpoints access public data without any GitLab credentials. You only need your Anysite access-token header โ€” no GitLab account, no OAuth flow, no personal access token required.
Can I access private GitLab repositories or groups?
No. All six endpoints return public GitLab data only. Private projects, private groups, and non-public user data are not accessible. Use the GitLab API directly (with a personal access token) if you need private data.
How do I identify a project โ€” by ID, path, or URL?
Any of the three works. You can pass a numeric project id (e.g., 278964), a namespace/project path (e.g., gitlab-org/gitlab), or the full project URL (e.g., https://gitlab.com/gitlab-org/gitlab). The same flexibility applies to groups: numeric id, full path like gitlab-org/quality, or the full group URL.
How do I search for GitLab projects?
Use POST /api/gitlab/projects/search with a search keyword (matched against project name and path) and a count. You can sort results by star_count, created_at, last_activity_at, or name using the order_by and sort parameters. The default sort is by star_count descending.
What does the releases endpoint return?
For each release it returns the tag name, release name, description/changelog, created and released timestamps, the author's username and profile, the linked commit, and asset download sources (count, source URLs, external links). Pass the count parameter to control how many releases are returned.
Is GitLab data available on the MCP server too?
Yes. GitLab endpoints are available on every Anysite surface โ€” REST API, MCP server, Anysite CLI, and n8n nodes. The underlying data and credit costs are identical across all surfaces.

Related Endpoints

Start pulling GitLab data today

6 endpoints. 1 credit each. No GitLab token required.