ParseForge Scrapers

GitLab Public Projects Scraper

parseforge/gitlab-public-projects-scraper

Developer toolsAutomation

Scrapes public GitLab projects by search term, topic, or newest. Returns each project as a flat row with name, description, star count, and activity timestamps.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
95
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

GitLab Public Projects Scraper

Scrape public GitLab projects by search term, topic, or newest, up to a million per run. Each project comes with its name, path, description, star count, and activity timestamps. No API token needed. Export to CSV, JSON, Excel, or XML.

GitLab's official API needs a personal access token and rate-limits you. This reads the public project directory directly, filtered by search term, topic, and sort order, and returns each match in one fixed schema.

Who uses it What they scrape GitLab for
Market researchers Which open-source projects a niche is building this quarter
DevRel teams Which companies are active on GitLab and what they publish
Recruiters Which developers maintain popular projects in a technology stack
Security analysts Which public repositories match a CVE or vulnerable dependency

What it does

This Actor collects public GitLab projects by search term, topic, or newest, and returns each one as a flat row.

  • ๐Ÿ”Ž Search term: find projects by name or description, e.g. 'react' or 'kubernetes'.
  • ๐Ÿท๏ธ Topic filter: narrow results to a GitLab topic, e.g. 'machine-learning'.
  • ๐Ÿ“Š Sort & order: sort by star count, last activity, created date, and more, ascending or descending.
  • ๐Ÿ“ฆ Bulk export: collect up to 1,000,000 projects per run, then export to CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with GitLab data

๐Ÿ“ˆ Track open-source trends.

A market researcher runs the Actor weekly with a topic like 'llm' and sorts by star count to see which projects are gaining traction.

๐Ÿงฒ Build a lead list.

A DevRel team searches for 'kubernetes' and filters by last activity to find companies actively publishing infrastructure code.

๐Ÿ›ก๏ธ Audit public exposure.

A security analyst searches for a vulnerable dependency name and collects every public project that mentions it.

๐Ÿ‘ฅ Find maintainers.

A recruiter searches for 'golang' and sorts by star count to identify developers behind popular projects.

Why choose this scraper

What you get
No API token Reads the public project directory directly, no registration or rate limits
One fixed schema Every project returns the same flat fields, ready for analysis
Sort by what matters Star count, last activity, created date, and more
Scale to a million Collect up to 1,000,000 projects per run

How it compares

This Actor focuses on public project search and filtering, while the competitor also scrapes user profiles.

Feature ParseForge Gitlab Scraper | Fast & Reliable | $2 / 1k
Search by project name or description Yes Not listed
Filter by topic Yes Not listed
Sort by star count or activity Yes Not listed
Scrape user profiles No Yes
Collect up to 1,000,000 projects per run Yes Not listed

Configure the run

Drive the Actor from a search term, a topic filter, and a sort order, alone or together, and filters run as each project is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.10
1,000 results $21.00
10,000 results $210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the GitLab Public Projects Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to GitLab through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/gitlab-public-projects-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your search term and topic filter. If both are set, they are combined with AND, which may be too restrictive. Try clearing one.

Why are results different from the GitLab website?

The Actor uses the public API, which may have slightly different ranking or freshness than the website. Try adjusting the sort order.

Why did the run stop before reaching maxItems?

GitLab may rate-limit requests. The Actor retries automatically, but if the limit is reached, try reducing maxItems or running later.

Can I get more fields than shown?

The Actor returns a fixed set of fields. If you need additional data, consider using the GitLab API directly or a custom scraper.

FAQ

Question Answer
Do I need a GitLab account or API token? No. The Actor reads the public project directory, so no authentication is required.
Can I scrape private projects? No, only public projects are available. Private projects require authentication and are not supported.
What is the maximum number of projects I can collect? You can set maxItems up to 1,000,000 projects per run.
Can I filter by programming language? The Actor supports filtering by topic, not language. Use a topic like 'python' or 'golang' to approximate language filtering.
How do I sort results? Use the orderBy and sort inputs. You can sort by star count, last activity, created date, name, and more, in ascending or descending order.
What does the output look like? Each project is returned as a flat row with fields like name, path, description, star count, and activity timestamps.
Can I export the data? Yes, you can export to CSV, JSON, Excel, or XML directly from the Apify platform.
Is this legal? Scraping public data is generally allowed, but you should review GitLab's terms of service and respect robots.txt.
How often can I run this Actor? You can schedule runs as often as you like, subject to Apify platform limits.
Can I search for a specific project name? Yes, use the search input to find projects by name or description.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by GitLab Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
search string Search term (project name / description). Leave blank to list newest public projects. react
maxItems integer Maximum number of projects to collect per run. 10
orderBy string (7 options) Field to sort results by. star_count
sort string (2 options) Sort direction (asc / desc). desc
topic string Filter projects by topic (e.g. 'kubernetes'). Optional. not set

Pricing

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~gitlab-public-projects-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run GitLab Public Projects Scraper on Apify All scrapers