Track number of download of a release (binaries) on Github

github release notes
github release assets
github releases
github release download count
github api download release asset
github release sha
github search releases
github tags vs releases

So now you can manage and publish your binaries directly on Github, the feature is back from early this month (source).

I've been looking around Github interface and I haven't seen a download tracker. This is a feature Google Code offer and I was wondering if Github has the same.

Please note, I am not interested to know the number of download of a repo, this is a different topic.

You can use the GitHub API to get the download_count among other things for a single release asset:

http://developer.github.com/v3/repos/releases/#get-a-single-release-asset

This is how it looks currently, but please check the link above just in case anything changed since this answer was written.

GET /repos/:owner/:repo/releases/assets/:id

{ "url": "https://api.github.com/repos/octocat/Hello-World/releases/assets/1", "id": 1, "name": "example.zip", "label": "short description", "state": "uploaded", "content_type": "application/zip", "size": 1024, "download_count": 42, "created_at": "2013-02-27T19:35:32Z", "updated_at": "2013-02-27T19:35:32Z" }

Count of number of users who have downloaded/viewed a GitHub , a release to package software, along with release notes and links to binary files, information, such as the number of times people download a release asset. Stack Overflow Public questions and Track number of download of a release (binaries) on Github So now you can manage and publish your binaries directly on

Based on Petros answer, I used the two following curl command:

To get the list of all releases including their id and number of download:

 curl -i  https://api.github.com/repos/:owner/:repo/releases -H "Accept: application/vnd.github.manifold-preview+json"

For example to list all the release for the OpenRefine project:

 curl -i  https://api.github.com/repos/openrefine/openrefine/releases -H "Accept: application/vnd.github.manifold-preview+json"

Then to get details on each release (you will need to run the first query to get the release id)

curl -i  https://api.github.com/repos/:owner/:repo/releases/assets/:release_id -H "Accept: application/vnd.github.manifold-preview+json"

With the same example to list the details including download number for google-refine-2.5-r2407.zip

curl -i  https://api.github.com/repos/openrefine/openrefine/releases/assets/6513 -H "Accept: application/vnd.github.manifold-preview+json"

Is it possible to find out the users who have checked out my project , To address the original question, the shortcode [grd_count user="User" repo="MyRepo"] will return the number of downloads for a repository. This number corresponds to the sum of all download count values of all releases for one GitHub repository. About releases. Releases are deployable software iterations you can package and make available for a wider audience to download and use. Releases are based on Git tags, which mark a specific point in your repository's history. A tag date may be different than a release date since they can be created at different times.

You can add a badge to your github repo. See this answer for more details.

Also, there is a nifty project that shows all of this data in a nice website which is over here: https://www.somsubhra.com/github-release-stats/

What exactly is a Release in GitHub?, In order for GitHub to track downloads, you have to generate a release and upload an “asset” that is associated with that release. Then GitHub will track downloads of each artifact and you can query the GitHub API to get download counts for each asset for a given release. Get the latest release stats like download counts, release dates, author on any Github project

About releases, Older releases are available and the Git source repository is on GitHub. Latest source Release. 2.27.0 Release Notes (2020-06-01) Downloads for Linux  Track releases of repositories in GitHub. Contribute to Gerhut/releases-tracker development by creating an account on GitHub.

Counting number of downloads of a release, Command reference pages, Pro Git book content, videos and other material. Downloads. GUI clients and binary releases for all major platforms. Community. Get  Download binary release from Github. GitHub Gist: instantly share code, notes, and snippets.

Git - Downloads, Git LFS is a Git extension that improves handling of large files by lazily take a huge amount of time, as every version of every file has to be downloaded by the client. After running git lfs track , you'll notice a new file named .gitattributes in the by file name and prevent binary files from being overwritten during a merge​. One Liner to Download the Latest Release from Github Repo.md Use curl to get the JSON response for the latest release Use grep to find the line containing file URL

Comments
  • The first request is returning an empty json array, despite the fact that github shows that my repo has releases. Does this answer need updating?
  • The first command works, and I see an id: field but no download_count field. Attempting the 2nd method (but tacking on the id to eh URL) results in HTTP 404 Not Found
  • It looks like now the syntax is curl -i https://api.github.com/repos/:owner/:repo/releases/:releaseID -H "Accept: application/vnd.github.manifold-preview+json" - ie. remove the assets/ path. I still don't see a download_count field though, not sure why.
  • I just double check both queries and they work fine. I have them in a cron script that run daily. I will update the answer with concrete example