The timeout for the NSURLRequest is for the connection. If you get connected and it just takes a long time for the server to response, he timeout will do you no good. You will need to setup your own NSTimer for the timeout you want and cancel the request yourself.