Tutoriales
TikTok profile en JavaScript
Una llamada autenticada a /api/v1/tiktok/profile?handle=nasa, la respuesta que devolvió, y la línea que saca un campo de ella.
Lo que necesitas
Node 18 o posterior, donde fetch es global. Ningún paquete que instalar. El mismo código corre en un navegador, salvo que un navegador dejaría tu clave a la vista — llama a esto desde tu servidor.
La llamada
const url = "https://honesthook.com/api/v1/tiktok/profile?handle=nasa";
const response = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.HH_KEY}` },
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const envelope = await response.json();
console.log(envelope.success, envelope.platform, envelope.endpoint);
Lo que volvió
{
"success": true,
"platform": "tiktok",
"endpoint": "tiktok/profile",
"data": {
"author": {
"id": "7664638705177150477",
"handle": "nasa",
"name": "NASA",
"followers": 1711912,
"following": 23,
"posts_count": 44,
"verified": true,
"is_private": false
}
},
"error": null,
"cached": true
}
Respuesta registrada, capturada el 15 Sep 2026. Una llamada en vivo devuelve el valor del momento en que preguntas, no este.
Todos los campos de esa captura
| En JavaScript | Tipo en esta captura |
|---|
envelope.success | boolean |
envelope.platform | string |
envelope.endpoint | string |
envelope.data.author.id | string |
envelope.data.author.handle | string |
envelope.data.author.name | string |
envelope.data.author.followers | number |
envelope.data.author.following | number |
envelope.data.author.posts_count | number |
envelope.data.author.verified | boolean |
envelope.data.author.is_private | boolean |
envelope.error | null |
envelope.cached | boolean |
Un campo que no podemos leer vuelve null, nunca 0. Un cero sería una afirmación sobre la cuenta; null es un hecho sobre nuestra recolección.
Leer un campo
console.log(envelope.data.author.followers);
envelope es el objeto del bloque de arriba. Deja la clave en el servidor: una clave enviada a un navegador es una clave que cualquiera puede leer.
La parte difícil de leer un perfil de TikTok no es parsearlo. Es conseguir la página real: a una petición desde una dirección de centro de datos se le sirve una página de desafío que responde 200 OK y no contiene ningún dato. Nada da error. Recibes una página y ningún número.
Ese es el fallo que este endpoint existe para absorber.
Qué estás llamando
Estás llamando a nuestro endpoint, no al de TikTok. La petición va a honesthook.com con tu clave en una cabecera Authorization. La salida residencial y el handshake parecido al de un navegador que convierten esa página de desafío en la real están de nuestro lado de la llamada.
El handle del ejemplo es el que produjo la respuesta de abajo. Cámbialo y obtienes otra cuenta; la forma de la respuesta no cambia.
Antes de copiar el bloque
Guarda la clave en una variable de entorno — los tres ejemplos leen HH_KEY.
Luego lee la respuesta. El endpoint de perfil responde sobre la cuenta, no sobre sus vídeos, y un contador que no podemos leer viene null y no 0: un cero sería una afirmación sobre la cuenta, y un null es un hecho sobre nuestra recolección.
← Tutoriales · tiktok-api · Precios