Data Data Partnerships Data Value Estimator Referrals Design Search Lead generation Data guides Blog Get an offer →
Theme
← Company data sourcesData source · Source code

How to find and export your GitLab data for AI training

GitLab shows how much data you have on the Storage tab under Settings > Usage quotas, which a group Owner can open for a whole group and a project Maintainer or Owner can open for one project. A full code history comes from git clone --mirror on each project, and a project export from Settings > General > Advanced adds issues and merge requests, but GitLab deletes the export file after 24 hours. Below, you'll find what GitLab data is and why AI labs and data vendors buy it, where to read your size, what to know before you apply, every export step, and what stays private.

Where the total is
Settings > Usage quotas > Storage tab
Who can see it
Group Owner, or project Maintainer or Owner
Storage figures refresh
Every 90 minutes
Project export file
Deleted after 24 hours; 5 GB import limit on GitLab.com

Key takeaways

  • GitLab shows repository and LFS storage on the Storage tab under Settings > Usage quotas, in GiB, and refreshes it every 90 minutes.
  • git clone --mirror on each project captures the full commit history, and Settings > General > Advanced > Export project adds issues and merge requests with their comments.
  • A project export leaves out CI/CD variables, job traces and artifacts, registry images, webhooks, pipeline triggers and secure files, and GitLab deletes the file after 24 hours.
  • You don't need to export anything to apply: have your storage in GB, your years of history and your member count ready, and the data vendor anonymizes the records before any AI lab sees them.

01

What is GitLab data, and why do AI labs and data vendors buy it?

The short answer

GitLab data is the stored history of a company's software projects: the code, every change made to it, and the merge requests and issues where people reviewed and discussed those changes. AI labs (companies that build and train AI models) and data vendors (companies that anonymize business records and package them for those labs) buy a copy because GitLab keeps a change, its review and the automated test result together in one place.

What a GitLab group records

GitLab is a service that hosts Git repositories, and Git is the tool most software teams use to save versions of their code. A company's top-level group is its account, and the group holds projects, each with its own repository (the project's files plus the complete history of every change to them).

Merge request
A proposal to merge one line of work into the main code, which shows the exact lines changed and the discussion colleagues had about them.
Issue
A written report of a bug or a request for a feature, with a discussion beneath it.
CI pipeline
The automated tests and checks that run on every change, and whether they passed.

Why a merge request teaches an AI model something

An AI model learns by studying a very large number of examples and finding the patterns in them, and those examples are called training data. A merge request is a worked example of one code change: the difference in the code, the reviewer's comments, and whether the checks passed afterward. That result is evidence that the change worked.

Issues linked to merge requests add a second kind of evidence, because they join a reported problem to the exact commits that fixed it. That link between a bug report and its fix is hard to rebuild from the code alone. AI labs now want to train AI agents, software that carries out a job step by step, and these linked records show an agent what a finished repair looks like. The full mechanism is in AI training data: why AI companies want your company's data.

How GitLab fits into a dataset

GitLab is one of several apps in a company's dataset, which usually also includes chat, email and project-tracking records. Companies are paid $100K to $2M or more per dataset, according to micro1, the data vendor we typically refer companies to. The price covers the whole dataset, not each app on its own, and what your data is worth explains what moves it.

02

Where does GitLab show how much data you have?

The short answer

GitLab shows storage on the Storage tab of the Usage quotas page, under Settings > Usage quotas, for each group and each project. A group Owner can read it for the whole group, and a project Maintainer or Owner can read it for that project. The figure covers the repository and Git LFS files, and GitLab refreshes it every 90 minutes.

How to read your storage

The steps below read the size of a GitLab group from its own Usage quotas page, as described in GitLab's storage documentation.

  1. Sign in with the Owner role on your top-level group, or the Maintainer or Owner role on a single project.
  2. In the top bar, choose Search or go to and open the group or project.
  3. In the left sidebar, choose Settings > Usage quotas, then open the Storage tab.
  4. Read the repository and LFS storage. For a group, select a project in the table at the bottom to see that project alone.

GitLab shows sizes in binary units, so a gibibyte (GiB) is 1,024 mebibytes. Treat a GiB figure as a GB figure when you report it.

What the figure includes and leaves out

The storage limit counts only a project's repository and its Git LFS files. Git LFS (Large File Storage) keeps big files, such as images or datasets, outside the normal Git history. The container registry, the package registry and build artifacts are not counted, and they are not source code history, so leave them out of your total.

Why the figure may look wrong at first

Usage updates every 90 minutes, so a push made recently may not appear yet. If a namespace shows Not applicable, pushing a commit to any project in that namespace makes GitLab recalculate it. Forks are counted at a reduced rate in namespace storage, so a fork does not add its full size.

What GitLab.com allows per project

Storage a single project can hold on GitLab.com
TierStorage limit for repository and LFS
Free10 GiB per project
Premium and Ultimate500 GiB per project

A project that goes over its limit is set to read-only until more storage is added. GitLab Self-Managed (the version a company runs on its own servers) has no such tier limit, but an administrator can set one.

03

What should you know about your GitLab data before you apply?

The short answer

Have three facts ready: the repository and LFS storage in GB, how many years your projects cover and how many members your top-level group has. They go into the data manifest, the written summary of which apps hold your records, how many years each covers and roughly how much. Applying shares no data, and you don't need to run an export first.

The size in GB

Report the repository plus LFS storage shown on the top-level group's Usage quotas page. Leave out the container registry, the package registry and build artifacts. If you plan to license issues and merge requests too, mention it, since they add volume beyond the code.

The years of history

The years of history come from the date of the oldest commit across your main projects. A project that was imported from another service keeps its commit dates, so an old date can predate the move to GitLab.

The number of members

Count the members of your top-level group. That is the number of people with access to the work, not the number of projects.

What you don't need to do first

You don't need to export anything to apply, and you don't need to clean or scrub a project. The data vendor anonymizes the records before anyone else sees them, and nothing moves until a lawyer-reviewed license is signed. The application, the intro call and each later step are laid out in how to sell your company's data.

04

How do you export your full GitLab history?

The short answer

Run git clone --mirror on each project for the code and its full commit history, then have a project Maintainer or Owner open Settings > General > Advanced and choose Export project to add issues and merge requests. GitLab deletes the export file after 24 hours, and there is no single file export for a whole group.

Step 1: copy the code and its history

A mirror clone is a complete copy of a repository's Git data, including every branch and tag. Run it once for each project.

git clone --mirror \
  https://gitlab.com/GROUP/PROJECT.git

Step 2: export a project with its issues and merge requests

  1. Open the project as a Maintainer or Owner.
  2. Go to Settings > General, expand Advanced and choose Export project.
  3. When GitLab finishes, it emails a download link. You can instead refresh the settings page and press Download export in the same section.
  4. Download the file the same day. A background job deletes export files every 24 hours.
  5. Repeat for every project in scope. GitLab limits a user to 6 project exports per minute and 1 download per project per minute.

The file is a compressed .tar.gz package of NDJSON records (one JSON record per line), as described in GitLab's file export guide. The user interface always exports everything the project holds, and the API can leave out chosen relations such as issues or uploads.

What a project export includes and leaves out

The export is meant for moving a project to another GitLab instance, so it keeps the working records of a project. The diagram compares it with a mirror clone for the same project.

MIRROR CLONE The same project, exported Code and commit historyIncluded Issues, merge requestsNot included CI/CD variables, artifactsNot included Registry imagesNot included No size limit, but code only. PROJECT EXPORT The same project, exported Code and commit historyIncluded Issues, merge requestsIncluded CI/CD variables, artifactsNot included Registry imagesNot included 5 GB file limit on GitLab.com.
The same four kinds of content, exported two ways. A mirror clone carries only code and history, and a project export adds issues and merge requests, while CI/CD variables, job artifacts and registry images stay out of both.

A project export contains the project and wiki repositories, issues with their comments, merge requests with their diffs and comments, labels, milestones, snippets, releases, Git LFS objects, archived CI/CD pipelines and design management files. It leaves out CI/CD variables, job traces and artifacts, package and container registry images, webhooks, pipeline triggers and secure files, among others. Merge requests keep only their latest diff version and latest pipeline.

Limits and a caution about size

On GitLab.com, 5 GB is the maximum size of an export file that can be imported, and on GitLab Self-Managed an administrator sets that maximum, which defaults to unlimited. A project whose export would pass the limit can still have its code history copied with git clone --mirror.

GitLab's own page also says project export files are not a reliable backup, because not every item is exported. For that reason, keep the mirror clone as your record of the code.

Why a whole group has no single file

Exporting a group to a file was deprecated in GitLab 14.6 and replaced by direct transfer, which copies groups and projects into another GitLab instance instead of into a file. Direct transfer needs the Owner role on the source group, a personal access token with the api scope and a destination GitLab instance, with both instances on GitLab 16.8 or later, as GitLab's direct transfer guide lists. To get files, export each project.

Sources: GitLab Docs, Storage, Migrate GitLab data by using file exports and Migrate groups and projects by using direct transfer. Steps checked against these pages in November 2026.

05

What stays private when GitLab data is licensed?

The short answer

The company chooses which groups and projects are in scope, GitLab leaves CI/CD variables and secure files out of a project export by design, and the data vendor replaces names and other personal details with consistent stand-ins before an AI lab sees anything. The company keeps ownership of its code history, and the license covers defined material for a defined use.

You choose what is in scope

A company picks the groups and projects it wants to license, so infrastructure, security or experimental work can stay out. A project export never includes CI/CD variables or secure files, which is where teams usually keep passwords and keys. The data vendor also deletes records too sensitive to clean safely instead of anonymizing them.

Names are replaced before a lab sees them

Anonymization means replacing every detail that identifies a person, such as a name or an email address, with a stand-in that is the same every time it appears. In GitLab, those details are mostly the author names and email addresses on commits and the names in merge request and issue comments. The sequence of the change, the review and the fix still reads in order. The method is in how company data is anonymized for AI training.

Ownership and payment

Licensing gives the buyer limited rights to a copy, while the company keeps ownership of the originals. The terms that matter, such as exclusivity, permitted use and deletion, are covered in data licensing. micro1 pays in full within 30 days of accepting the data, usually as a single payment.

Questions

Frequently asked questions

Does a GitLab project export contain issues and merge requests?

Yes. It carries issues with their comments and merge requests with their diffs and comments. CI/CD variables, job artifacts and registry images are not part of it.

Can we export a whole GitLab group to one file?

No. GitLab deprecated group file export in version 14.6 in favor of direct transfer, which copies groups into another GitLab instance. To end up with files, export each project in turn.

How fresh are the storage numbers on GitLab's Usage quotas page?

They refresh every 90 minutes, so a push from the last hour or so may not show yet. If the page reads Not applicable, push a commit to any project in the namespace and GitLab recalculates.

Is there a size limit on GitLab project exports?

On GitLab.com the maximum file size you can import is 5 GB, and Self-Managed administrators set their own maximum. A mirror clone still captures the code history of a project that is too big to export.

How long do we have to download a GitLab export?

GitLab deletes export files every 24 hours, so download the file on the day you create it. You can run the export again if the file has expired.

Do we need to export GitLab before we apply?

No. The application takes about two minutes and shares no data. You only need your storage in GB, your years of history and your member count for the intro call, and the export comes later, after you sign the license.

What is GitLab data worth to AI labs and data vendors?

GitLab history is priced as part of a whole dataset rather than on its own. Companies are paid $100K to $2M or more per dataset, according to micro1, and the price depends on the years of history and how completely the records show each job. What your data is worth explains the factors.

Bottom line

Know what is in GitLab, then see what it is worth

You don't need to export anything to apply. Apply in two minutes, describe your records on the intro call, and micro1, the data vendor we typically refer companies to, prices the whole dataset and sends an offer 1–2 days later.

Not legal, tax or financial advice. Figures come from micro1's published pages and public reporting as of November 2026.