GitLab Projects Scraper - Open Source Repos, Stars & Topics
Pricing
from $6.80 / 1,000 results
GitLab Projects Scraper - Open Source Repos, Stars & Topics
Scrape public GitLab.com projects by keyword, topic or path with stars, forks, topics, activity, namespace and web URL. Optional language breakdown, license and latest release. JSON, CSV, Excel.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
GitLab Projects Scraper - Open Source Repos, Stars & Topics
Here is one real result, with every field the actor returns:
{"id": 250833,"name": "gitlab-runner","pathWithNamespace": "gitlab-org/gitlab-runner","namespace": "GitLab.org","namespaceKind": "group","namespaceFullPath": "gitlab-org","description": "GitLab Runner is the open source project that is used to run your CI/CD jobs and send the results back to GitLab","starCount": 2569,"forksCount": 2646,"openIssuesCount": null,"topics": ["golang", "hacktoberfest"],"createdAt": "2015-04-27T21:10:25.322Z","lastActivityAt": "2026-08-17T07:48:29.709Z","defaultBranch": "main","webUrl": "https://gitlab.com/gitlab-org/gitlab-runner","avatarUrl": "https://gitlab.com/uploads/-/system/project/avatar/250833/runner.png","readmeUrl": "https://gitlab.com/gitlab-org/gitlab-runner/-/blob/main/README.md","visibility": "public","languageBreakdown": { "Go": 98.33, "Shell": 0.87, "Makefile": 0.49, "HCL": 0.14, "PowerShell": 0.07 },"primaryLanguage": "Go","license": "MIT License","latestReleaseTag": "v19.2.2","latestReleaseName": "v19.2.2","latestReleaseAt": "2026-08-13T15:31:29.907Z","aiWhatItDoes": "GitLab Runner is an open-source tool that executes CI/CD jobs and reports the results back to GitLab, facilitating continuous integration and deployment workflows.","aiCategory": "CI/CD","aiTechStack": ["Go", "Shell", "Makefile", "HCL", "PowerShell"],"aiTargetUser": "Developers and DevOps teams looking to automate their software development processes.","source": "GitLab","observedAt": "2026-08-17T08:24:29.811Z","error": null}
The most complete GitLab.com projects scraper available. It browses or searches public projects and returns every listing field GitLab exposes, including stars, forks, open issues, topics, namespace, activity and web URL, plus optional add-ons that enrich each project with its full language breakdown, license and latest release, and an AI summary of what the project does. Complements our GitHub Repositories Scraper by covering the GitLab ecosystem.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Use cases
- Quickstart
- Input reference
- Output reference
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor browses or searches public projects on GitLab.com and writes one normalized record per project to the run's dataset. Each record carries the project metadata (stars, forks, open issues, topics, namespace, default branch, activity timestamps and web URL). Optional paid add-ons fetch the project's language breakdown, license and latest release, and write an AI summary describing what the project does, its category, tech stack and target user.
Three ways to find projects:
- Browse the most popular public projects, sorted by stars, last activity or creation date.
- Search project names and descriptions by keyword, optionally filtered by topic.
- Project lookups by exact
namespace/projectpath for a known list of repositories.
Data covers only what GitLab exposes publicly. Fields a project keeps private or has disabled (for example releases on a project with releases turned off) are returned as null; the actor never invents a value.
Use cases
- OSS intelligence. Track the open-source projects, tooling and communities that live on GitLab rather than GitHub, with stars, forks and activity as adoption signals.
- Developer tools and market research. Map competing projects in a category, watch topic ecosystems (devops, kubernetes, rust) and benchmark popularity and release cadence.
- Dependency and supply-chain tracking. Monitor specific
namespace/projectpaths for latest release tags, license changes and activity so you know when an upstream dependency moves. - Recruiting and developer sourcing. Discover active maintainers and groups behind popular projects in a language or topic, with links straight to each project and namespace.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the top 5 most-starred public GitLab projects.
{"mode": "browse","sort": "stars","maxResults": 5}
Search a topic with full enrichment:
{"mode": "search","query": "kubernetes","sort": "stars","maxResults": 25,"includeDetails": true,"withAiSummary": true}
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | no | browse | browse lists top public projects, search filters by keyword/topic, project looks up specific paths. |
query | string | no | Keyword to search project names and descriptions (search mode). | |
topic | string | no | Filter projects by a GitLab topic/tag, for example devops. | |
sort | string | no | stars | Order results by stars, activity (last updated) or created (newest). |
minStars | integer | no | 0 | Only keep projects with at least this many stars. |
projectPaths | string[] | no | Specific projects to look up as namespace/project (project mode). | |
maxResults | integer | no | 25 | Maximum number of projects to collect. |
includeDetails | boolean | no | false | Paid add-on. Adds language breakdown, license and latest release per project. Charged per project enriched. |
withAiSummary | boolean | no | false | Paid add-on. Adds an AI summary, category, tech stack and target user per project. Charged per project summarised. |
Paid add-ons are disabled for free (non-paying) Apify users.
Output reference
One dataset item per project. Types: string, integer, object, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
id | integer | GitLab numeric project ID. |
name | string | Project name. |
pathWithNamespace | string | namespace/project identifier. |
namespace | string | Namespace (group or user) display name. |
namespaceKind | string | group or user. |
namespaceFullPath | string | Full namespace path. |
description | string | Project description, or null. |
starCount | integer | Star count. |
forksCount | integer | Fork count. |
openIssuesCount | integer | Open issues count, or null when disabled. |
topics | string[] | Project topics/tags set by the owner. |
createdAt | string | ISO 8601 creation timestamp. |
lastActivityAt | string | ISO 8601 last-activity timestamp. |
defaultBranch | string | Default branch name. |
webUrl | string | Canonical project URL. |
avatarUrl | string | Project avatar image URL, or null. |
readmeUrl | string | README URL, or null. |
visibility | string | Project visibility, always public. |
languageBreakdown | object | Details add-on. Map of language to percent. |
primaryLanguage | string | Details add-on. Highest-percentage language. |
license | string | Details add-on. License name, or null. |
latestReleaseTag | string | Details add-on. Latest release tag, or null. |
latestReleaseName | string | Details add-on. Latest release name, or null. |
latestReleaseAt | string | Details add-on. Latest release date, or null. |
aiWhatItDoes | string | AI add-on. Plain-English summary of the project. |
aiCategory | string | AI add-on. Normalized category label. |
aiTechStack | string[] | AI add-on. Inferred tech stack. |
aiTargetUser | string | AI add-on. Who the project is for. |
source | string | Always GitLab. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | Present only on a failed lookup, where an item with a populated error field is written instead. |
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gitlab-projects-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"search","query":"kubernetes","maxResults":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~gitlab-projects-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"browse","sort":"stars","maxResults":100,"includeDetails":true}'
Apify CLI:
apify call scrapers_lat/gitlab-projects-scraper \--input '{"mode":"project","projectPaths":["gitlab-org/gitlab-runner"],"includeDetails":true}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per project returned (
resultevent). See the pricing tab for the current per-result price. - Details add-on. The
detailsevent (includeDetails) is billed once per project only when the language breakdown, license or latest release is genuinely returned. - AI add-on. The
ai_summaryevent (withAiSummary) is billed per project only when a usable AI summary is produced. - No charge on failure. If a lookup errors, the actor writes an item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results and add-ons. - Free Apify plans are capped at 10 projects per run and cannot use the paid add-ons. Upgrade for higher
maxResultsand enrichment.
FAQ and troubleshooting
A run returned 0 records. Why?
The browse or search filter matched nothing. Loosen the query, drop the topic or lower minStars. Zero-result runs are not charged.
How do I look up specific projects?
Set mode to project and pass projectPaths as a list of namespace/project strings, for example gitlab-org/gitlab-runner. Each path is resolved individually and a bad path returns an error row without a charge.
Why is latestReleaseTag null on some projects?
GitLab lets a project disable its releases feature. When releases are off or a project has none, the field is null. Languages and license are still returned when available.
What do the add-ons cost me?
includeDetails adds language, license and release data and is billed per project enriched. withAiSummary adds an AI description and is billed per project summarised. Both require a paid Apify plan and are billed only when they produce data.
Is this an official GitLab tool? No. This actor is independent and has no affiliation with GitLab. It reads only data that is publicly available through GitLab.com. Use it in accordance with GitLab's terms of service.
Related scrapers
- GitHub Repositories Scraper: GitHub repositories with stars, forks, topics and owner contacts.
- GitHub Contributor Contacts Scraper: Top contributors and developer emails per repo.
- npm Packages Scraper: npm package metadata and maintainers.
- Docker Hub Images Scraper: Docker Hub image metadata and pull stats.
- Crates.io Rust Packages Scraper: Rust crate metadata from crates.io.
