Withings has a full available API, I wrote a tool to just scrape what I need from the app at https://developer.withings.com/
The experience integrating with Withings was really good. Garmin on the other hand seems to be actively hostile if you (as an end user) want to programmatically interact with their ecosystem.