How the rankings are made
Every table on this site comes from the same pipeline: a scheduled collector queries the official GitHub API for each country, ranks the results and writes a JSON snapshot that this site renders at build time. No numbers are estimated, interpolated or hand-edited.
The tracked set
Each country’s search query includes the country and its listed cities. The global total adds the saved country lists, not distinct GitHub accounts, so a profile can appear on more than one country page.
New collections request up to 500 users per country. Existing snapshots may contain more. The minimumFollowers field records the cutoff produced for that snapshot. The full set of country and city query entries comes from the repository’sconfig.json.
Metric definitions
Contribution data comes from the same contribution calendar; those two tabs reorder an identical set of users. Followers are read separately from each GitHub profile.
| Metric | Definition |
|---|---|
| Followers | The lifetime follower count shown on the GitHub profile. |
| Public contributions | The contribution calendar total minus restricted and private contributions. What other users can see on the profile. |
| Total contributions | The full contribution calendar total, including private contributions the profile owner can see. |
| Private contributions | Restricted contributions counted inside the total but outside the public count. Not a ranking metric on its own. |
Freshness
Each country’s snapshot carries its own collectedAt timestamp. The snapshots in this build cover 138 countries and 117,935 country-ranking entries; The newest available snapshot was taken on Oct 31, 2026. Each successful run refreshes timestamps for its country batch and updates the checkpoint, even when ranking values are unchanged. Unrelated country snapshots remain untouched.
Each UTC date stores one summary of the user count, follower cutoff and three metric leaders in that country’s history file. This data powers the trend view on every country page. If another run collects the same country that date, it replaces that date’s entry.
Accessing the data
Every snapshot is served as plain JSON from this site. One file per country, no key, no rate limit beyond normal page hosting. This build currently exposes 138 files.
country key from config.json, lowercased, trimmed, and with whitespace runs replaced by underscoresOfficial documentation
The collector uses only documented GitHub API surfaces. Read the primary references here.
- Search API, including the 1,000 result cap and rate limits for search endpoints.
- GraphQL API, used for the per-user queries behind each snapshot.
- ContributionsCollection, the object behind the contribution totals, and thecontribution calendar.
Counts show the profiles saved in each country snapshot. New collections request up to 500 profiles, so a snapshot may contain only part of the users matching GitHub’s search. Existing snapshots may contain more than 500.