Obtain a list of all the packages in hex.pm

Is there a way to get a complete machine-generated list of all the 13,600 + packages that are in Packages | Hex ?

I want to try and experiment with building them, but can’t seem to find a straight forward way to just get the list of them. Thanks!

You can get the top 100 with an api call like

$ curl -u "username" https://hex.pm/api/packages | jq '. | length'
Enter host password for user 'username':
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  163k  100  163k    0     0   286k      0 --:--:-- --:--:-- --:--:--  286k
100

and there is a limit in the API of hexpm/package_controller.ex at main · hexpm/hexpm · GitHub

…but I’d like to find some machine generated way of getting a list of all (even if it is just the machine name of the package)

:hex_repo.get_names/1 hex_core/hex_repo.erl at main · hexpm/hex_core · GitHub

3 Likes