GitLab Projects - Repositories by Stars and Activity avatar

GitLab Projects - Repositories by Stars and Activity

Pricing

from $1.00 / 1,000 results

Go to Apify Store
GitLab Projects - Repositories by Stars and Activity

GitLab Projects - Repositories by Stars and Activity

Browse public GitLab repositories as flat rows - name, namespace, description, stars, forks and last activity. Free public API, no key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

alaudin burki

alaudin burki

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

GitLab Projects — Repositories by Stars and Activity

Browse public GitLab projects and get one flat row per repository: name, namespace path, description, stars, forks, topics, default branch and activity dates. The GitLab API is public for public projects, so no token is needed.

How to use

  1. Enter words to match in Search text, or a Topic tag such as devops or kubernetes, or leave both empty to browse the most-starred public projects.
  2. Optionally set Order by to one of id, name, path, created_at, updated_at, last_activity_at or star_count. The sort direction is always descending, so created_at gives the newest projects first.
  3. Run the Actor. The dataset holds one row per project; the SUMMARY key-value record shows how many rows came back and why the run stopped.

Inputs

InputWhat it doesDefault
queryWords matched by GitLab against project names and descriptions.none — no search term
topicGitLab topic tag to filter on, e.g. devops or kubernetes.none — no topic filter
orderByField to order by: id, name, path, created_at, updated_at, last_activity_at or star_count.star_count
maxItemsStop after this many rows. Capped at 20,000.500
maxPagesStop after this many requests. Each request returns up to 100 projects. Capped at 200.5

Example input:

{ "query": "kubernetes", "topic": "devops", "orderBy": "star_count", "maxItems": 100, "maxPages": 1 }

Output dataset

FieldMeaning
nameProject display name, as GitLab stores it. Not unique on its own.
pathWithNamespaceFull path including group or user, e.g. gitlab-org/gitlab-foss. This is the unique one.
descriptionProject description. Null for projects that have none.
starsStar count recorded by GitLab at the time of the run.
forksFork count recorded by GitLab at the time of the run.
topicsTopic tags, joined into one comma-separated string because a dataset row is flat.
defaultBranchName of the default branch, e.g. main. It is a project setting and can be anything.
createdAtISO 8601 timestamp of when the project was created.
lastActivityISO 8601 timestamp of the last recorded activity on the project.
urlWeb URL of the project, e.g. https://gitlab.com/group/project.

Each row also carries id (gitlab: followed by the numeric project id), source, firstSeenAt and scrapedAt. Rows are de-duplicated by project id, so a project that appears on two pages is stored once.

Why this is different

  • It reads GitLab directly, at gitlab.com, without a token — the usual reason a GitLab export stalls is authentication, and public project listing does not need it.
  • Every row carries both pathWithNamespace and the numeric project id, so results can be joined or revisited after a project is renamed.
  • The topic, search, ordering and paging parameters are separate inputs rather than one query string, so the request is readable and repeatable.
  • Array-valued topics are flattened to a string, which keeps the dataset sortable and exportable as CSV without a second step.
  • SUMMARY records truncated and stopReason, so a capped run is visible instead of looking like a complete list.

Limitations

  • Public projects only. Private and internal repositories require an authenticated token, which this Actor does not ask for.
  • Only gitlab.com is queried. Self-hosted GitLab instances are not covered.
  • Star and fork counts are snapshots from the moment of the run, not historical series.
  • The search is GitLab's own matching on names and descriptions; it is not a code search and does not look inside repositories.
  • The topic filter matches the tag exactly, so a project tagged dev-ops will not match devops.
  • The sort direction cannot be changed — results are always descending, so orderBy: "name" gives Z-to-A.
  • A run stops at maxItems or maxPages; the 500-row, 5-request default truncates a broad query.

FAQ

Do I need a GitLab account or token? No. Public project listing is read without credentials, and the Actor sends none.

Why does the same project name appear for different groups? name is not unique. Use pathWithNamespace or id; both are unique per project.

Why are topics a string rather than a list? The dataset row must be flat, so the array is joined with commas. Split on , if you need a list back.

Can I search inside repository code? No. This Actor lists projects and their metadata, not their files.

What happens if GitLab rate-limits the run? Requests are spaced 200 ms apart and retried up to three times on rate-limit and server errors. If the first request still fails, the run stops with an error rather than returning an empty dataset.

Pricing and limits

Pricing is per event: one charge per run, with the current price shown on this Actor's Apify pricing panel. Requests return up to 100 projects each; a run defaults to 500 rows over 5 requests and can be raised to 20,000 rows and 200 requests. Requests are paced 200 ms apart and time out after 30 seconds. The source is free to query.