Gerrit Code Review Extractor
Pricing
from $0.35 / 1,000 records
Gerrit Code Review Extractor
Point at any Gerrit code-review server (Android, Chromium, OpenStack, Wikimedia, GerritHub, self-hosted) and get one structured row per change: subject, status, owner, review labels, insertions/deletions, comments and merge history. Also lists projects and server info.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 hours ago
Last modified
Categories
Share
Point at any Gerrit code-review server and get clean, structured rows — one per change (code review), project, or server. Gerrit is the self-hosted code-review server behind Android, Chromium, and Go, and adopted by OpenStack, Wikimedia, ONAP, LineageOS, Eclipse, GerritHub and countless corporate and university deployments. Every Gerrit speaks the identical REST API and leaves anonymous read on for public projects, so this one actor works against all of them — no per-server scraper, no login.
What it does
Three modes, chosen by the Run mode field:
- changes (default) — one row per code-review change matching your query
(
status:openby default). Columns: project, change number, subject, status, owner, branch, insertions/deletions, comment counts, work-in-progress flag, and (with options) review labels, a submit-label summary, and message counts. - projects — the server's project/repository inventory, one row per project (name, state, parent, description).
- server — one row per server describing its version and authentication model.
Point it at several servers at once and it runs each in turn; a URL that isn't a Gerrit (a login page, or a host that migrated to GitLab/Gitea) is skipped with a warning instead of failing the whole run.
Quick start (3 rows, about $0.0015)
The Input form opens pre-filled with exactly this job, so you can click Start directly (or paste it into the JSON view):
{"sources": ["https://review.opendev.org"],"mode": "changes","query": "project:openstack/nova status:open","maxRecords": 3}
To change it: swap openstack/nova for any project on that server, or
replace the query entirely (see the query examples below). Keep maxRecords
until the rows look right, then raise it.
Real output preview
Three rows from a local run of the input above on 2026-09-25 (selected fields;
_raw and null columns omitted). Values change as reviews move.
| changeNumber | project | subject | status | insertions | deletions | totalComments | updated |
|---|---|---|---|---|---|---|---|
| 973750 | openstack/nova | Check volume status before live migration | NEW | 77 | 3 | 11 | 2026-09-24 23:45:35 |
| 1004160 | openstack/nova | Reduce the unnecessary executors shutdown logs in test jobs | NEW | 7 | 2 | 11 | 2026-09-24 23:35:11 |
| 1007318 | openstack/nova | libvirt: call recover method from live_migration | NEW | 135 | 54 | 0 | 2026-09-24 23:08:57 |
Example input with review labels
{"sources": ["https://review.opendev.org"],"mode": "changes","query": "status:open","options": ["LABELS", "DETAILED_ACCOUNTS"],"maxRecords": 20}
Other ready-to-run servers: https://review.gerrithub.io (GerritHub),
https://gerrit.onap.org, https://gerrit.osmocom.org, and any self-hosted
instance. Some servers sit at a /r mount (https://gerrit.wikimedia.org) —
paste either form, the /r path is auto-detected.
Note on datacenter IPs. A few very large Google-hosted servers (
android-review,chromium-review,go-reviewongooglesource.com) and some others block datacenter IP ranges, so they respond from a laptop but not from a cloud datacenter. When running on the platform, prefer an independent server such asreview.opendev.org, or supply auth for a gated one.
Query examples (changes mode)
status:open— all open changesstatus:merged— recently merged changesproject:openstack/nova status:open— one project's open changes (project names are per server:platform/frameworks/baseexists on Android's server, not on OpenDev, and a query that matches nothing returns 0 rows and costs nothing)owner:self status:open— (with auth) your own open changesafter:2026-01-01 status:merged— merged since a dateis:wip— work-in-progress changes
Output
One flat row per record. Change rows carry
_type/_source/_mode/_software/ _serverVersion_raw
copy of the original API entry (capped for size). Reviewer/owner emails and
the full attention-set live only inside _raw, never as top-level columns.
Pricing
Pay-per-event: one record charge per emitted row, $0.0005 per row on the FREE tier (lower on paid plans). Zero rows means zero record charges. Apify platform usage is billed separately.
| Run | Rows | Record charges (FREE tier) |
|---|---|---|
| Quick start above | 3 | $0.0015 |
Default input (status:open, cap 20) | 20 | $0.01 |
maxRecords: 1000 | up to 1,000 | up to $0.50 |
maxRecords is a global cap across all sources; left empty it falls back to
20. Large servers hold far more matching changes than that, so raise it
deliberately.
Your run's maximum charge is respected too: each row is charged as it is saved. The Actor stops before it requests a page or a server your budget cannot pay for, so you never receive rows you did not pay for. If a server fails after some rows were delivered, those rows stay in your dataset and the run is marked failed, so a partial export never looks complete.
Notes
- Anonymous read is used by default. For a private or rate-limited server you
may supply a
bearertoken, acookie, orextraHeaders— these are never logged and are never required for public data. - The actor reads every field by key presence, so servers on different Gerrit versions (which populate different optional fields) all work without error.