diff --git a/howto/gitlab.md b/howto/gitlab.md
index 00fec49ed20772804e9b19cb729b101424b130f5..d39183c0cd717d596a7ac118f1f7af3627dc6fc9 100644
--- a/howto/gitlab.md
+++ b/howto/gitlab.md
@@ -502,6 +502,28 @@ If your repository relies on Transifex for translations, make sure to
 update the Transifex config to pull from the new branch. To do so,
 [open a l10n ticket](https://gitlab.torproject.org/tpo/community/l10n/-/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=) with the new branch name changes.
 
+## Find the project associated with a project ID
+
+Sometimes you'll find a numeric project ID instead of a human-readable
+one. For example, you can see on the [arti project](https://gitlab.torproject.org/tpo/core/arti) that it says:
+
+    Project ID: 647
+
+So you can easily find the project ID of a project right on the
+project's front page. But what if you only have the ID and need to
+find what project it represents? You can talk with the API, with a URL
+like:
+
+    https://gitlab.torproject.org/api/v4/projects/<PROJECT_ID>
+
+For example, this is how I found the above arti project from the
+`Project ID 647`:
+
+```
+$ curl -s 'https://gitlab.torproject.org/api/v4/projects/647' | jq .web_url
+"https://gitlab.torproject.org/tpo/core/arti"
+```
+
 ## Connect to the PostgreSQL server
 
 The GitLab Omnibus setup is special: it ships its own embedded