List
Read live records straight from the Gitlab API.
Stream Gitlab branches, commits and deployments to any warehouse or AI app.
Source
Gitlab

Overview
The Airbyte Gitlab connector extracts data from Gitlab and loads it into 50+ destinations such as Snowflake, BigQuery, Databricks or Postgres, with full refresh and incremental sync. It publishes 20 streams you can select per connection.
Land 20 Gitlab tables in 50+ destinations on a schedule you control.
Query synced Gitlab data with filters, sorting and semantic search, without spending Gitlab API rate limits.
Pull only the records that changed since the last run instead of reloading everything.
Authenticate Gitlab once. The same connection powers scheduled syncs and runtime actions.
20 streams
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
| Sync modes | FullIncr. |
|---|
Setup
First, navigate to the GitLab source connector page on Airbyte.com.
Click on the "Add Source" button to begin the process of adding your GitLab credentials.
In the "Connection Configuration" section, enter a name for your GitLab connection.
Next, enter your GitLab API token in the "Personal Access Token" field. You can generate a new token in your GitLab account settings.
In the "GitLab URL" field, enter the URL for your GitLab instance.
In the "Project ID" field, enter the ID of the project you want to connect to. You can find this ID in the URL of the project page on GitLab.
If you want to include only certain branches or tags in your data sync, you can specify them in the "Branches" and "Tags" fields.
Finally, click on the "Test" button to ensure that your credentials are correct and that Airbyte can connect to your GitLab instance.
If the test is successful, click on the "Save" button to save your GitLab connection.
You can now use this connection to create a new GitLab source in Airbyte and begin syncing your data.
| Field | Type | Description |
|---|---|---|
| credentials* | object | Not documented. |
| api_url | string | Please enter your basic URL from GitLab instance. |
| groups | string | [DEPRECATED] Space-delimited list of groups. e.g. airbyte.io. |
| groups_list | array | List of groups. e.g. airbyte.io. |
| num_workers | integer | Number of concurrent threads for syncing. Higher values can speed up syncs but may hit rate limits. Adjust based on your GitLab instance rate limits. |
| projects | string | [DEPRECATED] Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. |
| projects_list | array | Space-delimited list of projects. e.g. airbyte.io/documentation meltano/tap-gitlab. |
| start_date | string | The date from which you'd like to replicate data for GitLab API, in the format YYYY-MM-DDT00:00:00Z. Optional. If not set, all data will be replicated. All data generated after this date will be replicated. |
4 actions
Read live records straight from the Gitlab API.
Fetch a single record by ID.
Query synced data with filters and sorting, with no API rate limits.
Natural-language search across synced Gitlab records.
Full parameter-level details live in the Gitlab entity reference.
Hybrid deployment
The data plane runs in your environment. Records, credentials and keys stay with you; the control plane only receives configuration and job metadata.
Your environment
Airbyte control plane
Use cases
List all projects I have access to
Get the details of a specific project
List all open issues in a project
Show merge requests for a project
List all groups I belong to
Show recent commits in a project
List pipelines for a project
Show all branches in a project
Find issues updated in the last week
What are the most active projects?
Show merge requests that are still open
List projects with the most commits
FAQ
No. One Gitlab authorization powers both the scheduled syncs that land data in your destination and the entity actions your agents call at runtime.
No. Entity actions read and write through the Gitlab API as they are called, so they work immediately. Context store search is the exception: it queries data Airbyte has already synced, which is what lets it filter and sort without spending API rate limits.
20 streams, including Branches, Commits, Deployments, Group Issue Boards, Group Labels, Group Members, Group Milestones, Groups and more.
Yes. The Gitlab connector supports incremental sync on selected streams, and full refresh on every stream.
Run the Gitlab connector on Cloud, OSS, Hybrid. Hybrid deployments keep the data plane in your environment while the control plane orchestrates syncs.
Didn't find your answer? Talk to sales
Free 14-day trial. One connection powers your scheduled syncs and your live Gitlab actions.