diff --git a/crossbench/pinpoint/list_builds.py b/crossbench/pinpoint/list_builds.py
index 1c136b6..34cf2e5 100644
--- a/crossbench/pinpoint/list_builds.py
+++ b/crossbench/pinpoint/list_builds.py
@@ -27,6 +27,7 @@
       "%Y-%m-%d %H:%M:%S".
   """
   commit: str
+  number: int
   date: str
 
 
@@ -51,6 +52,7 @@
     if build.get("status") != "SUCCESS":
       continue
 
+    number = build.get("number", 0)
     commit = build.get("input", {}).get("gitilesCommit", {}).get("id")
     if not commit:
       continue
@@ -64,13 +66,14 @@
       logging.warning("Invalid date format: %s", end_time)
       continue
 
-    builds.append(Build(commit, date))
+    builds.append(Build(commit=commit, number=number, date=date))
 
-  builds.sort(key=lambda build: build.date, reverse=True)
+  builds.sort(key=lambda build: build.number, reverse=True)
   return builds
 
 
 def _display_builds(builds: list[Build]) -> None:
-  headers = ["Commit", "Date"]
-  table_data = [[build.commit, format_time(build.date)] for build in builds]
-  print(tabulate(table_data, headers=headers))
+  headers = ["Commit", "Number", "Date"]
+  table_data = [[build.commit, build.number,
+                 format_time(build.date)] for build in builds]
+  print(tabulate(table_data, headers=headers, numalign="left"))
diff --git a/tests/crossbench/pinpoint/test_config.py b/tests/crossbench/pinpoint/test_config.py
index e8d709b..efb5c20 100644
--- a/tests/crossbench/pinpoint/test_config.py
+++ b/tests/crossbench/pinpoint/test_config.py
@@ -29,7 +29,7 @@
     self.mock_fetch_builds = self.enterContext(
         mock.patch("crossbench.pinpoint.config.fetch_builds"))
     self.mock_fetch_builds.return_value = [
-        Build(commit=_TEST_RECENT_COMMIT, date="2025-11-01 00:00:00"),
+        Build(commit=_TEST_RECENT_COMMIT, number=1, date="2025-11-01 00:00:00"),
     ]
 
   def test_parse_variant(self):
@@ -153,7 +153,7 @@
     self.mock_fetch_builds = self.enterContext(
         mock.patch("crossbench.pinpoint.config.fetch_builds"))
     self.mock_fetch_builds.return_value = [
-        Build(commit=_TEST_RECENT_COMMIT, date="2025-11-02 00:00:00"),
+        Build(commit=_TEST_RECENT_COMMIT, number=1, date="2025-11-02 00:00:00"),
     ]
     self.mock_show_warnings = self.enterContext(
         mock.patch("crossbench.pinpoint.config.show_warnings"))
diff --git a/tests/crossbench/pinpoint/test_list_builds.py b/tests/crossbench/pinpoint/test_list_builds.py
index 362ccaa..f3319cb 100644
--- a/tests/crossbench/pinpoint/test_list_builds.py
+++ b/tests/crossbench/pinpoint/test_list_builds.py
@@ -35,6 +35,7 @@
                     }
                 },
                 "endTime": F"2025-11-1{i}T00:00:00Z",
+                "number": i,
                 "status": "SUCCESS"
             } for i in range(3)]
         }
@@ -49,9 +50,9 @@
   def test_fetch_builds_contain_correct_builds(self):
     builds = fetch_builds("test-bot")
     self.assertEqual(builds, [
-        Build(commit="commit2", date="2025-11-12 00:00:00"),
-        Build(commit="commit1", date="2025-11-11 00:00:00"),
-        Build(commit="commit0", date="2025-11-10 00:00:00"),
+        Build(commit="commit2", number=2, date="2025-11-12 00:00:00"),
+        Build(commit="commit1", number=1, date="2025-11-11 00:00:00"),
+        Build(commit="commit0", number=0, date="2025-11-10 00:00:00"),
     ])
 
   def test_list_builds_prints_correct_commit_hashes(self):
