Our team at Nafundi often gets asked about the best way to get data from ODK Aggregate. Is it exporting or publishing or APIs? Well, it's complicated.
Since ODK supports complex data structures such as groups, repeats, multimedia, and metadata, compromises have been made for each mechanism in regards to these data structures.
We've written up a document that explains each mechanism, what each supports, and what the tradeoffs are. You can find the document at http://opendatakit.org/use/aggregate/data-transfer.
Hope you find it useful!