Elmi to JSON - convert .elmi files to JSON. .elmi files capture the interface for every module including function names and type signatures, type aliases and unions.
elm-xref - Find unused function declarations. Looks to be a fairly simple implementation, which could be modified to extract other information.