I'm looking for an equivalent to the SPSiteDataQuery functionality in the Client Object Model (COM).

The CamlQuery can be used with an instance of List to execute SPQuery level of aggregation, but is there an equivalent to site collection level queries for the COM?

Checked the Web object: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.web_members.aspx and also the Site object http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.site.aspx and don't see anything there. SubwebQuery http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.subwebquery.aspx had a promising name, but turns out that it's not what I'm looking for.

Perhaps there's no equivalent functionality in the COM?

Any pointers would be appreciated.

  • 1
    Those stumbling across this in the SP2013 generation - use Search to do this, plenty available with the REST API and Result Sources.
    – James Love
    Commented Jan 26, 2015 at 13:43

1 Answer 1


There is no equivalent.

Per MSDN (suggested alternative at the end):

The CSOM does not provide a mechanism for querying data across multiple lists that are not associated by a lookup field. In other words, there is no client-side functional equivalent of the SPSiteDataQuery class. If you need to perform a cross-list query from client-side code, consider creating a list view on the server that performs the list aggregation. You can then query the aggregated data from your client-side code.from your client-side code.


  • 1
    That's exactly what I was looking for; great information, thanks! Now here's another question, though: a list view by nature only aggregates items in that list. The beauty of SPSiteDataQuery is that I can query every list in every sub-web. So is there some new feature in 2010 lists that allows for deeper aggregation at the list level? Commented Nov 21, 2010 at 19:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.