I am a newbie to Sitecore and I want to ask if it possible to get data from sitecore via. some REST API or if I can intercept when form data changes and save it to a json file.
There are a few ways to do this depending on what version of Sitecore you are using, but the most robust at the moment is to use the Sitecore Services Client Framework:
You can use the ItemService REST api to get data out of Sitecore in json format of if you need more control over the data you can use the EntityService. This is specific to Sitecore 7.5 and above.
If you're in an earlier version then you have the Item Web api:
If you planning on intercepting data on Web Forms for Marketers forms then you're best off using a Custom Save Action to save form data to a json file: