Sean Liu
Sean Liu

Reputation: 1783

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:

  1. freeCodeCamp/freeCodeCamp 342K
  2. EbookFoundation/free-programming-books 225K
  3. vuejs/vue 194K

After 1 minute, I get totally different results:

  1. freeCodeCamp/freeCodeCamp 342K
  2. 996icu/996.ICU 261K
  3. jwasham/coding-interview-university 212K

Why does it differ? Is there anything wrong with my API endpoint?

Upvotes: 1

Views: 345

Answers (2)

Christian
Christian

Reputation: 5531

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:

  1. freeCodeCamp/freeCodeCamp
  2. 996icu/996.ICU
  3. 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.

Upvotes: 1

Manu Jo Varghese
Manu Jo Varghese

Reputation: 400

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

Upvotes: 0

Related Questions