SurfShark has an api but it appears that most functions are restricted to authenticated users... you probably need a log in ("bearer" token) to access these endpoints (guessed from the surfshark chrome extension and linux binary app):
https://api.surfshark.com/v1/auth/login # for auth?
https://api.surfshark.com/v1/auth/activate # for auth?
https://api.surfshark.com/v1/auth/renew # for auth?
https://api.surfshark.com/v1/server/suggest # possibly recommended servers once authenticated?
https://api.surfshark.com/v1/server/suggest/unrestricted # possibly recommended servers once authenticated?
These ones are accessible without authentication (found from searching the web):
https://api.surfshark.com/v1/server/clusters # lists clusters
https://api.surfshark.com/v3/server/clusters # lists clusters - this one better matches the files downloaded in the below link but there is no v3 equivalent of the below.
(there is mention of "load" in the above outputs per cluster... this may be OK if you are able to pick a country and vpnmgr can choose the cluster with the least load?!)
https://api.surfshark.com/v1/server/configurations # download zip file of vpn config files
I think a configuration like PIA might be best where the zip is downloaded and locations offered (possibly based on locations in the cluster api endpoint) but there are no recommendations available based on load!