How to render data from external API
If you don't need to save the data returned by the external source in your drupal database, then you can go through below mentioned points,


In hook_form_form_id_alter declare a custom submit function

$form['#submit'][] = "my_module_form_submit_handler";
in the custom submit function redirect after submission.(are you using cURL to send and receive data to and from external api.)


$value1 = 'value returned from external api';
$value2 = 'value returned from external api';
$form_state['redirect'] = 'myurl/' . $value1.'/'.$value2 ;


Create a menu item with hook_menu and pass the values as argument

$menu['myurl/%/%'] = array
(
  'title' => 'some title',
  'page callback' => 'my_page_callback',
  'page arguments' => array(1, 2), // 1 and 2 are the first and second indexes of the URL - the location of the wildcards
  'access callback' => TRUE,
);
in page callback function pass the variables

function my_page_callback($val1,$val2)
{
return theme('custom_data_page', array('val1' => $val1,'val2' => $val2));

}
implement hook_theme 


function mymodule_theme($existing, $type, $theme, $path) {
    return array(
        'custom_data_page' => array(
            'variables' => array(
                'val1' => val1,
                'val2' => val2
            ),
            'template' => 'your_template_filename', // do not include .tpl.php
            'path' => 'path-to-your-template-file'
        )
    );
}


Create the template file in templates folder
Clear cache.
Let me know if you face any issues