Если это стороннее API, с которого надо вытащить данные - сделать прослойку на бекэнде (на NodeJS или PHP), которая цепляет находясь на Вашем сервере и зная ключ, все что надо, а потом уже отдает клиенту.
Если это свое API, то ключ стоит воспринимать как логин-пароль этого конкретного пользователя, а потому скрывать его от него же смысла никакого нет.
PHP - простой вариант для прослойки.
Но у вопроса тег JS, на JS тоже можно, и если не хотите возиться с серверами для этого, можете попробовать now.sh, есть бесплатная версия
https://zeit.co/examples/nodejs/
1. Установите now
2. Создадите простой код вроде этого:
const {send} = require('micro')
const axios = require('axios')
module.exports = async (req, res) => {
var result = await axios.post(API_LINK,{token:SECRETTOKEN}).then(d=>d.data))
send(res,200,result);
};
Рядом файл now.json
{
"version": 2,
"name": "nodejs",
"builds": [
{ "src": "*.js", "use": "@now/node" }
]
}
А потом в консоли из той же папки:
npm init -y && npm install axios micro --save && now
Ссылка на скрипт появится в буфере обмена