References: http://stackoverflow.com/questions/11659460/get-header-information-from-php-curl-post-request http://stackoverflow.com/questions/9183178/php-curl-retrieving-response-headers-and-body-in-a-single-request If you want to get the headers, set the option CURLOPT_HEADER to 1, and the HTTP response you get back from curl_exec() will contain the headers. You can them parse them for the location. $ch = curl_init ( $url ); curl_setopt ( $ch , CURLOPT_HEADER , 1 ); // return HTTP headers with response curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 ); // return the response rather than output it $resp = curl_exec ( $ch ); list ( $headers , $response ) = explode ( "\r\n\r\n" , $resp , 2 ); // $headers now has a string of the HTTP headers // $response is the body of the HTTP response $headers = explode ( "\n" , $headers ); foreach ( $headers as $header ) { if ( stripos ( $header , 'Location:' ) !== false )...