StreetComplete Leaderboard

(This post is for fun, and serves somewhat as a follow up to this after 4 years.)

1. What

StreetComplete is an Android app that allows users contribute to OpenStreetMap (OSM) without needing any prior knowledge.

Instead of editing the raw data, users see simple questions called quests displayed on a map, such as “Is there a bin at this stop?”

Here’s how Bugis currently looks like on my phone, with each white dot representing a quest. (Of course in practice, you would zoom in a lot more to use it.)

Here’s how a single quest looks like:

When a user selects an answer, the response is almost instantly1 uploaded to the OSM database as an edit. Each answered quest counts as one “point”.

With the way it is designed, one would expect some kind of public leaderboard showing the users with the most solved quests. However, the developers intentionally don’t provide one. Each user can only see their own global (and country) rank.

So let’s build one.


2. Who

Given a username, it is not difficult to count their total number of StreetComplete edits using OSM’s APIs.

The harder part is to know which users have used StreetComplete to make their edits, as opposed to other OSM editors.

One way to do this is to use OSM’s changesets, which includes a special tag for StreetComplete edits. More details at the end.

Using this, I collected all users who have made at least one StreetComplete edit between mid-July 2025 and early-February 2026.

(This is the main limitation of this method – users who did not make any edits in this period will not be counted. However, the top users, who are likely highly active, would have almost certainly made one edit in 7 months. At least, we can hope.)

What are the results? During this window,

  • 25489 distinct users used StreetComplete.
  • Together, they account for 56.15 million quests.
  • That accounts for over 76.8% of all quests ever solved, 73.05 million. Not too bad.

Here are the results from the top 50 users:

Amazingly, the top user has over 3.5x more quests solved than the next closest user, accounting for 2.3% of all quests ever solved.


Looking at all 25489 users, here is a log-log graph of Quests vs Rank:

To try to compensate for the missing users, we can use a (linear) correction factor, defined as the ratio of my own actual global rank to my rank on the list. Using that, here is a more realistic (?) estimate of the top 1000 users:


3. Where

I was also curious about the geographical distribution of top users. Here is the country of the last changeset for the top 100 users, once again using everyone’s favourite data visualisation software Google Sheets.

This broadly matches the following distribution plot of StreetComplete quests solved, taken from here. Europe (in particular Germany) is a hotspot.

Just for fun, the top 5 Singaporean users (defined similarly as their last changeset being in Singapore) are ranked #20, #146, #708, #956 and #2079 in my list.


4. How

As mentioned, I largely followed this, and also used their script.

To recap, OSM stores edits in changesets, which is basically a small collection of edits by a single user over a small period of time. We can find all changesets sorted by date here.

The changesets we are interested in are those made using StreetComplete. We can see an example below:

<changeset id="123456789" created_at="2026-02-12T12:34:56Z" open="false" num_changes="3" user="example_user" uid="123456" min_lat="100.0123456" max_lat="100.0124567" min_lon="100.0123456" max_lon="100.0124567" comments_count="0">
    <tag k="comment" v="Survey whether benches have backrests"/>
    <tag k="created_by" v="StreetComplete 62.2"/>
    <tag k="locale" v="en-US"/>
    <tag k="source" v="survey"/>
    <tag k="StreetComplete:quest_type" v="AddBenchBackrest"/>
  </changeset>

By looking through directories 611 to 890 here, which roughly corresponds to 22 July 2025 to 10 February 2026, I looked through all changesets and identified those with the StreetComplete:quest_type tag.

By building a list of users with a changeset containing this tag, I found said 25489 users.

To find the country of each edit, we can use another OSM-based API, Nominatim to reverse geocode coordinates. Notice that the changeset id contains coordinates, so we are done.

And that’s all 🙂

Appendix

Finally, the morally correct thing to do with a large number of numbers is to test Benford’s law.

Nice.

  1. The app works slightly differently when you’re offline. ↩︎

Comments

Leave a comment