'Github API returns inconsistent results for top 3 starred repositories
I am trying to get the top 10 repositories based on their stars using this API query:
https://api.github.com/search/repositories?q=stars:>0&sort=stars&per_page=3
The result is not consistent.
The first time I call the top 3 repositories, I get:
- freeCodeCamp/freeCodeCamp 342K
- EbookFoundation/free-programming-books 225K
- vuejs/vue 194K
After 1 minute, I get totally different results:
- freeCodeCamp/freeCodeCamp 342K
- 996icu/996.ICU 261K
- jwasham/coding-interview-university 212K
Why does it differ? Is there anything wrong with my API endpoint?
Solution 1:[1]
First of all, you are using the right endpoint, see https://docs.github.com/en/rest/reference/search#search-repositories
The API docs page says:
The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results.
The GitHub website lists the top repositories under https://github.com/search?q=stars:%3E1&s=stars&type=Repositories as:
- freeCodeCamp/freeCodeCamp
- 996icu/996.ICU
- EbookFoundation/free-programming-books
I get the same result when I use the parameters and run the following query in the browser, using the same parameters as on the website above:
https://api.github.com/search/repositories?q=stars:%3E1&s=stars
Note: I am not sure about the s parameter. Either s is short for sort or it is not used at all, as the result may already be sorted.
I cannot answer why the API returns different results for you.
Solution 2:[2]
I modified the api little bit ,
https://api.github.com/search/repositories?q=stars:>=10000&sort=stars&order=desc
and I am getting consistent results like this;
1.freeCodeCamp/freeCodeCamp
2. 996icu/996.ICU
3. free-programming-books
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Manu Jo Varghese |
