Need to get the sites with information on the number of files and folders within it and also the size of the site.
Also is there any way /api to get the large 10 sites out of a repository.
Without using an analytics solution for Alfresco (either community-based or the Enterprise-only addon module) there is no means out-of-the-box to get the information you are looking for. You would first have to set up some housekeeping functionality (partially using custom Java code) that collects and aggregates the document sizes on a site level. Of course you would also have to define / implement how you'd want the size of versions to count against sites, and what to do with sizes of copied files that are effectively shared between the source and target locations.
The number of files / folders in a site you could easily extract using faceting on simple FTS queries. You could write a small web script for that, and use facets for EXACTTYPE and EXACTASPECT on an FTS query for SITE:yourSiteName
You can do this OOTB if you are on 5.2.1. See Basic Content Reporting using the 5.2.1 Search API. It is also in the latest community releases. Counting documents you can do from 5.2 via the public API or using faceting in other versions as Axel Faust describes. Support for statistics around file size are in 5.2.1.
Retrieving data ...