You can use the SiteData.asmxSiteData.asmx
service's function GetListCollectionGetListCollection
to give you all the lists in the site.
From there you can filter by BaseType == "Survey"BaseType == "Survey"
to get all the surveys.
For the next part you will need to use Lists.asmxLists.asmx
service's function GetListGetList
to give you an XML representation of the list.
It returns the schema.xmlschema.xml
of the list (CAML), so you'll need to parse that. This should be enough to get you started.