Как быть с is_numeric() если она пропускает пробелы?
Если вы ожидаете только числа и при этом они не могут быть нулем, то можете привести параметры к integer.$key = isset($_GET['key']) ? (int)$_GET['key'] : null;
$iin = isset($_GET['iin']) ? (int)$_GET['iin'] : null;

if(!empty($key) && !empty($iin)) {
    TrekInfo($key, $iin); // Отправляем данные в API
} else {
    echo 'Упс! Что-то не так с параметрами запроса!';
}
Вот отсюда следует, чтоis_numeric - Проверяет, является ли переменная числом или строкой, содержащей число 
Я так понял, вы хотите детектить ситуации, когда в строке только числа. Все функции php, которые преобразовывают строку к числу, довольно лояльны к формату строки, и пробелы не влияют на результат. Вы можете либо обрезать строку явно при помощи trim(), либо использовать регулярные выражения.function is_only_digits_in_variable($variable) {
    return (bool)preg_match('/^[0-9]+$/', $variable);
}
var_dump(is_only_digits_in_variable('    73883   '));  // false
var_dump(is_only_digits_in_variable('73883'));  // true