Your objective can be achieved by using "Meta- Data" API. Use the deploy() and retrieve() calls to move metadata (XML files) between a Salesforce.com organization and a local file system.
Once you retrieve your XML files into a file system, you can manage changes in a source-code control system, copy and paste code or setup configurations, diff changes to components, and perform many other file-based development operations. At any time you can deploy those changes to another Salesforce.com organization.
You can also read the reports xml file to get the information about report and even modify them.
Your objective can be achieved by using "Meta- Data" API. Use the deploy() and retrieve() calls to move metadata (XML files) between a Salesforce.com organization and a local file system.
Once you retrieve your XML files into a file system, you can manage changes in a source-code control system, copy and paste code or setup configurations, diff changes to components, and perform many other file-based development operations. At any time you can deploy those changes to another Salesforce.com organization.
You can also read the reports xml file to get the information about report and even modify them.
Please refer to the following link:-
http://www.salesforce.com/us/developer/docs/api_meta/index.htm