I would love some insight on how you found that out. I searched but was unable to find anything related to an API. And it is way better than what I achieved, since for some places (Yosemite Valley for example) the coordinates obtained from Open Cage's API differ to much from the ones expected by WeatherWidget.io to be corrected via trial and error.