Getting feeder ranking table/info programatically using curl

Hi,
We all know the leaderboards are acessible via the following URL:

And that it is possible to even filter by the feed name…:

However, the resulting html and json response (from inspection of the GETs generated - using FireFox webdeveloper tools), do not contain my feeding station data…:frowning:

Anyone has any tips on how to retrieve the feeders’ ranking programatically via bash script?

Thanky you in advance,
Gizmo

hello. I bounced this off of our developer, and even if we provided you with a way to get leaderboard ranks programmatically, your rank would not show up if it is not already showing up on the leaderboard. Might you share your Feed UID available from ADSBexchange Anywhere and when you joined the network to help us troubleshoot why you are not appearing? You can provide this to me via a direct message as well.

The dev says that knowing your IP address would also help.

thank you. Demetrio

Hi! thanks for the feedback! If I filter by my “Feeder Name” (“PT_Gizmo”), I can actually see my station…

using “ADS-B Exchange - Leaderboard”, I find it as well…

However programatically I cannot, get the ranking and station details…:frowning:

  • my feed UID: 2EFzKdJ7hMAD.

Ok…thank you for confirming you can access your feeder from the leaderboard. Here is what the developer has shared to pull this programmatically…

Request URL: https://adsbexchange.com/api/aircraft/v2/public/leaderboard

You will have to write custom parser to extract the data, as it’s packed.

For example, getting leaderboard for previous day:

https://adsbexchange.com/api/aircraft/v2/public/leaderboard/Tue%20Mar%2025%202025%2009:21:33%20GMT-0600%20(Mountain%20Daylight%20Time)

Basically URL-encoded time string as a parameter

You can go back up to 30 days (or more, depending on when S3 cleanup takes place, but last 30 is always available)

Hi Demetrio!
Indeed, it returns a json-encoded result. I’ll have a go to parse the content…
Keep you posted!
Giz

1 Like

Hum…I am getting “trapped” by cloudflare…so getting “Unable to fetch leaderboard file.”…

From a bit of experimentation, it appears that the referer header is required:

curl -s 'https://adsbexchange.com/api/aircraft/v2/public/leaderboard' -H 'referer: https://globe.adsbexchange.com/' | jq '.feeders[] | select(.[1] == "PT_Gizmo")'

The feeders entries aren’t particularly well structured - seemingly just a list of data items, so reference by number is apparently required.

I think the ranking is calculated on the client side (browser), after filtering.

Hi, thanks for the quick tip. Indeed, I had the same suspicion as well…the score is computed for each user and then the ranking probably comes for the sorting applied…I will check the javascript to understand what it does and see if I can replicate using python…should be straightforward…