Get node names used in unopened grasshopper

is there a way to read grasshopper files and know what nodes are used?
via api or other methods?

You can use GH_IO.dll to read files into runtime data structure, then navigate to the portion which contains the document objects and at least get the GUIDs of each object. You can explore the structure of gh/ghx file using the FileViewer.exe application which ships with grasshopper. Either start it manually or drag a file over the page curl on the grasshopper canvas, select the examine mode and let go.