

# Chronometrica vs Novi: campos de perfiles de TikTok y tarifas por eventos de Actor

Elige Chronometrica si los campos de su estructura plana de perfiles públicos cubren tus necesidades y te importan sus menores tarifas publicadas por eventos de Actor en el plan Free. Elige Novi si su objeto de usuario sin procesar, más amplio, aporta un campo obligatorio que el contrato de Chronometrica no puede proporcionar. Comprueba primero los campos obligatorios. Una tarifa por evento más baja no puede sustituir un dato necesario. Consulta el [contrato de Chronometrica](https://apify.com/chronometrica/tiktok-channel-scraper) y el [contrato de Novi](https://apify.com/novi/tiktok-user-info-api).

Chronometrica publica esta comparación y desarrolla el Actor de Chronometrica. Un Actor es un programa de recopilación de datos alojado en un servidor. Esta guía usa contratos públicos y registros de precios de la API comprobados el 20 de octubre de 2026. La recomendación usa las tarifas publicadas del plan Free. Estas tarifas no determinan una factura total ni demuestran una ventaja de rendimiento. Consulta el [registro de precios de Chronometrica](https://api.apify.com/v2/acts/chronometrica~tiktok-channel-scraper) y el [registro de precios de Novi](https://api.apify.com/v2/acts/novi~tiktok-user-info-api).

La pregunta pública que motiva esta guía trata sobre elegir entre un scraper propio y un servicio de perfiles públicos de TikTok. También plantea la estabilidad del servicio. No pregunta por el servicio más barato. Consideramos las tarifas por eventos como una parte de esa decisión. Esta comparación no mide la estabilidad. [Debate público](https://www.reddit.com/r/DevOpsLinks/comments/1vgwqze/what_do_you_think_works_for_pulling_public_tiktok/)

Para un desarrollador que ya tiene una lista de perfiles públicos, el orden útil es sencillo. Define los datos necesarios, comprueba cada contrato de salida y después calcula un modelo de tarifas con fecha. Un contrato de salida describe los campos que proporciona un servicio y su significado.

## Empieza por los campos que necesita tu aplicación

Anota qué debe hacer la aplicación con cada perfil. Después, indica los campos que permiten esa acción. Así, la comparación responde a un requisito claro.

En un directorio de perfiles ficticio, los campos obligatorios podrían ser el nombre de usuario, el nombre visible, la URL del perfil, la descripción y el número de seguidores. Un proceso que actualiza registros almacenados también podría necesitar campos de identidad, una fecha y hora de observación y un estado claro. Estos requisitos son ejemplos. No demuestran que ambos servicios proporcionen los mismos valores.

Separa los campos obligatorios de los campos adicionales útiles. La ausencia de un campo obligatorio impide una acción necesaria. Un campo adicional aporta contexto, pero su ausencia no impide esa acción. Haz esta distinción antes de mirar la diferencia de tarifas. De lo contrario, un precio bajo puede hacer que un resultado incompleto parezca suficiente.

Para cada campo obligatorio, registra 3 aspectos:

1. Significado: ¿Qué dato debe representar el campo?
2. Regla de aceptación: ¿Qué valores puede usar la aplicación?
3. Regla para valores ausentes: ¿Qué debe ocurrir cuando se desconoce el dato?

No te bases solo en los nombres de los campos. 2 campos con nombres similares pueden representar datos distintos o usar formatos diferentes. Comprueba el significado documentado antes de asignar cualquiera de esos campos a un registro almacenado.

Define también qué cuenta como un resultado útil. Tu aplicación podría exigir una identidad de perfil confirmada y todos los campos obligatorios. También podría aceptar un registro parcial si su estado explica la información ausente. Ambas reglas pueden ser válidas. Fija la regla antes de comparar el número de resultados.

Relaciona el requisito con su finalidad. Si la aplicación necesita encontrar una coincidencia con un registro existente, identifica el campo que usa para hacerlo. Si necesita mostrar un recuento, define cómo mostrará un valor desconocido o de precisión limitada. Así, la comprobación posterior será lo bastante clara para poder repetirla.

## Comprueba los campos obligatorios en ambos contratos de salida

La salida de perfiles documentada de Chronometrica incluye `input`, `channelId`, `secUid`, `shortId`, `channelUrl`, `handle`, `displayName`, `description`, `bioLink`, recuentos públicos, `countPrecision`, `status`, `statusReason` y `observedAt`. Recopila perfiles. No recopila el historial de publicaciones ni listas de seguidores. [Contrato de salida de Chronometrica](https://apify.com/chronometrica/tiktok-channel-scraper)

Esta salida plana es adecuada si esos datos de perfil y su contexto cumplen tus requisitos. Una salida plana proporciona directamente los campos indicados. Comprueba si cada dato obligatorio tiene un lugar documentado en esa salida. El número de campos disponibles no basta para responder a esa pregunta.

Novi acepta entradas con nombre de usuario, ID de usuario y URL, y devuelve un objeto de usuario sin procesar más amplio. Un objeto sin procesar conserva una estructura más amplia de la fuente. Verifica el campo obligatorio exacto y su significado. [Contrato de Novi](https://apify.com/novi/tiktok-user-info-api), [esquema de entrada de Novi](https://apify.com/novi/tiktok-user-info-api/input-schema)

Una salida más amplia puede ser necesaria para un requisito concreto. También exige identificar qué partes usará la aplicación. El tamaño de la salida no demuestra por sí solo que los resultados sean mejores para tu lista.

Si la documentación no aclara un campo obligatorio, regístralo como una cuestión sin resolver. Que un campo no esté documentado no demuestra que el servicio carezca de él. Un nombre de campo similar no demuestra una coincidencia. Resuelve esa cuestión antes de usar las tarifas para elegir el servicio.

Mantén una tabla breve de correspondencias entre campos. Coloca el campo de tu aplicación junto al campo documentado de la fuente, su significado y su regla de aceptación. Usa esta tabla cuando revises un resultado pequeño. Te dará una base clara para aceptar la salida o investigar una carencia.

## Conserva el contexto que hace útil un perfil

Un valor de perfil necesita contexto. Guarda cuándo se observó y si el resultado fue lo bastante completo para tu uso. Chronometrica proporciona `observedAt`, `status`, `statusReason` y `countPrecision`. Aplica sus significados documentados al cargar los datos del perfil. [Contrato de Chronometrica](https://apify.com/chronometrica/tiktok-channel-scraper)

Distingue un recuento ausente de un recuento de 0. El 0 indica que el recuento es 0. Un valor ausente indica que el recuento se desconoce. Sustituir un valor desconocido por 0 puede cambiar un informe, un filtro o una alerta sin pruebas que lo justifiquen.

Conserva también la precisión del recuento. La precisión describe hasta qué punto un valor es exacto. Si un recuento tiene una precisión limitada, no lo muestres como una medición exacta. Mantén la información de precisión disponible para la parte de la aplicación que muestra o compara el recuento.

Decide cómo afectan los resultados parciales a los registros almacenados. Una posible regla de la aplicación es conservar un valor anterior conocido cuando el último intento no lo confirma. Si usas esa regla, conserva la fecha y hora de observación del valor anterior. No hagas que un dato antiguo parezca recién observado.

Mantén también el estado del último intento separado de la observación anterior. Así, la aplicación podrá distinguir un valor conocido del pasado de un valor confirmado por la última recopilación. Tu regla para valores ausentes debe explicar cuál puede usar la aplicación.

Un valor de región de la cuenta, si lo usas, no demuestra dónde vive una persona. Define el dato que necesita tu aplicación antes de decidir si un campo de la fuente lo respalda.

Estas reglas afectan a la utilidad de un resultado. No basta con tener los nombres de campo correctos si la aplicación no puede distinguir un dato reciente de un valor sin resolver. La guía relacionada sobre [el estado de acceso a perfiles de TikTok y los valores ausentes](/es/articles/estado-de-acceso-del-perfil-de-tiktok/) explica este problema con más detalle.

## Usa las tarifas por eventos de Actor más recientes que estén en vigor

Los 2 registros públicos de la API comprobados usan `PAY_PER_EVENT`. Este modelo de precios enumera tarifas para eventos con nombre. Un evento es una acción facturable identificada en el registro de precios. Selecciona el registro `startedAt` más reciente que esté en vigor, en lugar de la primera entrada histórica. Usa el mismo nivel de plan para ambos Actors.

El registro vigente comprobado de Chronometrica entró en vigor en `2026-07-16T22:51:35.105Z`. En el plan Free, indica $0.0015 por perfil útil. Su lista actual de eventos no contiene ningún evento de inicio de Actor. [Precios de Chronometrica en la API pública](https://api.apify.com/v2/acts/chronometrica~tiktok-channel-scraper)

El registro vigente comprobado de Novi entró en vigor en `2026-08-16T17:08:03.534Z`. En el plan Free, indica $0.0055 por resultado más $0.001 por inicio. [Precios de Novi en la API pública](https://api.apify.com/v2/acts/novi~tiktok-user-info-api)

Estos registros se comprobaron el 20 de octubre de 2026. El README de Chronometrica contiene precios antiguos que difieren de su registro de la API. Esta comparación usa las tarifas de la API con fecha indicadas arriba. No mezcles entradas históricas con tarifas vigentes.

Llama al importe calculado «tarifas por eventos de Actor». Excluye el uso de la plataforma de este cálculo limitado. El resultado no debe etiquetarse como una factura total.

Registra el nombre del evento, la unidad, la tarifa, el nivel de plan, la fecha y hora de entrada en vigor y la fecha de comprobación. Así se podrá revisar el cálculo. Antes de usarlo para una decisión actual, vuelve a comprobar los registros más recientes que estén en vigor. Si cambia una tarifa, actualiza el cálculo.

## Un ejemplo ficticio con los cálculos comprobados

Este es un modelo de tarifas ficticio. No es una factura observada, una prueba comparativa ni un resultado de un cliente. Supón que cada Actor devuelve exactamente 100 perfiles útiles que cumplen los requisitos en el plan Free. Supón que no hay otros eventos de resultado. Solo cambia el número de ejecuciones entre las 2 filas.

| Carga de trabajo ficticia | Tarifas por eventos del Actor de Chronometrica | Tarifas por eventos del Actor de Novi | Diferencia |
| --- | --- | --- | --- |
| 100 resultados útiles, 1 ejecución | 100 × $0.0015 = $0.150 | (100 × $0.0055) + (1 × $0.001) = $0.551 | $0.401 |
| 100 resultados útiles, 5 ejecuciones | 100 × $0.0015 = $0.150 | (100 × $0.0055) + (5 × $0.001) = $0.555 | $0.405 |

La tabla usa las [tarifas de la API de Chronometrica](https://api.apify.com/v2/acts/chronometrica~tiktok-channel-scraper) y las [tarifas de la API de Novi](https://api.apify.com/v2/acts/novi~tiktok-user-info-api) con las fechas indicadas. Incluye el evento de inicio publicado. Los 3 decimales permiten ver ese cargo.

Para 1 ejecución, $0.551 − $0.150 = $0.401. Para 5 ejecuciones, $0.555 − $0.150 = $0.405. Ambas diferencias describen solo las tarifas por eventos de Actor.

La igualdad en el número de resultados útiles es un supuesto. No es un resultado medido. Introducir 100 perfiles no demuestra que ninguno de los servicios vaya a devolver 100 registros útiles según tus reglas de aceptación. Por tanto, la tabla no demuestra un ahorro real para una lista que no se ha probado.

Decide primero si los campos cumplen los requisitos antes de usar la diferencia. Si ambos contratos cumplen los requisitos, este modelo aporta un dato válido y limitado sobre las tarifas. Si solo uno proporciona un campo obligatorio, elige primero en función de ese requisito.

El número de ejecuciones también forma parte del modelo. El mismo número de resultados útiles puede repartirse entre distintas cantidades de ejecuciones. Indica ambas cantidades para que otro desarrollador pueda reproducir el cálculo sin tener que adivinar cómo recopilaste los perfiles.

## Comprueba 1 campo obligatorio con una entrada pequeña de datos públicos

Empieza por el campo con más probabilidades de cambiar tu elección. Podría ser el valor de identidad usado para vincular un perfil con tu base de datos. Podría ser un recuento cuyo comportamiento ante valores ausentes afecta a un informe. Define la condición de aceptación antes de recopilar datos.

El esquema documentado de Chronometrica acepta `startUrls`. Un esquema describe los campos de entrada aceptados. Lo siguiente es un ejemplo del esquema actual, no una ejecución de pago ni un resultado verificado en vivo. Sustituye la URL por un perfil público pertinente antes de usarlo. Este ejemplo no demuestra que la fuente esté disponible actualmente. [Esquema de entrada de Chronometrica](https://apify.com/chronometrica/tiktok-channel-scraper/input-schema)

```json
{
  "startUrls": [
    "https://www.tiktok.com/@mrbeast"
  ]
}
```

Comprueba 1 campo obligatorio con una entrada pequeña de datos públicos

Una Task es una configuración de entrada guardada. La [Task pública de la API de datos de perfiles de TikTok](https://apify.com/chronometrica/tiktok-channel-scraper/examples/tiktok-profile-data-api-dataset), que se ha comprobado, proporciona una referencia de entrada. Una configuración guardada no demuestra qué resultado producirá el perfil que elijas.

Cuando revises un resultado pequeño, usa la tabla de correspondencias entre campos que preparaste:

1. Confirma que el resultado corresponde al perfil previsto.
2. Comprueba el significado, el formato y el valor utilizable del campo obligatorio.
3. Revisa el estado y la fecha y hora de observación.
4. Conserva la precisión del recuento cuando corresponda.
5. Registra los valores desconocidos como desconocidos.

Si el campo sigue sin resolverse, identifica qué queda por aclarar. Podría ser el significado documentado, el valor devuelto o la regla de aceptación de tu aplicación. Conserva esa distinción en el registro de la decisión. Así evitarás que un requisito poco claro se convierta en una afirmación sobre el servicio.

Una comprobación satisfactoria justifica el siguiente paso pequeño. No demuestra que todos los perfiles vayan a dar un resultado satisfactorio. Amplía la lista después de que el resultado aporte las pruebas que necesita tu aplicación. Conserva la tabla de correspondencias entre campos aceptada para poder revisar los cambios posteriores con los mismos requisitos.

## Toma la decisión en 6 pasos

1. Define los datos necesarios. Enumera los campos de perfil obligatorios, los formatos aceptables y las reglas para valores ausentes. Indica qué hace útil un resultado.
2. Establece las correspondencias de ambos contratos. Relaciona cada dato obligatorio con la salida documentada. Resuelve las diferencias de significado antes de comparar cantidades.
3. Fija las entradas del modelo. Registra el número de resultados útiles, el número de ejecuciones y el mismo nivel de plan para ambos servicios. Etiqueta las cantidades supuestas como ficticias.
4. Comprueba los precios actuales. Selecciona el registro de la API más reciente que esté en vigor. Enumera cada evento de resultado y de inicio aplicable con su tarifa, unidad y fecha de comprobación.
5. Calcula las tarifas por eventos de Actor. Multiplica el número de veces que ocurre cada evento por su tarifa y después suma los importes. Excluye el uso de la plataforma de la cifra indicada.
6. Verifica el campo obligatorio. Revisa un resultado pequeño y pertinente. Conserva los valores desconocidos y el contexto de observación antes de ampliar la lista.

El registro de la decisión puede ser breve. Necesita los campos obligatorios, las preguntas sin resolver, los enlaces a las pruebas, las tarifas con fecha, los supuestos y el cálculo. Otro desarrollador debería poder revisar la elección y actualizarla sin reconstruir tu razonamiento.

Elige primero el contrato que proporciona los campos obligatorios. Después, usa el cálculo de tarifas como un factor de decisión. Mantén sin resolver la estabilidad, el tiempo de ejecución y el éxito de la extracción, salvo que existan pruebas independientes que respondan a esas preguntas.

## Empieza con Chronometrica si sus campos cubren tus necesidades

Para una lista conocida de perfiles públicos que encaje con su salida plana, elige [Chronometrica TikTok Channel Scraper](https://apify.com/chronometrica/tiktok-channel-scraper). Su contrato comprobado y sus menores tarifas publicadas por eventos de Actor en el plan Free respaldan esa elección. Verifica 1 campo de salida obligatorio con una entrada pequeña y pertinente de datos públicos antes de ampliar la lista.

Elige Novi si su objeto de usuario sin procesar más amplio proporciona un campo obligatorio que el contrato de Chronometrica no puede proporcionar. Aclara la disponibilidad de los campos dudosos antes de tomar esa decisión. Una tarifa publicada por evento de Actor más baja no puede sustituir un dato necesario.

## Fuentes y lecturas adicionales

- [Chronometrica TikTok Channel Scraper: contrato público de salida de perfiles; comprobado el 20 de octubre de 2026, compilación 0.1.27; documenta los campos de perfil y el contexto de observación, no la recopilación del historial de publicaciones ni de listas de seguidores.](https://apify.com/chronometrica/tiktok-channel-scraper)
- [Esquema de entrada de Chronometrica TikTok Channel Scraper: comprobado el 20 de octubre de 2026; documenta startUrls; la entrada del artículo ilustra el esquema actual y no demuestra la disponibilidad de la fuente ni un resultado verificado en vivo.](https://apify.com/chronometrica/tiktok-channel-scraper/input-schema)
- [Registro de precios de la API pública de Chronometrica: comprobado el 20 de octubre de 2026; el registro más reciente en vigor comenzó en 2026-07-16T22:51:35.105Z; Free indica $0.0015 por perfil útil y ningún evento de inicio de Actor; las tarifas de la API difieren de los precios antiguos del README; solo tarifas por eventos de Actor, sin incluir el uso de la plataforma.](https://api.apify.com/v2/acts/chronometrica~tiktok-channel-scraper)
- [Novi TikTok User Info API: contrato público comprobado el 20 de octubre de 2026, compilación 0.1.90; devuelve un objeto de usuario sin procesar más amplio; es necesario verificar los campos obligatorios concretos, y la disponibilidad de campos no documentados sigue sin resolverse.](https://apify.com/novi/tiktok-user-info-api)
- [Esquema de entrada de Novi TikTok User Info API: comprobado el 20 de octubre de 2026; acepta entradas con nombre de usuario, ID de usuario y URL; admitir esas entradas no demuestra que las salidas cumplan los requisitos para ser útiles.](https://apify.com/novi/tiktok-user-info-api/input-schema)
- [Registro de precios de la API pública de Novi: comprobado el 20 de octubre de 2026; el registro más reciente en vigor comenzó en 2026-08-16T17:08:03.534Z; Free indica $0.0055 por resultado más $0.001 por inicio; solo tarifas por eventos de Actor, sin incluir el uso de la plataforma.](https://api.apify.com/v2/acts/novi~tiktok-user-info-api)
- [Task pública de la API de datos de perfiles de TikTok: comprobada en las pruebas públicas suministradas el 20 de octubre de 2026; configuración de entrada guardada usada como referencia de entrada, no como prueba de la disponibilidad actual del perfil ni de los datos devueltos.](https://apify.com/chronometrica/tiktok-channel-scraper/examples/tiktok-profile-data-api-dataset)
- [Debate público sobre servicios de recopilación de perfiles de TikTok: pruebas de la fuente revisadas para esta comparación con fecha del 20 de octubre de 2026; pregunta por los servicios de recopilación y su estabilidad, no por el servicio más barato; respalda la pregunta del lector, no una preferencia de precio medida ni una afirmación de estabilidad.](https://www.reddit.com/r/DevOpsLinks/comments/1vgwqze/what_do_you_think_works_for_pulling_public_tiktok/)