I've created a web api project that sits between an Umbraco v4 website & other websites that want to be able to get information that is content managed in the original website. Add a /base class to the original website (http://our.umbraco.org/wiki/reference/umbraco-base) this will allow you to extract information from the umbraco nodes by calling the base methods from a web api project. One gotcha is that if you return a node through base any content or media pickers will be represented by the node number picked - so you will have to expand this into a URL (usually) before passing back to the web api.
In Umbraco v6 this functionality is much simpler as the is a built in contentservice api (http://umbraco.com/follow-us/blog-archive/2013/1/22/introducing-contentservice-aka-the-v6-api.aspx).