Take a look at RestKit: http://restkit.org/ It provides an excellent API for accessing RESTful web services and representing the remote resources as local objects, including persisting them to Core Data. It's fully asynchronous and sports a lot of other slick features