TikHub API key, documentación y GitHub: de la clave a la primera llamada
Cómo obtener la API key de TikHub, dónde está su documentación y qué SDK de GitHub siguen vigentes; revisado el 3 de noviembre con tres llamadas reales.

El 3 de noviembre de 2026 descargamos todo el material público para desarrolladores de TikHub y lo medimos con scripts. Su openapi.json describe 1058 rutas en 3,1 MB, unos 840 000 tokens si se le da a un modelo de lenguaje. En 1052 de esas rutas, la respuesta de éxito documentada es un envoltorio genérico sin campos de datos. En GitHub, los SDK de TypeScript, Go, Java y C++ recibieron su último commit en marzo de 2025 y cubren solo el 32,3 % de los 1055 endpoints activos de hoy. El SDK de Python es la excepción: su versión 2.2.0 cubre el 99,2 %.
Esa misma noche hicimos tres llamadas reales con EveryInfra. Usamos curl, nuestro SDK de Python y nuestro servidor MCP remoto para leer un perfil de TikTok, un vídeo de Douyin y una nota de Xiaohongshu. Las tres costaron 0,006668 USD en total. Con los precios de lista de TikHub, las mismas tres lecturas cuestan 1,8 veces lo que cuestan con nosotros; es decir, nuestro precio es un 44 % más bajo. Hay dos casos en los que TikHub sale más barato, el volumen diario alto y un endpoint de Xiaohongshu sin documentar, y los explicamos más abajo.
| Resumen en números (2026-11-03) | TikHub | EveryInfra |
|---|---|---|
| Endpoints o capacidades | 1055 endpoints activos | 573 capacidades en 106 plataformas |
| Leer para un endpoint de TikTok | Unos 49 899 tokens | Unos 1870 tokens |
| SDK al día | Python, 99,2 % | Python y npm, 573 de 573 |
| Crédito de prueba | 0,05 USD, sin caducidad indicada | 1 USD, 24 horas |
| Recarga mínima | 5 USD | 10 USD |
| Servidores MCP | Uno por plataforma | Uno, con 12 herramientas |
Qué cubre este artículo y de dónde salen los datos
Ya tenemos tres artículos sobre TikHub. La alternativa a TikHub compara cobertura y precio en general. TikHub pricing explicado desmonta su lista de 1470 precios y su crédito gratuito. La alternativa a la API de Douyin de TikHub compara 37 capacidades de Douyin una por una, y la página de alternativas a TikHub resume todo. Este artículo responde a otra pregunta. ¿Qué necesita saber quien busca «tikhub api key», «tikhub api doc» o «tikhub github» antes de escribir código? Dónde está la clave, cómo se autentica, qué documentación conviene leer, qué SDK sigue funcionando y cuántos pasos hay hasta la primera respuesta correcta. El precio aparece solo al final, como una comprobación rápida.
Del lado de TikHub usamos solo material público. Leímos sus páginas de precios y de primeros pasos en inglés y en español, su sitio de documentación y su openapi.json. También leímos la lista de precios y los endpoints de demostración que funcionan sin clave, su organización pública de GitHub y sus páginas en PyPI y npm. Todo se leyó el 3 de noviembre de 2026, entre las 00:15 y las 00:37 (hora de Singapur). No creamos una cuenta de TikHub ni llamamos a ningún endpoint de pago suyo, así que todo lo que decimos sobre su comportamiento de pago sale de su propia documentación. Del lado de EveryInfra, todos los números salen de llamadas reales hechas en esa misma media hora. Los recuentos de tokens salen de un script que aplica el tokenizador o200k_base a cada archivo descargado.

Cómo obtener la tikhub api key: cuatro acciones en cada lado
Lo primero que quiere alguien que empieza es la clave. TikHub tiene una página de primeros pasos en español con el título «tu primera llamada a la API en 4 pasos». El paso 1 es crear y verificar la cuenta. El paso 2 es recorrer el API Marketplace para ver el precio de cada endpoint y si acepta el crédito gratuito. El paso 3 es recargar saldo para los endpoints de pago, y el paso 4 es empezar a construir. Leímos la página entera, y ninguno de los cuatro pasos menciona crear una API key. La versión en inglés tiene el mismo hueco. Las instrucciones para crear la clave están al final del README en inglés del sitio de documentación, en la sección «Get API Token». Allí se indica entrar en el centro de usuario, abrir el menú API token, crear un token y copiarlo en la cabecera de la petición.
La verificación del correo es obligatoria. La página de tutoriales y preguntas frecuentes cita «email is not verified» como una de las causas de un error 403. La misma página dice que cada usuario puede crear hasta 100 API keys, lo que permite dar una clave distinta a cada proyecto. Según la guía en español, cada cuenta nueva recibe 0,05 USD de crédito gratuito, unas 50 peticiones, una sola vez por usuario. Las cuentas eliminadas antes no pueden recibirlo de nuevo. La guía también avisa de que algunos endpoints son solo de pago y necesitan saldo positivo desde la primera llamada.
Los métodos de recarga merecen atención si usted paga desde España o América Latina. La guía en español dice que PayPal funciona como invitado, sin cuenta de PayPal. Alipay tiene un límite diario de 250 USD. Con USDT hay que enviar el importe de la página de pago más la comisión de gas de la red; si se envía solo el importe mostrado, el pago puede quedarse corto y no acreditarse. La recarga mínima, según la página de precios, es de 5 USD. La política de reembolsos, actualizada el 20 de julio de 2026, dice «All Sales Are Final». Solo hay reembolso cuando un endpoint de verdad no funciona y su equipo técnico lo confirma.
| Método de recarga en TikHub | Qué dice su guía en español |
|---|---|
| PayPal | Funciona como invitado, sin cuenta de PayPal |
| Alipay | Límite diario de 250 USD; para más, hay que contactar con ellos |
| USDT | Hay que enviar el importe mostrado más la comisión de gas; si falta, el pago puede no acreditarse |
Hay una trampa más: TikHub tiene dos tipos de clave. Las claves de los endpoints de datos sociales se crean en el centro de usuario de user.tikhub.io. TikHub también ofrece un proxy de IA en fase beta. Su página de la API de IA dice que ese servicio necesita un registro aparte en ai.tikhub.io y una clave creada en esa consola. La misma página advierte que el proxy no es compatible con el SDK de Python de OpenAI, el SDK de Anthropic ni el SDK de Google AI, así que hay que enviar peticiones HTTP directas. Una clave de un servicio no abre el otro.
En EveryInfra también son cuatro acciones. Usted entra con GitHub, Google, un número de teléfono o un correo. En la consola, dentro de API Keys, crea una clave, y la clave completa se muestra una sola vez. Después la envía en una cabecera Authorization: Bearer, como explica nuestra documentación. Para probar sin pagar, puede dar una estrella a dos de nuestros repositorios de GitHub y pedir 1 USD de crédito de prueba en la consola. Ese crédito dura 24 horas. Cuántas llamadas alcanza depende del precio de cada capacidad; la sección del crédito gratuito lo calcula para tres casos. Si no quiere dar estrellas, puede recargar directamente; el tramo más pequeño de nuestra página de precios es de 10 USD. Frente a TikHub, nos ahorramos la verificación de correo aparte, pero nuestra recarga mínima es el doble de la suya. Para quien quiere gastar lo mínimo el primer día, TikHub es más amable.
| Acción | TikHub (documentación pública, leída 2026-11-03) | EveryInfra (/docs y página de acceso, leídas 2026-11-03) |
|---|---|---|
| Registro | user.tikhub.io/register, con correo | GitHub, Google, teléfono o correo |
| Verificación | Hay que pulsar el enlace del correo; si no, error 403 | Sin paso aparte (proveedor de acceso o código de un solo uso) |
| Crear la clave | Centro de usuario → API token → crear; hasta 100 claves por usuario | Consola → API Keys → crear; la clave completa se ve una vez |
| Alcance de la clave | La documentación cita un 403 por «token lacks required permissions», sin pasos de configuración | Cada clave puede desactivar un producto (403 capability_denied); la escritura viene desactivada |
| Crédito gratuito | 0,05 USD al registrarse, unas 50 llamadas; no vale en endpoints solo de pago | 1 USD por dos estrellas en GitHub, 24 horas; no vale para resolver CAPTCHA |
| Recarga mínima | 5 USD (PayPal como invitado, Alipay, USDT más gas) | Tramo de 10 USD |
| Segundo tipo de clave | El proxy de IA usa claves de ai.tikhub.io | Una clave sirve para datos, búsqueda y CAPTCHA |
Para un equipo, las filas que más pesan son la creación y el alcance de la clave. Cien claves por usuario es generoso para repartir costes por proyecto. Pero la documentación pública de TikHub no dice si una clave puede limitarse a ciertos endpoints. La única pista es la nota de códigos de estado sobre un token al que le faltan permisos. Nuestras claves se pueden limitar por producto en la consola. Por ejemplo, usted puede abrir la API de datos a un agente de IA y dejar cerrada la resolución de CAPTCHA. También puede desactivar una clave para que todas sus llamadas devuelvan 401. Cambiar el alcance de una clave, subir sus límites y pagar exigen siempre a una persona con sesión en la consola. Una clave creada mediante la API nunca tiene más permisos que la clave que la creó. Así, un agente de IA que tiene una clave no puede usarla para cambiar la cuenta.
Autenticación: cabecera Bearer, cookie y claves en la URL
Los dos servicios usan Authorization: Bearer <clave>. Esta forma viene de la RFC 6750. Su sección 2.3 dice que el token en la cadena de consulta de la URL «SHOULD NOT be used». La sección 5.3 añade dos ideas. No hay que poner tokens bearer en URL de páginas, porque el historial del navegador y los registros del servidor pueden guardarlos. Tampoco hay que guardarlos en cookies que viajen sin cifrar. El README de TikHub ofrece dos métodos. El método 1 es la cabecera, y es el recomendado. El método 2 es una cookie llamada Authorization, marcada como «no recomendada, solo si el método 1 no está disponible».
Su página Swagger tiene un detalle práctico. Al pulsar Authorize, arriba a la derecha, se pega solo el token, sin el prefijo Bearer, porque la página lo añade sola. En nuestro caso no hay página Swagger de prueba; la forma de probar a mano es copiar el ejemplo curl de la documentación.

Lo que devuelve un servicio cuando falla la autenticación dice más que su documentación. Cuando algo sale mal, un agente de IA solo ve el cuerpo de la respuesta. A las 00:19:39 (hora de Singapur) llamamos sin clave al endpoint de perfil de TikTok de TikHub. Respondió 401 en 0,21 segundos. Las cabeceras traían WWW-Authenticate: Bearer, tal como pide la sección 15.5.2 de la RFC 9110 para un 401. En el cuerpo, message apuntaba al ancla «api-token-introduction» del README. Había una copia del mensaje en chino y un enlace a Discord, el campo docs venía vacío y la hora estaba en la zona de Los Ángeles.
A las 00:18:54 (hora de Singapur) llamamos sin clave a EveryInfra. Respondió 401 con el código missing_key, fault: account y retryable: false. El campo next_steps decía que había que poner la clave en la cabecera Authorization y que no se había cobrado nada. Nuestras cabeceras no incluyen WWW-Authenticate, así que en este punto TikHub sigue el estándar mejor que nosotros.

Escribir mal un parámetro es el error más frecuente. A las 00:19:24 (hora de Singapur) enviamos tiktok/profile con user en lugar de username. EveryInfra devolvió 422 missing_param y nombró username como el campo que faltaba. Dijo también que user no es un parámetro de esa capacidad, y adjuntó un ejemplo que funciona y la dirección del catálogo de la plataforma. En el openapi.json de TikHub, 973 endpoints declaran un error de validación 422, con el formato por defecto de su framework web. Sin clave de TikHub no pudimos ver cómo responde en la práctica a un nombre de parámetro mal escrito, así que dejamos la comparación aquí.
| Estado | Causas según el README de TikHub | Respuesta de EveryInfra (/docs y esta prueba) |
|---|---|---|
| 400 | Formato o parámetros incorrectos; a veces, un error interno | unknown_capability: la plataforma o la capacidad no existe; revise el catálogo |
| 401 | Token no válido, ausente, no verificable, inactivo, caducado o usuario inexistente | missing_key y códigos parecidos, con next_steps; sin cobro |
| 402 | Saldo insuficiente, distinguiendo endpoints que aceptan crédito gratuito y endpoints que no | quota_exhausted: consulte GET /api/v1/account, recargue y repita |
| 403 | Permiso de ruta, cuenta desactivada, correo sin verificar, permiso del token | account_disabled; un producto desactivado en la clave devuelve capability_denied |
| 422 | Error de validación de campos (declarado en 973 endpoints) | missing_param o valor de enumeración no válido, con nombres correctos, valores permitidos y un ejemplo |
| 429 | Límite de velocidad superado (10 peticiones por segundo por defecto) | rate_limited; espere lo que indique Retry-After |

Dónde guardar la clave: variables de entorno, escaneo de secretos y desactivación
Con la clave en la mano, el accidente típico no es que alguien la adivine. Es que usted la pegue en un repositorio, en una captura o en una conversación con una herramienta de IA. La lista de patrones admitidos de GitHub divide las reglas de escaneo de secretos en tres grupos: reglas genéricas, secretos detectados por IA y reglas de proveedor. El 3 de noviembre la lista mostraba 531 reglas de proveedor.
Una regla genérica es la que más importa aquí. Se llama http_bearer_authentication_header y busca una cabecera Authorization: Bearer escrita en el código. GitHub le asigna una precisión media. Así que una clave subida junto con su cabecera puede detectarse. Pero solo los proveedores del programa de socios de GitHub reciben el aviso y pueden revocar la clave por usted. En los demás casos, usted mismo tiene que desactivarla en la consola.
El 28 de octubre de 2026, GitHub añadió los secretos detectados por IA a la protección de push. La nueva comprobación no necesita un formato fijo de clave: mira los nombres de variables, las rutas de archivo y el código cercano. En los primeros resultados, más que duplicó el número de pushes bloqueados. Pero viene desactivada. Primero hay que activar la detección por IA y la protección de push, solo está disponible para organizaciones que pagan Secret Protection o Advanced Security, y consume créditos de IA.
Tres costumbres protegen en los dos servicios. Guarde la clave en una variable de entorno o en los ajustes de secretos de su cliente. En las configuraciones MCP, escriba una referencia como ${EVERYINFRA_API_KEY} en lugar de la clave. Dé a cada proyecto su propia clave, para que una filtración obligue a desactivar una sola. El SDK de Python de TikHub lee por defecto la variable TIKHUB_API_KEY, y el nuestro lee la clave desde donde usted le indique; en nuestros ejemplos usamos EVERYINFRA_API_KEY.
| Riesgo | TikHub | EveryInfra |
|---|---|---|
| Clave pegada en un repositorio | Una cabecera Bearer escrita en el código puede activar una regla genérica de GitHub; use variables de entorno | Igual; use variables de entorno |
| Clave fuera de la cabecera | El README solo cita la cabecera y una cookie, y la cookie no se recomienda | La clave en la URL de MCP aún funciona pero se desaconseja; la API de IA la rechaza |
| Una clave por proyecto | Hasta 100 claves por usuario | Varias claves, cada una con su lista de IP y sus productos activos |
| Clave filtrada | Los pasos para desactivarla no están en la documentación pública | Se desactiva al momento; solo una persona puede reactivarla |
Los dos servicios aceptan todavía un método más débil. TikHub acepta el token en una cookie llamada Authorization y la marca como no recomendada. La sección 5.3 de la RFC 6750 dice que un token en una cookie necesita protección contra la falsificación de peticiones entre sitios. Tampoco puede viajar en una cookie que se envíe sin cifrar. En nuestro lado, los primeros conectores MCP podían llevar la clave en la URL. Nuestra documentación dice que eso todavía funciona, pero que las URL quedan en historiales y registros, así que las instalaciones nuevas no deben usarlo. Nuestra API de IA rechaza la clave en la URL. La RFC 6750 dice que el token en la URL «SHOULD NOT» usarse, y hoy los dos servicios recomiendan la cabecera.
La documentación pública de TikHub no explica cómo desactivar o rotar una clave concreta; solo enumera las seis causas de un 401. En nuestro lado, una clave desactivada devuelve 401, y solo una persona en la consola puede reactivarla o rotarla.
Qué se puede hacer antes de tener clave
Los dos servicios dejan mirar antes de registrarse. TikHub tiene 8 endpoints de demostración; su sitio de documentación lista 9 entradas, y la novena muestra el estado de la caché de las demos. No necesitan token, devuelven objetos fijos y los guardan en caché una hora. Cubren un vídeo fijo de Douyin en web y otro en app, una búsqueda de Douyin y un vídeo fijo de Kuaishou. También cubren un usuario fijo de TikTok, un vídeo fijo de la app de TikTok, un usuario fijo de Instagram y un extractor de artículos de WeChat.
A las 00:19:38 (hora de Singapur) llamamos a la demo del usuario fijo de TikTok. Devolvió 200 en 0,65 segundos con la cuenta tiktok: 96 500 000 seguidores y 1514 vídeos. El bloque statsV2 traía la cifra exacta, 96 519 349 seguidores. Es un buen diseño, porque se ve la forma de una respuesta real sin ninguna clave. Hay un detalle confuso. La respuesta de la demo dice «Request successful. This request will incur a charge.», pero no enviamos token, así que nada podía cobrarse. La explicación probable es que todos los endpoints comparten un modelo de respuesta y esa frase es su texto por defecto.
EveryInfra no tiene endpoints de demostración. En cambio, el catálogo de capacidades, la lista de herramientas de búsqueda, la lista de tipos de CAPTCHA y el método MCP tools/list funcionan sin clave. Cada entrada del catálogo indica los parámetros obligatorios y opcionales, el máximo de filas por llamada, price_usd, available y response_fields. Antes de llamar, usted ya sabe qué campos recibirá y cuánto cuesta cada llamada. A las 00:21:11 (hora de Singapur) enviamos tools/list a https://api.everyinfra.com/mcp sin clave, y devolvió 12 herramientas.
| Gratis y sin clave | TikHub | EveryInfra |
|---|---|---|
| Respuestas reales de ejemplo | 8 demos con objetos fijos, en caché 1 hora | No hay |
| Lista de endpoints y precios | Endpoint de precios con 1472 filas | Catálogo con 573 capacidades y su price_usd |
| Nombres de los campos de respuesta | No documentados en 1052 endpoints | response_fields en las 573 |
| Herramientas MCP | Número de herramientas por plataforma en /platforms | tools/list, 12 herramientas |
Los dos enfoques tienen ventajas distintas. Las demos de TikHub enseñan cómo es una respuesta real. Nuestro catálogo enseña todos los nombres de campo y todos los precios antes de la primera llamada. Si usted solo quiere comprobar que un servicio devuelve lo que necesita, la demo de TikHub da más seguridad visual. Si quiere escribir el código de análisis antes de gastar, el catálogo da más información.
Cuántas pruebas permite el crédito gratuito
Después de preguntar «¿hay crédito gratuito?», la pregunta útil es «¿alcanza para probar unas cuantas veces cada endpoint que necesito?». Dividimos el crédito de prueba de cada lado entre los precios de los tres casos de este artículo. TikHub da 0,05 USD, y 631 de las 1472 filas de su lista de precios aceptan crédito gratuito, el 42,9 %. El endpoint de notas de Xiaohongshu que recomienda su documentación no lo acepta. Para ese caso, el crédito gratuito no alcanza para ninguna llamada y hay que recargar 5 USD antes. Nuestro crédito de 1 USD sirve para todo salvo la resolución de CAPTCHA, pero caduca a las 24 horas.
| Caso | Llamadas con el crédito gratuito de TikHub | Llamadas con el crédito de prueba de EveryInfra |
|---|---|---|
| Perfil de TikTok | 0,05 USD ÷ 0,001 USD = 50 | 1 USD ÷ 0,000556 USD ≈ 1798 |
| Un vídeo de Douyin | 50 | unas 1798 |
| Nota de Xiaohongshu (el endpoint que recomienda TikHub) | 0; ese endpoint no acepta crédito gratuito | 1 USD ÷ 0,005556 USD ≈ 179 |
| Validez | Sin caducidad indicada; una vez por persona | 24 horas desde que se pide |
Esta tabla no significa simplemente que nuestra prueba sea más generosa. Los 0,05 USD de TikHub no tienen caducidad indicada, lo que conviene a quien se registra hoy y prueba la semana que viene. Nuestro dólar hay que gastarlo en un día, lo que conviene a quien quiere un flujo funcionando hoy mismo. En los dos lados, el número de llamadas cambia con el precio. En TikHub, los mismos 0,05 USD dan solo 5 llamadas a un endpoint de 0,01 USD, y ninguna a un endpoint que no acepta crédito gratuito. En nuestro lado, una capacidad de 0,000556 USD como el perfil de TikTok da casi 1800 llamadas, y la nota de Xiaohongshu da 179. Para estimar su caso, divida entre el price_usd del catálogo, o use nuestra herramienta de línea de comandos con --dry-run, que imprime la estimación.
Dónde está la tikhub api doc: cinco entradas y un archivo de 840 000 tokens
La documentación de TikHub tiene cinco entradas que se solapan mucho. Está el sitio docs.tikhub.io, hecho con una herramienta de documentación alojada, con una página por endpoint y exportación a Markdown. Está la página Swagger de api.tikhub.io, donde se puede pegar un token y probar una llamada en el navegador. Están la referencia de la API y la página de tutoriales del sitio principal. Y están llms.txt y llms-full.txt, pensados para lectores de IA. Todo sale de un mismo openapi.json, que es también lo que se importa en Postman o en un generador de SDK.
| Entrada | Dirección | Tamaño y contenido (leído 2026-11-03) | Para qué sirve |
|---|---|---|---|
| openapi.json | api.tikhub.io/openapi.json | 3 116 022 bytes, 1058 rutas, unos 839 775 tokens | Generar un SDK, importar en Postman |
| Swagger | api.tikhub.io | La misma especificación, con formulario de prueba que acepta un token | Probar un endpoint a mano |
| Sitio de documentación | docs.tikhub.io | Índice llms.txt de 1274 líneas, unos 47 604 tokens; una página de endpoint ronda los 2295 tokens | Consultar los parámetros de un endpoint |
| llms.txt del sitio principal | tikhub.io/llms.txt | 4698 bytes, unos 1279 tokens, solo resumen y enlaces | Contarle a una IA qué existe |
| Tutoriales | tikhub.io/tutorials | Preguntas frecuentes y ejemplos en Python, JavaScript, Go, Java, PHP y cURL | Copiar código de ejemplo |
Hay tres cosas del openapi.json que conviene saber. La primera: su bloque info dice versión V5.3.2 y fecha de actualización 22 de junio de 2026, pero el número de rutas cambia. Cuando el SDK de Python se sincronizó, el 3 de octubre, había 1050. Contamos 1056 el 2 de noviembre de 2026 y 1058 el 3 de noviembre de 2026, y el número de versión no cambió. Si usa la versión para saber si la especificación cambió, se equivocará.
La segunda: 1052 de las 1058 rutas remiten su respuesta de éxito a un único ResponseModel genérico. Ese modelo define campos de envoltorio como code, message, request_id, time_zone y cache_url, y el tipo de data es «cualquiera». Es decir, la especificación dice cómo preguntar, pero no qué campos vuelven; los campos se descubren llamando. La tercera: el archivo es grande. Con unos 840 000 tokens, es 3,5 veces nuestro catálogo completo (240 429 tokens). Ningún agente de IA puede leerlo entero como manual.
Otros desarrolladores han chocado con el mismo tamaño. Un desarrollador publicó una guía (en chino) para convertir el openapi.json de TikHub en una skill de Claude Code, con el código en GitHub. La idea es construir una capa de búsqueda sobre los endpoints. Así el modelo consulta solo lo que necesita y no lee el archivo entero. Eso confirma que el problema es real: cuantos más endpoints tiene un servicio, más necesita un índice para «buscar primero y llamar después». La respuesta de TikHub es un servidor MCP por plataforma, que veremos más abajo. La nuestra es el catálogo con filtros. GET /api/v1/social/catalog?platform=tiktok&compact=1 devuelve solo TikTok, sin descripciones, en 6809 bytes y 1870 tokens, menos que una sola página de endpoint de TikHub.
El sitio de documentación tiene otra pequeña trampa. El tercer elemento de su menú se llama «Getting Started», pero es una guía para comerciantes que quieren vender en el marketplace de TikHub. Explica cómo abrir una tienda, vender productos digitales y pagar una comisión del 1 % al retirar fondos. No tiene nada que ver con llamar a la API. La guía de primeros pasos para desarrolladores está en el sitio principal, en tikhub.io/getting-started y en su versión en español, no en el sitio de documentación. Quien llega desde una búsqueda de «tikhub api doc» y recorre el menú en orden lee primero una página que no le sirve.
La diferencia entre la lista de precios y la documentación es otra forma de perderse. La lista de precios de TikHub se puede leer sin token. A las 00:19:39 (hora de Singapur) tenía 1472 filas, 1471 rutas distintas. Las comparamos una por una con el openapi.json del mismo minuto. Hay 1038 rutas en los dos sitios, 433 solo en la lista de precios y 20 solo en la documentación. Los 433 endpoints que solo están en la lista tienen precio pero no documentación de parámetros. La mayoría parecen versiones antiguas, pero no todos: como veremos en la sección de precios, el endpoint más barato para notas de Xiaohongshu es uno de ellos.
EveryInfra tiene menos entradas. /docs es la guía para personas. El catálogo de capacidades y su versión compacta son para programas y agentes de IA. Nuestro archivo OpenAPI es la versión 2.0.0 con 59 rutas. Todas las capacidades de datos pasan por un solo POST /api/v1/social y se eligen con dos campos, platform y action. También hay un llms.txt de 25 845 bytes y una página por plataforma y por capacidad, como la API de perfil de TikTok. Las 573 capacidades del catálogo traen response_fields, así que usted ve los nombres y tipos de los campos antes de llamar.
| Nuestra entrada | Dirección | Tamaño (leído 2026-11-03) | Para qué sirve |
|---|---|---|---|
| Documentación | everyinfra.com/docs | Guía con inicio rápido, errores y configuración MCP | Leer una vez de principio a fin |
| Catálogo completo | /api/v1/social/catalog | 971 955 bytes, unos 240 429 tokens | Programas que lo necesitan todo |
| Catálogo compacto | /api/v1/social/catalog?compact=1 | 136 528 bytes, unos 36 407 tokens | Agentes que necesitan todas las plataformas |
| Una plataforma | catalog?platform=tiktok&compact=1 | 6809 bytes, unos 1870 tokens | Agentes que necesitan una sola plataforma |
| llms.txt | api.everyinfra.com/llms.txt | 25 845 bytes, unos 6748 tokens | Contarle a una IA qué existe |
| OpenAPI | api.everyinfra.com/openapi.json | 707 924 bytes, 59 rutas, unos 177 775 tokens | Importar la forma de la petición |
Nuestro punto débil es la otra cara del mismo diseño. Con 573 capacidades detrás de un solo endpoint, un generador OpenAPI genérico le da un único método post(body). El autocompletado de parámetros depende de nuestro propio SDK, que vemos en las secciones siguientes.
Darle la documentación a un agente de IA: cuánto lee antes de la primera llamada
Muchos desarrolladores ya no leen la documentación de una API. Le piden a Claude Code, Cursor u otro agente de código que la lea y escriba la llamada. Entonces el tamaño de la documentación se convierte en espacio de contexto y en coste. Tomamos una tarea, «encontrar el endpoint de perfil de TikTok y escribir la primera petición», y calculamos el camino de lectura más barato en cada lado con material público. Todos los recuentos de tokens salen de un script que aplicó o200k_base a los archivos originales, descargados el 3 de noviembre de 2026 entre las 00:16 y las 00:23 (hora de Singapur).
En TikHub, el camino más barato tiene dos pasos. El agente lee el índice llms.txt del sitio de documentación, de 1274 líneas y unos 47 604 tokens. Allí encuentra la línea del endpoint web de TikTok que obtiene el perfil de un usuario, y abre la página Markdown de ese endpoint, de unos 2295 tokens. En total, unos 49 899 tokens. El llms.txt del sitio principal tiene solo 1279 tokens, pero lista plataformas y enlaces, no endpoints, así que el agente debe ir igualmente al sitio de documentación. Leer el openapi.json completo, con unos 839 775 tokens, no tiene sentido para ningún agente. El servidor MCP de TikHub es otra vía: el de TikTok tiene 163 herramientas, así que el modelo recibe 163 descripciones. Listarlas exige un token, por lo que no medimos su tamaño.
En nuestro lado, el camino más barato tiene un paso: GET /api/v1/social/catalog?platform=tiktok&compact=1, con 6809 bytes y unos 1870 tokens. Contiene los parámetros, precios y nombres de campos de respuesta de todas las capacidades de TikTok, y con eso basta para escribir la petición. En este camino, TikHub obliga a leer unas 26,7 veces lo que se lee con nosotros. Esta proporción mide cuánto debe leer un agente para un endpoint, no la calidad de la documentación. Las páginas de TikHub traen descripciones bilingües y ejemplos detallados de parámetros. Nuestro catálogo compacto quita las descripciones y deja los nombres, así que es más barato de leer y también más seco. Los dos servicios publican un llms.txt para lectores de IA. La idea viene de la propuesta llms.txt, que sugiere un índice corto en Markdown con los detalles detrás de enlaces, y los dos la siguen.
| Camino de lectura | TikHub | EveryInfra |
|---|---|---|
| Solo el índice | llms.txt del sitio principal, unos 1279 tokens (solo enlaces) | llms.txt, unos 6748 tokens (uso y capacidades nuevas) |
| Encontrar un endpoint y escribir la petición | Índice 47 604 + una página 2295 ≈ 49 899 tokens | Catálogo compacto de una plataforma ≈ 1870 tokens |
| Descripción completa de la API | openapi.json, unos 839 775 tokens | Catálogo completo unos 240 429 tokens; openapi.json unos 177 775 tokens |
| Conectar por MCP | Un servidor por plataforma; TikTok tiene 163 herramientas | Un servidor con 12 herramientas; tools/list ronda los 3779 tokens |
| Campos de respuesta visibles antes de llamar | 1052 endpoints solo documentan un envoltorio genérico | Las 573 capacidades traen response_fields |
tikhub github: los 12 repositorios públicos, uno por uno
A las 00:16 (hora de Singapur), la organización de TikHub en GitHub tenía 12 repositorios públicos. Leímos con la API de GitHub las estrellas y la fecha del último push de cada uno. Después clonamos los 6 repositorios de SDK y del plugin. Un script extrajo todas las rutas /api/v1/... escritas en su código fuente y las comparó con el openapi.json de ese día.
| Repositorio | Estrellas | Último push | Rutas en el código | Siguen en la documentación de hoy | Parte de los 1055 endpoints activos |
|---|---|---|---|---|---|
| TikHub-API-Python-SDK | 934 | 2026-10-03 | 1048 | 1048 | 99,2 % |
| tikhub-plugin (plugin de Claude Code) | 9 | 2026-06-16 | 1109 | 872 | 82,4 % |
| TikHub-API-TypeScript-SDK | 6 | 2025-03-17 | 586 | 341 | 32,3 % |
| TikHub-API-GoLang-SDK | 4 | 2025-03-09 | 588 | 341 | 32,3 % |
| TikHub-API-Java-SDK | 20 | 2025-03-09 | 586 | 341 | 32,3 % |
| TikHub-API-CPP-SDK | 2 | 2025-03-09 | 586 | 341 | 32,3 % |
El SDK de Python es el repositorio mejor cuidado de la organización, y hay que reconocerlo primero. Su commit del 2 de octubre (hora del Pacífico) dice «sync SDK to live OpenAPI spec, skip deprecated endpoints (1048 endpoints)». Al día siguiente salió la versión 2.2.0 en PyPI. Las 1048 rutas que extrajimos siguen en la documentación de hoy; ninguna está muerta. Trae clientes síncrono y asíncrono (TikHub y AsyncTikHub), reintentos automáticos y manejo de límites de velocidad, y pasa mypy --strict. Requiere Python 3.9 o superior y tiene README en inglés, chino, francés, español y japonés.
El README en español anuncia una «cobertura del 100 %», 1048 de 1048 endpoints. Era cierto el día de la sincronización. Hoy le faltan los 9 endpoints añadidos después del 3 de octubre, así que la cobertura real es del 99,2 %. Esos 9 son un endpoint de comentarios de publicaciones de Bilibili, cinco endpoints de tareas asíncronas de LinkedIn, dos endpoints nuevos de Threads y una lista de más vendidos de TikTok Shop. Con unos 9 endpoints nuevos al mes, siempre irá un poco por detrás hasta la siguiente sincronización. Este es el ejemplo de inicio rápido que trae el propio README; no lo ejecutamos porque no tenemos clave de TikHub:
from tikhub import TikHub
client = TikHub(api_key="YOUR_API_KEY") # por defecto lee $TIKHUB_API_KEY
# recurso = etiqueta de OpenAPI, método = última parte de la ruta
video = client.douyin_web.fetch_one_video(aweme_id="7251234567890123456")
print(video.aweme_detail.desc)Los otros cuatro lenguajes van muy por detrás. Los SDK de TypeScript, Go, Java y C++ se generaron a partir de la especificación OpenAPI en marzo de 2025 y no han cambiado desde entonces. De las 586 rutas de su código (588 en Go), 245 (247 en Go) ya no están en la documentación. Llamar a esos métodos da un 404 u otro error. Las 341 restantes cubren el 32,3 % de los endpoints de hoy.
El SDK de TypeScript tiene un problema más directo. En npm, el paquete se llama @tikhubio/tikhub-api-ts-sdk y su última versión es la 1.0.1. Pero los dos comandos de instalación de la página de npm dicen @tikhub/tikhub-api-ts-sdk. Consultamos el registro de npm a las 00:36 (hora de Singapur) y ese nombre devolvió 404, así que copiar el comando falla. El comando del README de GitHub sí es correcto. La página del SDK de Python en PyPI tiene un fallo menor: su enlace «Homepage» apunta a TikHub-API-Python-SDK-V2, que también devuelve 404. Además, el README todavía dice versión 2.1.1, mientras que PyPI ya está en la 2.2.0.
Los demás repositorios tienen cada uno su uso. TikHub-API-Demo guarda scripts de ejemplo de diciembre de 2024, ordenados por Douyin, Instagram, Kuaishou y TikTok. TikHub-Multi-Functional-Downloader es un descargador de escritorio con interfaz gráfica y, con 193 estrellas, el repositorio con más estrellas después del SDK de Python. tikhub-mcp-dist sirve para ejecutar el servidor MCP en local. TikHub_n8n_Integration añade nodos de TikHub a n8n, y su último push fue hace 393 días. Spinneret, con actividad el 2 de noviembre de 2026, es un servicio para repartir credenciales y proxies y no tiene que ver con llamar a la API.
Una búsqueda de «tikhub github» también muestra proyectos de scraping de código abierto que usted puede alojar. No cobran por llamada, pero usted tiene que ocuparse de firmar las peticiones, de las defensas de las plataformas, de seguir las versiones y de sus propios servidores.
Qué camino conviene según su lenguaje
Si convertimos los datos de los SDK en decisiones, la respuesta se divide por lenguaje. En Python hay paquete listo en los dos lados. pip install tikhub tiene la cobertura más amplia y un cliente asíncrono. pip install everyinfra no tiene dependencias y trae una herramienta de línea de comandos con estimación de coste. En JavaScript y TypeScript, el paquete npm de TikHub ayuda poco: se paró en marzo de 2025, cubre el 32,3 % de los endpoints y su comando de instalación hay que corregirlo a mano. Nuestro paquete npm salió el mismo día que el de Python y solo depende de fetch, que viene en Node 18 y posteriores.
En Go, Java, C++ y PHP, lo mejor en los dos lados es HTTP directo. Los SDK de TikHub para esos lenguajes están desactualizados, pero su página de tutoriales trae ejemplos de peticiones en Go, Java y PHP que se pueden copiar. Nosotros no tenemos SDK para esos lenguajes. La ventaja es que todas las capacidades de datos son el mismo POST /api/v1/social. Usted escribe una función de petición y solo cambia platform y action para cada plataforma.
| Su lenguaje | TikHub | EveryInfra |
|---|---|---|
| Python | pip install tikhub 2.2.0, síncrono y asíncrono, 99,2 % de cobertura | pip install everyinfra 0.3.0, nombres tipados, línea de comandos con estimación |
| JavaScript o TypeScript | npm 1.0.1 de marzo de 2025, 32,3 % de cobertura, el nombre de la página npm da 404 | npm install everyinfra 0.3.0, usa el fetch integrado |
| Go, Java, C++ | SDK de marzo de 2025, 32,3 % de cobertura; mejor HTTP directo | Sin SDK; una función HTTP sirve para todas las capacidades |
| PHP o cURL | Ejemplos en la página de tutoriales | Ejemplos curl en el inicio rápido de la documentación |
Detrás hay una diferencia de diseño que se pasa por alto con facilidad: la forma de una API decide cuánto importa su SDK. Cada endpoint de TikHub tiene su propia ruta y sus propios nombres de parámetros, así que 1055 endpoints son 1055 funciones. Un SDK con un mes de retraso pierde endpoints. Uno con año y medio de retraso tiene unos cuatro de cada diez métodos que ya no funcionan. Es una carga de mantenimiento pesada, y explica que solo uno de cinco SDK se mantenga al día.
Nosotros tenemos un solo endpoint, así que la única parte de nuestro SDK que necesita actualizarse es la lista de nombres de capacidades. Cuando sale una capacidad nueva, un SDK antiguo puede llamarla con una cadena de texto; solo que el editor no la autocompleta. Ningún diseño gana en todos los casos. El de TikHub permite que un comprobador de tipos revise los parámetros de cada endpoint. El nuestro hace que el SDK sea difícil de romper.
Nuestro código de ejemplo está en el repositorio público everyinfra-agent-plugins. El ejemplo con proxy de nuestra documentación indica que se ejecutó el 24 de octubre de 2026 (2026-10-24), una vez en cada idioma de la documentación.
Nuestro lado: SDK de Python, línea de comandos y MCP remoto
El SDK de EveryInfra salió el 1 de noviembre de 2026. everyinfra 0.3.0 en PyPI y everyinfra 0.3.0 en npm se publicaron el mismo día. Los mismos archivos están en la versión sdk-v0.3.0 de GitHub, con sumas de comprobación SHA-256. No se genera a partir de OpenAPI. Como vimos, 573 capacidades comparten un endpoint, y un generador genérico solo produciría un método genérico. En su lugar, generamos los nombres de plataformas y capacidades como tipos literales a partir del registro de capacidades del servidor. Así el editor puede autocompletarlos y marcar una errata al momento. En la madrugada del 3 de noviembre instalamos la 0.3.0 y contamos. Su lista de tipos tiene 106 plataformas y 573 capacidades, y coincide elemento por elemento con el catálogo en vivo, sin sobrantes ni faltantes.
El mismo paquete instala una herramienta de línea de comandos, everyinfra. everyinfra catalog --find y everyinfra describe tiktok/profile no necesitan clave y muestran capacidades, parámetros, campos de respuesta y precios. --dry-run imprime la petición y el coste estimado a precio de lista, y no envía nada. --max-cost-usd se niega a enviar si la estimación supera su límite. everyinfra mcp-config --client claude imprime la configuración MCP de un cliente concreto. Esa configuración usa una variable de entorno y no escribe la clave en ningún archivo. El SDK de TikHub no tiene nada de esto. Son respuestas a tres miedos de quien deja que un agente de IA llame a una API: que llame a lo que no debe, que llame demasiado o que filtre la clave en un archivo.
| Comando | ¿Necesita clave? | Qué hace |
|---|---|---|
everyinfra catalog --find | No | Busca capacidades en el catálogo |
everyinfra describe tiktok/profile | No | Muestra parámetros, campos de respuesta y precio |
--dry-run | No | Imprime la petición y el coste estimado sin enviarla |
--max-cost-usd | Sí | No envía si la estimación supera el límite |
everyinfra mcp-config --client claude | No | Imprime la configuración MCP con la clave como variable de entorno |
Los dos servicios plantean el MCP remoto de forma distinta. TikHub lo divide por plataforma. Su página MCP y su llms.txt dan una dirección por plataforma, como https://mcp.tikhub.io/tiktok/mcp, así que hay que añadir una entrada de configuración por cada plataforma. Su lista de plataformas, que se lee sin token, da el número de herramientas de cada servidor: 319 para Douyin y 163 para TikTok. La ventaja es que cada endpoint es una herramienta propia. El inconveniente es que solo el servidor de Douyin enseña al modelo 319 descripciones de herramientas.
Nosotros tenemos una dirección, https://api.everyinfra.com/mcp, con 12 herramientas. Todas las capacidades de datos pasan por everyinfra_call_api con dos argumentos, platform y action. La herramienta gratuita everyinfra_list_capabilities sirve para buscar capacidades primero, y tools/list suma 3779 tokens. La especificación MCP permite los dos diseños. La revisión vigente es la del 28 de julio de 2026. Su sección de transporte hace el protocolo sin estado: ya no hay saludo initialize ni identificador de sesión. Con Streamable HTTP, cada mensaje es un POST HTTP a la misma dirección, y cada petición lleva su versión de protocolo en _meta. Nuestras dos peticiones MCP de las 00:21:11 funcionaron así: enviamos tools/list y luego tools/call sin saludo previo, y las dos devolvieron resultados. La sección de autorización se basa en OAuth 2.1, pero dice que la autorización es OPTIONAL. Ninguno de los dos servicios usa OAuth; los dos aceptan una clave en una cabecera. El precio de una clave simple es que el cliente no puede hacer el inicio de sesión por usted, así que usted pega la clave. Este es un ejemplo de configuración. Los nombres de campo dependen de su cliente, así que revise su documentación, y guarde la clave en una variable de entorno:
{
"mcpServers": {
"everyinfra": {
"type": "http",
"url": "https://api.everyinfra.com/mcp",
"headers": { "Authorization": "Bearer ${EVERYINFRA_API_KEY}" }
}
}
}Tres llamadas reales: curl, el SDK de Python y MCP
Para concretar el paso «de la clave a la primera llamada correcta», elegimos tres lecturas comunes que ofrecen los dos servicios, con un método de llamada distinto para cada una. Cada llamada lee un solo objeto: un perfil de TikTok, un vídeo de Douyin y una nota de Xiaohongshu. En nuestro lado son tiktok/profile, douyin/video y xiaohongshu/note. En la documentación de TikHub, los endpoints equivalentes son tiktok/web/fetch_user_profile y douyin/web/fetch_one_video. Para notas, su documentación recomienda primero xiaohongshu/app_v2/get_image_note_detail.
La primera llamada usó curl. Salió a las 00:18:54 (hora de Singapur) y volvió 30 segundos después con la cuenta tiktok: 96 500 000 seguidores y 1514 vídeos. Costó 0,000556 USD. Coincide con la misma cuenta en la demo de TikHub, pero el statsV2 de TikHub da la cifra exacta (96 519 349) y nosotros devolvemos un número redondeado. Si usted necesita seguidores exactos, TikHub es mejor en este punto.
curl -X POST https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"tiktok","action":"profile","params":{"username":"tiktok"}}'La segunda llamada usó el SDK de Python 0.3.0. Salió a las 00:20:19 (hora de Singapur) y volvió en 27,4 segundos con un vídeo de Douyin que reseña una freidora de aire. El vídeo tenía 33 693 «me gusta» y 2101 comentarios, y la llamada costó 0,000556 USD. El código ocupa pocas líneas, y la clave sale de una variable de entorno:
import os
from everyinfra import EveryInfra
ei = EveryInfra(os.environ["EVERYINFRA_API_KEY"])
video = ei.data("douyin", "video", url="https://www.douyin.com/video/7633263781723770163")
print(video["billing"]["charged_usd"])La tercera llamada pasó por MCP remoto. A las 00:21:11 (hora de Singapur) enviamos tools/call con la herramienta everyinfra_call_api. Volvió en 42,2 segundos con una nota de Xiaohongshu publicada el 25 de octubre de 2026 (2026-10-25), con 992 «me gusta» y 567 comentarios. Costó 0,005556 USD. El campo result.content[0].text contiene el mismo JSON que la llamada REST, incluido billing.

| Hora (SGT) | Método | Capacidad | Duración | Resultado | Cobro |
|---|---|---|---|---|---|
| 00:18:54 | curl, sin clave | tiktok/profile | menos de 1 s | 401 missing_key | 0 USD |
| 00:18:54 | curl | tiktok/profile | 30 s | 200, 1 perfil | 0,000556 USD |
| 00:19:24 | curl, parámetro mal escrito | tiktok/profile | menos de 1 s | 422 missing_param | 0 USD |
| 00:20:19 | SDK de Python 0.3.0 | douyin/video | 27,4 s | 200, 1 vídeo | 0,000556 USD |
| 00:21:11 | MCP remoto | xiaohongshu/note | 42,2 s | 200, 1 nota | 0,005556 USD |
| 00:21:11 | MCP tools/list, sin clave | ninguna | menos de 1 s | 12 herramientas | 0 USD |
Hay que decirlo: las tres llamadas correctas fueron lentas, de 27 a 42 segundos. Nuestras llamadas síncronas tienen un límite de 85 segundos; si una tarda más, falla por tiempo de espera y no se cobra. Para lotes, nuestra documentación sugiere añadir "mode": "async" para recibir un identificador de tarea y recoger el resultado después. Sin token de TikHub no pudimos medir sus endpoints reales. Solo sabemos que su demo respondió en 0,65 segundos con un objeto fijo en caché. El bloque info de su openapi.json indica un tiempo de espera de 30 a 60 segundos y sugiere un proxy propio para peticiones de más de 30 segundos. Este artículo no decide cuál de los dos es más rápido.
Leer la respuesta: dónde están los datos y dónde está el coste
Después del primer éxito, la siguiente pregunta es cómo analizar la respuesta, y los dos envoltorios son muy distintos. Todos los endpoints de TikHub comparten un envoltorio. A partir del ResponseModel del openapi.json y de la respuesta de la demo contamos 15 campos de primer nivel. Son code, message, message_zh, request_id, support, time, time_stamp, time_zone, docs, cache_message, cache_message_zh, cache_url, router, params y data. Los datos están en data, y su forma depende del endpoint. Casi siempre se parece a la respuesta propia de la plataforma. Para un perfil de TikTok, por ejemplo, están en data.userInfo.user y data.userInfo.stats, con los nombres en camelCase de la plataforma. La ventaja es que está todo lo que la plataforma devolvió. El coste es que cada plataforma y cada versión de endpoint necesitan su propio analizador.
El envoltorio de TikHub no dice cuánto costó la llamada. Su documentación dice que se cobra cuando la respuesta es 200. Para ver lo gastado hay que llamar a sus endpoints de usuario. El grupo TikHub-User-API del sitio de documentación tiene uno para el uso diario y otro para calcular precios. El envoltorio de EveryInfra tiene id, platform, action, results, billing y quota. El campo results usa los nombres de campo de response_fields del catálogo; un perfil de TikTok trae username, follower_count y video_count. billing.charged_usd es lo que costó esa llamada en dólares, y balance_after_usd es el saldo restante. En un lote, basta con sumar charged_usd para obtener el total, y así comprobamos el coste de las tres llamadas de este artículo.
| Qué busca | Respuesta de TikHub | Respuesta de EveryInfra |
|---|---|---|
| Los datos | data, con la forma propia de la plataforma, distinta en cada endpoint | results, con los nombres del catálogo |
| Identificador de la llamada | request_id | id (con forma req_…) |
| Coste de esta llamada | No está en el envoltorio; consulte el endpoint de uso diario | billing.charged_usd |
| Saldo después de la llamada | No está en el envoltorio | billing.balance_after_usd |
| Respuesta original más tarde | cache_url, gratis durante 24 horas | Registro de la llamada por id; la respuesta original no se guarda |
| Hora | time más time_zone (Los Ángeles) | Marcas ISO 8601 con zona horaria |
Una comprobación rápida de precios
Dos de nuestros artículos tratan el precio a fondo, así que aquí solo ponemos los tres casos lado a lado. Cada uno lee un solo objeto, de modo que el precio por 1000 llamadas y por 1000 resultados es el mismo.
| Caso | Endpoint de TikHub (lista leída a las 00:19 SGT) | TikHub por 1000 | ¿Admite descuento? | EveryInfra cobrado por 1000 | Diferencia |
|---|---|---|---|---|---|
| Perfil de TikTok | tiktok/web/fetch_user_profile | 1,00 USD | Sí; 0,50 USD por encima de 30 000 llamadas al día | 0,556 USD | A precio de lista TikHub cuesta 1,8 veces lo nuestro; su tramo más bajo, 0,50 USD, queda un 10 % por debajo de nosotros |
| Un vídeo de Douyin | douyin/web/fetch_one_video | 1,00 USD | No | 0,556 USD | TikHub cuesta 1,8 veces lo nuestro |
| Nota de Xiaohongshu (la recomendada en su documentación) | xiaohongshu/app_v2/get_image_note_detail | 10,00 USD | No, ni acepta crédito gratuito | 5,556 USD | TikHub cuesta 1,8 veces lo nuestro |
| Nota de Xiaohongshu (v5, solo en la lista de precios) | xiaohongshu/web/get_note_info_v5 | 1,00 USD | Sí | 5,556 USD | Nosotros costamos 5,6 veces lo de TikHub, pero este endpoint no está en su documentación |
A precio de lista TikHub cuesta 1,8 veces lo nuestro en los tres casos (somos un 44 % más baratos), lo que coincide con el tramo de 0,000556 USD de nuestro catálogo. TikHub sale más barato en dos casos. El primero es el volumen. El llms.txt de TikHub describe una escala de descuentos diaria que llega a la mitad de precio por encima de 30 000 llamadas al día. El endpoint de perfil de TikTok admite descuento, así que en el tramo más alto cuesta 0,50 USD por 1000, menos que nuestros 0,556 USD. El segundo es un endpoint sin documentar. La lista de precios de TikHub tiene un endpoint v5 de notas de Xiaohongshu a 0,001 USD por llamada. Cuesta una décima parte del endpoint app V2 que recomienda su documentación, y nuestro precio es 5,6 veces el suyo. Pero el v5 no está en el openapi.json, no tiene documentación de parámetros y no podemos juzgar su estabilidad. Para la comparación completa, vea TikHub pricing explicado y las 37 capacidades de Douyin comparadas una por una.
La primera factura también debe contar las llamadas que salieron mal, y mientras se aprende una API suelen ser muchas. Nuestra llamada sin clave de las 00:18:54 y la del parámetro mal escrito de las 00:19:24 (hora de Singapur) devolvieron errores con charged_usd a 0. Comprobamos los parámetros antes de cobrar, así que un nombre mal escrito nunca se cobra para devolverse después. Las preguntas frecuentes de TikHub dicen que solo se cobran las peticiones correctas. Una petición se cobra cuando devuelve 200, y las fallidas no se cobran. Los precios van de 0,001 a 0,01 USD por petición. Según esa regla, los errores 401, 403 y 422 tampoco cuestan nada allí, aunque sin clave no pudimos comprobarlo.
La diferencia real está en el «200 sin datos». Nosotros devolvemos el importe de los resultados vacíos con el mismo charge_id. No encontramos ninguna página de TikHub que hable de reembolsar resultados vacíos, y su política dice que las recargas son definitivas. Así que, mientras un agente de IA prueba parámetros, las llamadas con error probablemente no cuestan nada en ningún lado. La distancia aparece en las llamadas que salen bien pero vienen vacías, como una cuenta que cambió de nombre o un vídeo borrado, porque la plataforma sigue respondiendo 200. Cuantos más objetivos así tenga un lote, más se separan las dos facturas.
Cuándo conviene más TikHub
Sin esta sección, la comparación no sería justa. Cada fila sale del material público citado en el artículo.
| Situación | Por qué TikHub encaja mejor | Fuente |
|---|---|---|
| Trabaja en Python y quiere cliente asíncrono y tipos estrictos | El SDK de Python 2.2.0 tiene cliente síncrono y asíncrono, pasa mypy --strict y cubre el 99,2 % de los endpoints de hoy | GitHub, PyPI |
| Necesita endpoints muy concretos | 1055 endpoints activos en openapi.json; solo Douyin tiene 319, con Xingtu, Douyin Index y DOU+ | openapi.json, lista de plataformas MCP |
| Quiere ver una respuesta real antes de registrarse | 8 demos devuelven formas reales sin token | Sitio de documentación, Demo API |
| Quiere recargar lo mínimo | La recarga mínima es de 5 USD; la nuestra, de 10 USD | Página de precios |
| Paga con PayPal sin tener cuenta | Su guía en español admite PayPal como invitado | tikhub.io/es/getting-started |
| Necesita mensajes de salas en directo en tiempo real | Tiene una API WebSocket de salas en directo con precio por mensaje | llms-full.txt |
| Necesita el número exacto de seguidores | El statsV2 de TikTok devuelve la cifra exacta | Respuesta de la demo en esta prueba |
| Quiere una cabecera 401 estándar | Su 401 envía WWW-Authenticate: Bearer; el nuestro no | Cabeceras de esta prueba |
TikHub tiene otro diseño que a nosotros nos falta. Cada respuesta correcta trae un cache_url que vuelve a abrir el JSON original de esa llamada gratis durante 24 horas. Su página de tutoriales explica que así un fallo del analizador no obliga a pagar otra llamada. Además, un compañero puede reproducir lo que usted vio. En nuestro lado, usted puede consultar el registro y el cobro de una llamada por request_id, pero no ve la respuesta completa de aquel momento.
En sentido contrario, nosotros devolvemos automáticamente el importe de los fallos y de los resultados vacíos, y enseñamos los campos de respuesta antes de llamar. También ofrecemos interruptores por producto en cada clave, estimación de coste antes de enviar y amplitud. Las 106 plataformas de nuestro catálogo incluyen comercio electrónico, reseñas locales, mapas y portales de empleo, además de redes sociales. La lista de plataformas MCP de TikHub tiene 15 plataformas más un grupo «Others». La lista actual está siempre en el catálogo.
Cómo elegir según su caso
Estas son las decisiones que salen de la comparación. Primero, quizá usted ya decidió usar Python y necesita endpoints muy concretos de los 1055 de TikHub, como Xingtu o Douyin Index. Si puede escribir un analizador para cada uno, el SDK de Python de TikHub es un camino listo. La documentación es gruesa, pero cada página de endpoint está detallada. Segundo, si escribe en JavaScript, Go o Java, los SDK de TikHub ayudan poco, y en los dos lados acabará enviando HTTP. La diferencia es cuánto debe leer antes. Nuestro catálogo por plataforma ronda los 1870 tokens y le dice los campos de respuesta antes de llamar.
Tercero, si un agente de IA hará las llamadas, importan tres preguntas. ¿Puede consultar parámetros y precios antes? ¿Cuesta dinero una llamada equivocada? ¿Puede filtrar la clave en un archivo? En nuestra prueba, el 401 y el 422 no costaron nada y le dijeron al agente qué hacer. Nuestra línea de comandos también estima el coste antes de enviar. Las demos de TikHub dejan que un agente vea primero una respuesta real, y su 401 trae la cabecera estándar. Cuarto, quizá usted hará decenas de miles de llamadas diarias a un endpoint con descuento, o acepta un endpoint con precio pero sin documentación. En los dos casos el precio unitario de TikHub puede ser menor, así que haga sus cuentas con su lista de precios antes de decidir.
| Si este es su caso | Empiece por | Por qué |
|---|---|---|
| Python y endpoints muy concretos de Douyin o TikTok | SDK de Python de TikHub | La lista de endpoints más amplia y un SDK al día |
| JavaScript, Go o Java | HTTP directo en cualquiera de los dos; nuestro catálogo para los nombres de campo | No hay SDK desactualizado ni especificación gruesa que leer |
| Un agente de IA hace las llamadas | Nuestro servidor MCP o la línea de comandos | Catálogo gratuito, errores sin cobro, límites de coste |
| Decenas de miles de llamadas diarias a un endpoint con descuento | Lista de precios de TikHub | Su descuento diario puede ganar a nuestro precio |
Cambios recientes, de octubre a noviembre de 2026
- 2026-11-03: el openapi.json de TikHub tiene 1058 rutas, 2 más que el 2 de noviembre, y sigue marcado como V5.3.2. Qué significa para usted: si genera o sincroniza un SDK a partir de él, no use el número de versión para detectar cambios.
- 2026-11-01: salieron los SDK 0.3.0 de EveryInfra para Python y npm, y ese mismo día el catálogo pasó de 91 a 106 plataformas. Qué significa para usted: compare la lista de tipos del SDK con el catálogo en vivo; en nuestra prueba, esta versión coincidía.
- 2026-10-28: la protección de push de GitHub ya puede bloquear secretos detectados por IA. Es una vista previa pública, viene desactivada y solo está disponible para organizaciones con Secret Protection o Advanced Security. Qué significa para usted: una clave sin formato fijo ya puede pararse al hacer push, pero solo si la organización lo activa; en un repositorio personal sigue dependiendo de usted no subirla.
- 2026-10-20: la API de patrones personalizados del escaneo de secretos de GitHub devuelve ahora 422 en lugar de 500 ante argumentos no válidos, para que quien llama distinga un error suyo de un fallo del servidor. Qué significa para usted: con TikHub y con nosotros, escriba los reintentos igual: ante un 4xx corrija la petición, y reintente solo ante un 5xx. Los dos servicios usan 422 para parámetros incorrectos.
- 2026-10-13: GitHub explicó su nuevo modelo de detección de secretos. Primero unas reglas regex reúnen candidatos y después un modelo pequeño lee la ruta del archivo, los nombres de variables y el código cercano. La aceptación de los usuarios subió un 11,5 % y la mediana del tiempo de escaneo bajó un 86 %. Qué significa para usted: las claves sin prefijo fijo son cada vez más fáciles de detectar, pero la clave más segura sigue siendo la que nunca entra en el repositorio.
Preguntas frecuentes
Las preguntas salen de las sugerencias de búsqueda de Google para estas palabras clave y de hilos de foros, leídos el 3 de noviembre de 2026. Cada respuesta indica su fuente.
¿Dónde se crea la tikhub api key?
Entre en user.tikhub.io, abra el centro de usuario y cree un token en el menú API token. Los pasos están en la sección «Get API Token» del README de la documentación (sugerencias: «tikhub api key», «tikhub api token»). Confirme antes su correo, o las llamadas devolverán 403. Cada usuario puede crear hasta 100 claves. Las claves del proxy de IA de ai.tikhub.io son otro conjunto y no abren los endpoints de datos.
¿Qué diferencia hay entre el sitio tikhub api doc y Swagger?
Los dos muestran el mismo openapi.json (sugerencias: «tikhub api doc», «api tikhub io»). docs.tikhub.io tiene una página por endpoint y es lo mejor para consultar parámetros. api.tikhub.io es una página Swagger donde se pega un token para probar una llamada; péguelo sin el prefijo «Bearer». Ninguno de los dos enumera los campos de respuesta de la mayoría de endpoints, porque 1052 solo documentan el envoltorio genérico.
¿Qué SDK de tikhub github sigue funcionando?
El de Python (sugerencias: «tikhub github», «tiktok api python github»). Su versión 2.2.0 del 3 de octubre cubre el 99,2 % de los endpoints de hoy, aunque su README en español diga «100 %». Los SDK de TypeScript, Go, Java y C++ no cambian desde marzo de 2025, cubren el 32,3 % y contienen 245 métodos cuyos endpoints ya no están en la documentación. En esos lenguajes, HTTP directo es la opción más segura.
¿Cómo obtener la API key de TikTok?
Depende de qué datos quiera (sugerencias: «api key tiktok como obtener», «como obtener la api de tiktok»). La Display API de TikTok, actualizada el 4 de agosto de 2026, solo lee el perfil y los vídeos de un usuario que autorizó su aplicación. La Research API exige una solicitud de una institución de investigación que cumpla los requisitos. Para leer cuentas públicas y vídeos de otras personas hace falta una API de terceros, con su propia clave.
¿La API de TikTok es gratis?
Las API propias de TikTok tienen los límites de acceso de la pregunta anterior, y por eso no las comparamos por precio (sugerencia: «la api de tiktok es gratis»). Las API de terceros cobran por llamada y suelen dar una prueba pequeña. TikHub añade 0,05 USD al registrarse y nosotros damos 1 USD por dos estrellas en GitHub, válido 24 horas.
¿TikHub es fiable?
Un usuario de Reddit preguntó «Is TikHub AI legit» (hilo de r/Seedance_AI), y las respuestas no dieron una conclusión clara. La página de tutoriales de TikHub dice que solo ofrece datos públicos y que no es su dueña. Su política de reembolsos dice que las ventas son definitivas salvo que un endpoint de verdad no funcione. No juzgamos su cumplimiento normativo. Le sugerimos probar primero las demos y los 0,05 USD de crédito, y decidir después cuánto recargar.
Primeros pasos
- Busque la capacidad que necesita en el catálogo de capacidades o en el mercado de infraestructura, por ejemplo
tiktok/profile. Revise sus parámetros, campos de respuesta y precio. No hace falta clave. - Regístrese y cree una clave en la consola. La clave completa se ve una sola vez, así que guárdela en la variable de entorno
EVERYINFRA_API_KEY. - Envíe su primera petición con el ejemplo curl del inicio rápido de la documentación. También puede ejecutar
pip install everyinfray usar el SDK, o pegar la configuración MCP de arriba en su cliente. Mirebilling.charged_usden la respuesta. - Si recibe un 401 o un 422, lea primero
next_stepsen la respuesta. Para más plataformas, vea las páginas de TikTok, Douyin y Xiaohongshu, y la guía de configuración MCP.
Referencias
- Primeros pasos: tu primera llamada a la API en 4 pasos, TikHub, leído 2026-11-03, https://tikhub.io/es/getting-started
- Getting Started: First API Call in 4 Steps, TikHub, leído 2026-11-03, https://tikhub.io/getting-started
- Social Media API Tutorials and Code Examples, TikHub, leído 2026-11-03, https://tikhub.io/tutorials
- Pricing, TikHub, leído 2026-11-03, https://tikhub.io/pricing
- FAQ: Billing, Rate Limits and Platform Support, TikHub, leído 2026-11-03, https://tikhub.io/faq
- llms.txt, TikHub, leído 2026-11-03, https://tikhub.io/llms.txt
- llms-full.txt, TikHub, leído 2026-11-03, https://tikhub.io/llms-full.txt
- MCP Integration Guide, TikHub, leído 2026-11-03, https://tikhub.io/mcp
- Social Media API Reference, TikHub, leído 2026-11-03, https://tikhub.io/api-reference
- README - English, sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/4592766m0
- README (edición en chino), sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/4579297m0
- Getting Started (alta de comerciantes), sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/5432442m0
- llms.txt (índice del sitio de documentación), TikHub, leído 2026-11-03, https://docs.tikhub.io/llms.txt
- Get user profile (TikTok Web API), sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/186826057e0
- Demo: usuario fijo de TikTok, sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/337619232e0
- Get all endpoints information, sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/186826055e0
- About TikHub AI API, sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/7781112m0
- TikHub Refund Policy (actualizada 2026-07-20), sitio de documentación de TikHub, leído 2026-11-03, https://docs.tikhub.io/9453198m0
- openapi.json (V5.3.2), TikHub, leído 2026-11-03, https://api.tikhub.io/openapi.json
- Swagger UI, TikHub, leído 2026-11-03, https://api.tikhub.io/
- Endpoint de precios get_all_endpoints_info, TikHub, leído 2026-11-03, https://api.tikhub.io/api/v1/tikhub/user/get_all_endpoints_info
- Endpoint de demostración demo/tiktok/web/fetch_user_profile, TikHub, leído 2026-11-03, https://api.tikhub.io/api/v1/demo/tiktok/web/fetch_user_profile
- Lista de plataformas MCP, TikHub, leído 2026-11-03, https://mcp.tikhub.io/platforms
- Organización TikHub, GitHub, leído 2026-11-03, https://github.com/TikHub
- TikHub-API-Python-SDK, GitHub, leído 2026-11-03, https://github.com/TikHub/TikHub-API-Python-SDK
- README en español del SDK de Python, GitHub, leído 2026-11-03, https://github.com/TikHub/TikHub-API-Python-SDK/blob/main/README_ES.md
- Commit c4620078: sync SDK to live OpenAPI spec (1048 endpoints), GitHub, 2026-10-02, https://github.com/TikHub/TikHub-API-Python-SDK/commit/c4620078fa6930380c6c2a0a51597718c762e27a
- TikHub-API-TypeScript-SDK, GitHub, 2025-03-17, https://github.com/TikHub/TikHub-API-TypeScript-SDK
- TikHub-API-GoLang-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-GoLang-SDK
- TikHub-API-Java-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-Java-SDK
- TikHub-API-CPP-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-CPP-SDK
- TikHub-API-Demo, GitHub, 2024-12-02, https://github.com/TikHub/TikHub-API-Demo
- tikhub-plugin, GitHub, 2026-06-16, https://github.com/TikHub/tikhub-plugin
- tikhub-mcp-dist, GitHub, 2025-09-23, https://github.com/TikHub/tikhub-mcp-dist
- TikHub_n8n_Integration, GitHub, 2025-10-05, https://github.com/TikHub/TikHub_n8n_Integration
- TikHub-Multi-Functional-Downloader, GitHub, 2025-03-18, https://github.com/TikHub/TikHub-Multi-Functional-Downloader
- Spinneret, GitHub, 2026-11-02, https://github.com/TikHub/Spinneret
- tikhub_api_skill, GitHub, leído 2026-11-03, https://github.com/liangdabiao/tikhub_api_skill
- tikhub 2.2.0, PyPI, 2026-10-03, https://pypi.org/project/tikhub/
- @tikhubio/tikhub-api-ts-sdk, npm, leído 2026-11-03, https://www.npmjs.com/package/@tikhubio/tikhub-api-ts-sdk
- Catálogo de capacidades de EveryInfra, EveryInfra, leído 2026-11-03, https://api.everyinfra.com/api/v1/social/catalog
- Catálogo de capacidades, compact=1, EveryInfra, leído 2026-11-03, https://api.everyinfra.com/api/v1/social/catalog?compact=1
- OpenAPI 2.0.0 de EveryInfra, EveryInfra, leído 2026-11-03, https://api.everyinfra.com/openapi.json
- llms.txt de EveryInfra, EveryInfra, leído 2026-11-03, https://api.everyinfra.com/llms.txt
- everyinfra 0.3.0, PyPI, 2026-11-01, https://pypi.org/project/everyinfra/
- everyinfra 0.3.0, npm, 2026-11-01, https://www.npmjs.com/package/everyinfra
- everyinfra-agent-plugins, versión sdk-v0.3.0, GitHub, 2026-11-01, https://github.com/everyinfra/everyinfra-agent-plugins/releases/tag/sdk-v0.3.0
- everyinfra-agent-plugins, GitHub, leído 2026-11-03, https://github.com/everyinfra/everyinfra-agent-plugins
- RFC 6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage, IETF, 2012-10, https://datatracker.ietf.org/doc/html/rfc6750
- RFC 9110: HTTP Semantics, IETF, 2022-06, https://www.rfc-editor.org/rfc/rfc9110.html
- Especificación MCP: Transports (2026-07-28), Model Context Protocol, leído 2026-11-03, https://modelcontextprotocol.io/specification/2026-07-28/basic/transports
- Especificación MCP: Authorization (2026-07-28), Model Context Protocol, leído 2026-11-03, https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization
- The /llms.txt file, llmstxt.org, leído 2026-11-03, https://llmstxt.org/
- About secret scanning, GitHub Docs, leído 2026-11-03, https://docs.github.com/en/code-security/secret-scanning/introduction/about-secret-scanning
- Display API Overview (actualizada 2026-08-04), TikTok for Developers, https://developers.tiktok.com/doc/display-api-overview
- Research API: acceso y requisitos, TikTok for Developers, leído 2026-11-03, https://developers.tiktok.com/products/research-api/
- Guía para convertir toda una documentación de API en una skill de Claude Code (en chino), Juejin, leído 2026-11-03, https://juejin.cn/post/7595096774546096137
- Is TikHub AI legit and works?, Reddit r/Seedance_AI, leído 2026-11-03, https://www.reddit.com/r/Seedance_AI/comments/1u2gjmx/is_tikhub_ai_legit_and_works_seems_very_cheap_for/
- Supported secret scanning patterns, GitHub Docs, leído el 2026-11-03, https://docs.github.com/en/code-security/secret-scanning/introduction/supported-secret-scanning-patterns
- Push protection beyond predefined secret patterns, GitHub Changelog, 2026-10-28, https://github.blog/changelog/2026-10-28-push-protection-beyond-predefined-secret-patterns/
- Updates to GitHub secret scanning, GitHub Changelog, 2026-10-20, https://github.blog/changelog/2026-10-20-updates-to-github-secret-scanning/
- GitHub's model for secret detection: Finding more secrets with less noise, GitHub Blog, 2026-10-13, https://github.blog/ai-and-ml/githubs-model-for-secret-detection-finding-more-secrets-with-less-noise/
Referencia BL-77