Informe técnico · 9 de octubre de 2026
¿Apify o scrapers propios?
Cómo obtener datos de YouTube, Instagram, Facebook, X y TikTok para un termómetro de conversación por ciudad y para el seguimiento de creadores, sin que el cliente tenga que pagar un ingeniero de datos de tiempo completo.
Comprar los datos y poner la ingeniería en el procesamiento
La recomendación es combinar dos fuentes: la API oficial de YouTube, que es gratis, y Apify para Instagram, Facebook y TikTok (con actores mantenidos por la propia Apify) y para X (con el actor de un socio). Así el consumo queda en unos USD 150 al mes, dentro de un presupuesto de USD 2.400 al año. Si el cliente quiere respuestas de X y menos riesgo en esa red, se agrega la API oficial de X por unos USD 84 más al mes. La orquestación, el lago medallón, el NLP y la web app viven en la cuenta Cloudflare del cliente. No conviene construir scrapers propios.
- Lo que paga el cliente cada mes es casi todo datos. Con 100.000 registros, la opción recomendada consume unos USD 150 al mes: unos USD 138 en proveedores, USD 5 en NLP y USD 7 en Cloudflare. El almacenamiento en R2 no llega a USD 1 en el primer año. Mantener scrapers propios exige de 40 a 85 horas de ingeniero al mes, que llegan como emergencias, justo el soporte que el cliente no va a pagar.
- Las redes no se rompen por el HTML. Se rompen por bloqueos de autenticación y anti-bots. De 205 incidencias reportadas en instaloader desde 2025, 89 mencionan bloqueos (errores 401, 403 o 429) y solo 17 mencionan errores de lectura. Una autorreparación con LLM solo cubre esa minoría.
- Cloudflare sirve para todo menos para recolectar. No vende proxies móviles, sus Workers salen por IPs de datacenter y se identifican en cada petición. Usarlo para scraping pondría en riesgo la cuenta que aloja el lago de datos.
- Apify absorbe las roturas. En 2026 sus actores oficiales de Instagram, Facebook y TikTok se repararon en 1 a 9 días sin trabajo del cliente, con más del 99 % de corridas exitosas.
- Comprar no traslada la responsabilidad legal. Los términos de Apify la dejan en el cliente. Lo que sí reduce el riesgo es recolectar solo datos públicos sin iniciar sesión, usar APIs oficiales donde existen y seudonimizar a los autores de comentarios.
El pedido, reescrito
El pedido original mezclaba la pregunta de fondo (comprar o construir) con decisiones de diseño. Se reescribió para que tenga criterios de decisión medibles y supuestos explícitos. Sobre esta versión trabajó toda la investigación.
- Interpretaciones: «Archify» es Archify, la herramienta de diagramas con la que están hechos los diagramas de flujo de este informe. Una primera lectura lo tomó como Apify, que de todos modos es una de las opciones evaluadas. La «Y» de la lista de redes se leyó como TikTok. El cliente se asumió en Colombia, con contenido en español.
- Restricción dominante: el mantenimiento a largo plazo pesa más que el costo unitario (35 % frente a 25 % en la matriz de decisión).
- Hipótesis a validar: YouTube casi gratis, Meta y X caros, proxies móviles comprados en Cloudflare y autorreparación con LLM.
Lo que encontró la investigación
Las seis ideas de partida, contrastadas con fuentes primarias consultadas el 9 de octubre de 2026.
Confirmada, con condiciones
No tiene costo monetario. La cuota por defecto es de 10.000 unidades al día y leer videos, canales o comentarios cuesta 1 unidad por llamada (50 a 100 ítems). Desde junio de 2026 las búsquedas tienen una bolsa propia de 100 llamadas al día, es decir, unos 5.000 resultados. Con 100.000 registros al mes se usa menos del 1 % de la cuota.
Hay dos condiciones que cambian el diseño del lago. Las políticas solo permiten guardar datos públicos 30 días y prohíben calcular métricas derivadas o comparar canales, salvo que Google apruebe la enmienda «Analytics & Reporting» (vigente desde el 1 de junio de 2026). Con esa enmienda se pueden guardar métricas y sentimiento 36 meses, pero el texto de los comentarios sigue con límite de 30 días. Además, quien usa la API no puede consumir datos de YouTube obtenidos por scraping, así que YouTube no debe pasar por Apify.
Parcial
X pasó en febrero de 2026 a pago por uso: USD 5 por 1.000 publicaciones leídas y USD 10 por 1.000 perfiles. Es entre 12 y 33 veces más caro que un scraper (USD 0,15 a 0,40 por 1.000), pero con 15.000 registros al mes son unos USD 80. A cambio es estable, legal e incluye respuestas, que el actor principal de Apify para X no captura.
Meta no cobra, pero restringe. Business Discovery da seguidores, publicaciones, likes, comentarios y vistas de cuentas profesionales, aunque no el texto de los comentarios. No existe búsqueda de publicaciones de Facebook por palabra clave. La búsqueda por hashtag de Instagram permite 30 hashtags por semana y solo devuelve contenido de las últimas 24 horas. Meta Content Library es solo para investigadores académicos.
TikTok no ofrece nada útil para un cliente comercial en Colombia: su Research API es solo académica y para ciertas regiones.
Refutada
Cloudflare no vende proxies residenciales ni móviles. Sus IPs dedicadas de salida son de sus centros de datos y solo existen en planes Enterprise. Los Workers salen por la red de Cloudflare (AS13335, clasificada como hosting), añaden la cabecera CF-Worker con la zona del dueño en cada petición y fetch() no admite proxies. Browser Run (antes Browser Rendering) se identifica siempre como bot, con cabeceras y firmas que no se pueden quitar.
Los términos de la plataforma de desarrolladores permiten suspender el servicio por violar términos de terceros. Si se hace scraping desde la misma cuenta, el lago y la web app del cliente quedan expuestos.
Mayormente falsa
La autorreparación con LLM funciona para cambios de diseño en HTML público. Las redes sociales casi nunca fallan por eso. Fallan porque rotan los IDs de las consultas GraphQL (twscrape tuvo 5 actualizaciones de IDs entre junio y agosto de 2026), cambian las firmas de las peticiones (x-client-transaction-id en X, msToken y X-Gnarly en TikTok), ponen muros de login o bloquean IPs y cuentas.
Ni el proveedor más avanzado en esto (Kadoa) pasa del 85 % de incidentes resueltos sin intervención humana. Además, Bright Data ya incluye la autorreparación gratis en su Scraper Studio. Donde el LLM sí aporta es aguas abajo: mapear esquemas que cambian, clasificar sentimiento y temas, e inferir la ciudad.
Confirmada si se construye
La evidencia de repositorios y changelogs indica entre 4 y 15 roturas graves al año por red. Los tiempos de reparación van de un día a nunca: snscrape (X) murió en 2023, twikit está inutilizable desde marzo de 2026 y facebook-scraper no se actualiza desde 2022. La tabla de abajo resume la evidencia por red.
Parcial
Los términos de Apify dicen que el cliente es «el único responsable de la legalidad» de los datos, que debe indemnizar a Apify y que la responsabilidad de Apify se limita a lo pagado. Comprar no traslada el riesgo. Sí lo reduce en la práctica, porque los actores oficiales de Apify recolectan solo datos públicos sin iniciar sesión. En Meta v. Bright Data (enero de 2024) un tribunal federal de EE. UU. falló que los términos de Meta no cubren ese tipo de recolección.
Un scraper propio con cuentas y proxies que evaden anti-bots carga más riesgo. En Reddit v. SerpApi (julio de 2026) un tribunal consideró plausible que eludir sistemas anti-bot viole la DMCA. Los detalles de la Ley 1581 están en la sección legal.
Roturas por red: construir frente a comprar
| Red | Roturas al año si se construye | Causa típica | Con proveedor |
|---|---|---|---|
| 4–8 | Rotación de doc_id de GraphQL, bloqueos 401/403/429, huella de TLS. instaloader tardó 47 días en publicar el arreglo de mayo de 2026. | Apify: 8 arreglos en 2025 y 4 en 2026, absorbidos por el proveedor. La recolección por URL de ubicación sigue rota desde julio de 2026. | |
| X | 5–10 | IDs de operación GraphQL, firma x-client-transaction-id, muro de login, baneo de cuentas. | Ningún actor de X es mantenido por Apify: los principales son de un socio (API Dojo) y varios otros fueron retirados. La API oficial cambia, pero con aviso en su changelog. |
| TikTok | 8–15 | Firmas msToken y X-Gnarly que exigen navegador real; bloqueo de proxies por país, incluidos los de Brasil. | Apify (Clockworks): unos 15 arreglos causados por TikTok en 2025, todos absorbidos por el proveedor. |
| 6–10 | Cambios de endpoints y secciones que pasan detrás del login. | Apify: unos 9 arreglos en 2025; solo páginas públicas. | |
| YouTube | 10+ (0–1 con API) | PO tokens de BotGuard y un runtime de JavaScript obligatorio. yt-dlp recibió 122 incidencias de YouTube en 2025. | API oficial: cambios anunciados en su historial de revisiones. |
Las roturas al año son estimaciones construidas a partir de issues de GitHub, historiales de versiones y changelogs de actores. No hay mediciones independientes publicadas para redes sociales.
Proveedores y precios
Cada precio indica cuánto se obtiene por ese valor. Un «resultado» es un ítem devuelto: una publicación, un comentario o un perfil. Precios en USD leídos en las páginas oficiales el 9 de octubre de 2026.
| Opción | Redes | Precio | Quién repara | A favor | En contra |
|---|---|---|---|---|---|
| API oficial de YouTube | YouTube | Gratis. 10.000 unidades al día: cada lectura de videos, comentarios o canales gasta 1 unidad y trae hasta 50 ítems, es decir, hasta unos 500.000 ítems al día. Aparte, 100 búsquedas al día de hasta 50 resultados cada una: unos 5.000 resultados de búsqueda al día. | Google, con cambios anunciados | Estable y legal; métricas y comentarios | Texto: 30 días. Métricas por más de 30 días y comparación entre canales solo con la enmienda auditada |
| API oficial de X | X | USD 5 por 1.000 publicaciones leídas (200 por USD 1). USD 10 por 1.000 perfiles (100 por USD 1). Tope de 3 millones de publicaciones leídas al mes, unos USD 15.000. | X, con changelog | Legal; trae respuestas y operadores geográficos | Cambió varias veces en 2026; la búsqueda reciente cubre 7 días |
| Apify, actores mantenidos por Apify | Instagram, Facebook, TikTok (y YouTube) | Instagram: USD 1,50–2,30 por 1.000 publicaciones, comentarios o perfiles (435 a 667 por USD 1). Facebook: USD 4 por 1.000 publicaciones (250 por USD 1), USD 2 por 1.000 comentarios (500 por USD 1) y USD 8,20 por 1.000 páginas (unas 122 por USD 1). TikTok: USD 2 por 1.000 videos (500 por USD 1) y USD 1 por 1.000 comentarios (1.000 por USD 1). Plan Starter de USD 19 al mes; el simulador lo toma como consumo mínimo mensual. | Apify | Más del 99 % de corridas exitosas; arreglos en 1 a 9 días; búsqueda por hashtag y palabra clave | Sin SLA en planes de autoservicio; ubicación de IG rota desde julio de 2026; corridas «exitosas» vacías |
| Apify, actores de socios para X (API Dojo) | X | USD 0,40 por 1.000 tuits (2.500 por USD 1) y USD 0,25 por 1.000 respuestas con un actor aparte (4.000 por USD 1). Perfiles: unos USD 4,40 por 1.000 (unos 227 por USD 1). | Un socio de Apify, no Apify | Muy barato | Sin changelog, varios retirados, no captura respuestas, prohíbe monitoreo frecuente |
| Bright Data | Las cinco | USD 1,50 por 1.000 registros de cualquier tipo (unos 667 por USD 1). Con el plan Scale de USD 499 al mes baja a USD 1,30 por 1.000, unos 384.000 registros incluidos. Los primeros 5.000 registros de cada mes son gratis. | Bright Data, con SLA del 99,9 % | SLA escrito; el mejor historial en tribunales | No busca por palabra clave en Instagram, X ni publicaciones de Facebook |
| ScrapeCreators + twitterapi.io | Las cinco | USD 1,88 por 1.000 requests; el paquete de USD 47 da 25.000 requests. Cada request trae unas 12 publicaciones o 15 comentarios, así que sale a unos USD 0,13–0,40 por 1.000 resultados (2.500 a 7.700 por USD 1). Un perfil gasta 1 request completo: USD 1,88 por 1.000 perfiles. | Una empresa de unas 3 personas | El más barato; créditos que no vencen; búsqueda de perfiles entre redes | 35 incidentes en 15 meses; riesgo de continuidad; sin SLA |
| EnsembleData | IG, TikTok, YouTube, X parcial | USD 100 a 1.400 al mes. Cada plan da un número fijo de unidades por día y cada llamada gasta unidades según el endpoint. Las unidades no usadas se pierden al día siguiente. La investigación no verificó cuántos resultados trae cada plan. | Proveedor activo desde 2020 | Trayectoria | Sin Facebook; las unidades no se acumulan |
| Data365 | 1 a 7 redes | €300 al mes por red, o €850 al mes por tres redes. El volumen incluido se define en el contrato y no está publicado. | Proveedor activo desde 2018 | Clientes empresariales | Caro para este volumen |
| Brand24 (social listening) | Las cinco, vía APIs oficiales | USD 599 al mes por hasta 100.000 menciones (unos USD 6 por 1.000, unas 167 por USD 1). Sacar los datos por API cuesta USD 149 al mes adicionales. | Brand24 | Tablero y alertas listos | No exporta texto de Instagram ni Facebook; no sirve para seguir creadores; cobertura por ciudad no documentada |
| Brandwatch, Meltwater, Talkwalker | Las cinco | USD 13.000 a 50.000 al año (medianas de compra en Vendr). Contrato anual; el volumen de menciones y exportaciones se negocia y no está publicado. | Proveedor | Filtro por ciudad (Brandwatch) | Caros; exportación restringida (de X solo entregan IDs) |
| Modash, Influencers.club | IG, TikTok, YouTube (y X en Influencers.club) | Modash Raw API desde USD 10.000 al año. Influencers.club desde USD 208 al mes, más créditos por cada perfil consultado. La investigación no verificó cuántos perfiles incluye cada plan. | Proveedor | Datos de audiencia sin mantenimiento | Caros para este alcance; Facebook débil |
| Construcción propia | Las cinco | Proxies móviles de USD 3 a 7,50 por GB. Con reintentos, 1 GB alcanza para unos 40.000 comentarios o unas 1.000 publicaciones. Además, unos USD 150 al mes fijos en cuentas, cómputo y CAPTCHAs. | El cliente | Control total | 40 a 85 h/mes de ingeniería; riesgo legal alto |
Fuente recomendada por red
| Red | Fuente principal | Respaldo configurado | Nota |
|---|---|---|---|
| YouTube | API oficial | Ninguno | No mezclar con datos obtenidos por scraping: las políticas de la API lo prohíben. |
| X | Actor de Apify (apidojo) | twitterapi.io; API oficial si el presupuesto crece | No trae respuestas. Si se pasa a la API oficial (unos USD 84 más al mes), fijar un tope de gasto en la consola: tras la migración el límite por defecto es de USD 5.000. |
| Apify: hashtag, perfil, publicaciones y comentarios | Bright Data, por handle o URL | No depender de las URLs de ubicación mientras siga abierta la incidencia de julio de 2026. | |
| Apify: páginas, publicaciones y comentarios | Bright Data | Páginas públicas; los perfiles personales devuelven pocos datos. Para el termómetro, la búsqueda nativa de publicaciones del actor facebook-search-scraper (desde septiembre de 2026, USD 5 por 1.000). | |
| TikTok | Apify (Clockworks): perfil, hashtag y comentarios | apidojo TikTok o Bright Data | TikTok bloqueó proxies por país en 2025–2026, incluidos los de Brasil. |
Simulador de consumo mensual
Cuánto le cuesta al cliente mantener el sistema funcionando cada mes: lo que cobran los proveedores de datos, el NLP, Cloudflare y el almacenamiento en R2. No incluye el desarrollo ni las horas de soporte en dólares. Las horas se muestran aparte, como referencia, para que las valores tú.
Cada escenario asigna una fuente a cada red. El precio de cada proveedor varía dentro de su rango de incertidumbre, simulado con 1.500 iteraciones en el navegador. El almacenamiento crece mes a mes porque el lago acumula datos.
Consumo mensual: mediana y rango P10–P90
De qué se compone el consumo de un mes
| Escenario | Puntaje | USD/mes P50 (P10–P90) | USD/año | Acumulado | Presupuesto | Soporte h/mes | Días-red sin datos/año |
|---|
Consumo mes a mes
| Mes | Registros | Datos | NLP | Cloudflare y R2 | Total del mes | Acumulado |
|---|
Consumo mensual según el volumen
| Escenario | 100.000/mes | 250.000/mes | 500.000/mes | 1.000.000/mes |
|---|---|---|---|---|
| YouTube y X oficiales + Apify | USD 234 | USD 574 | USD 1.141 | USD 2.274 |
| YouTube oficial + Apify Recomendado | USD 150 | USD 364 | USD 720 | USD 1.433 |
| Apify para todo | USD 202 | USD 494 | USD 982 | USD 1.956 |
| YouTube oficial + Bright Data | USD 128 | USD 309 | USD 612 | USD 1.217 |
| YouTube oficial + APIs por request | USD 33 | USD 71 | USD 135 | USD 263 |
| Construcción propia (proxies, cuentas, cómputo) | USD 324 | USD 575 | USD 993 | USD 1.829 |
Valores esperados del primer año con la mezcla por defecto (25 % YouTube, 25 % Instagram, 15 % Facebook, 15 % X, 20 % TikTok; 65 % comentarios). Incluyen datos, NLP, Cloudflare y R2. No incluyen desarrollo ni horas de soporte.
- Para un presupuesto de unos USD 2.400 al año (USD 200 al mes) con 100.000 registros caben «YouTube oficial + Apify» (USD 150), «Bright Data» (USD 128) y «APIs por request» (USD 33). Se recomienda la primera: es la que mejor equilibra estabilidad, cobertura y precio. Agregar la API oficial de X (USD 234 en total) la pasa del presupuesto por unos USD 400 al año.
- La API oficial de X es la pieza más cara. Cuesta unos USD 84 al mes con 15.000 registros de X. Pasar X al actor de Apify ahorra unos USD 1.000 al año, a cambio de perder las respuestas y de depender de un actor de un socio.
- Los comentarios son lo que más consume. Bajar el tope de comentarios por publicación, o la proporción de comentarios en la mezcla, es la palanca más directa para ajustar el consumo al presupuesto.
- Construir no ahorra en consumo. Proxies móviles, cuentas, cómputo y CAPTCHAs cuestan más que Apify con 100.000 registros, y además exigen 60 horas o más de soporte al mes.
Supuestos del modelo y su origen
| Supuesto | Valor | Origen |
|---|---|---|
| Roturas al año, construcción propia | IG 6 · FB 8 · X 7 · TikTok 11 | Issues de instaloader, twscrape y twikit; changelogs de los actores de Apify para TikTok y Facebook. |
| Horas por rotura, propia | 4 / 12 / 40 (mín. / moda / máx.) | Calibrado para sumar 40–85 h/mes con la base de 16 h, como estima la investigación. Las horas solo se informan; no entran al consumo en USD. |
| Días de caída por rotura, propia | 1 / 3 / 21 | Reparaciones observadas de 1 día a más de 6 meses. |
| Roturas que afectan al cliente, Apify | IG 5 · FB 5 · X 6 · TikTok 8 · YouTube 4 | Cerca de la mitad de los arreglos de cada changelog; el cliente solo pierde horas de diagnóstico. |
| Días de caída por rotura, proveedor | 0,5 / 2 / 9 | Arreglos de 1 a 9 días en las incidencias de 2026. |
| Proxies móviles | USD 3 / 5 / 7,50 por GB | Decodo, Oxylabs, IPRoyal y SOAX, octubre de 2026. |
| Tráfico por registro, propia | 80 % JSON (50–100 KB por página), 20 % navegador (0,5–6,5 MB) | Mediciones con Chromium del 9 de octubre de 2026 y de Scrapfly. |
| Costo fijo, propia | USD 150/mes | Cómputo para navegadores, pool de cuentas con baneos, CAPTCHAs y LLM de autorreparación. |
| NLP | USD 0,05 por 1.000 textos | Claude Haiku 5.5 por Batch API, con margen para el tokenizador y escalado a Sonnet 5.5. |
| Cloudflare | USD 7/mes + R2 a USD 0,015/GB-mes | Páginas de precios de Workers, R2 y Basin, octubre de 2026. |
| Calificaciones de 1 a 5 | Legal, calidad y puesta en marcha | Juicio basado en la investigación; pesan el 40 % del puntaje. Ver parametros.json. |
El consumo mensual suma datos, NLP, Cloudflare (USD 7 fijos) y R2, que crece con el lago acumulado. El modelo cobra por registro. No incluye el cargo por inicio de corrida de Apify (USD 0,001) ni los mínimos por consulta de algunos actores, como los 50 tuits por consulta del actor de X. Con corridas por lotes diarios su efecto es de centavos, pero conviene confirmarlo en el piloto.
«Días-red sin datos al año» suma los días de caída de todas las redes: 72 días-red equivalen, por ejemplo, a unos 14 días sin datos en cada una de las cinco redes. Los rangos P10–P90 son la dispersión del Monte Carlo, no un intervalo de confianza de los precios.
Arquitectura en Cloudflare
La regla es simple: la recolección queda fuera de Cloudflare y todo lo demás vive dentro de la cuenta del cliente. Los proveedores entregan JSON y el cliente es dueño del pipeline, del lago y de la aplicación. Cinco decisiones mantienen el soporte cerca de cero:
- Un adaptador por fuente. Cada proveedor tiene un módulo que traduce su JSON al esquema silver común. Cambiar un actor de Apify por otro, o Apify por Bright Data, es reescribir un adaptador y una línea de configuración. Esta es la autorreparación que sí vale la pena.
- Contratos de datos en la ingesta. Que una corrida termine en
SUCCEEDEDno garantiza datos buenos: hay corridas exitosas vacías, actores que insertan filas simuladas y campos que desaparecen (Instagram dejó de enviarreshareCountel 1 de octubre de 2026). Se valida el conteo esperado, la tasa de nulos por campo y el esquema. Si algo falla, se alerta y se pasa al proveedor de respaldo. - Idempotencia y tope de gasto. Cada corrida lleva un tope de cobro, y el
runIdevita ingerir dos veces el mismo dataset. El planificador se detiene si se agota el presupuesto del mes. - El crudo siempre se guarda. Bronze conserva el JSON original, la versión del actor y la fecha. Si un adaptador tenía un error, silver se reconstruye sin volver a pagar por los datos.
- Solo servicios administrados. Sin servidores, sin Spark y sin contenedores de larga vida que parchear. Desde el 1 de octubre de 2026 la plataforma de datos de Cloudflare se llama Basin, y conviene construir con esos nombres desde el inicio porque los anteriores (R2 Data Catalog, R2 SQL, Pipelines) serán retirados.
| Pieza | Servicio | Para qué | Costo con 100.000 registros/mes |
|---|---|---|---|
| Orquestación | Cron Triggers, Queues, Workflows | Planificar corridas, recibir webhooks, procesar por lotes con reintentos | incluido en USD 5 |
| Bronze | R2 + Basin Pipelines (sink JSON) | JSON crudo por red, fecha y corrida | < USD 1 |
| Silver | Basin Catalog (Iceberg sobre R2) | Tablas tipadas: cuentas, publicaciones, métricas, comentarios, enriquecimiento | < USD 1 |
| NLP | Workers AI (o un LLM externo por lotes) | Tema, sentimiento y ciudad en español, salida JSON | USD 1–20 |
| Gold | Workflow nocturno + Basin SQL → D1 | Deduplicar y agregar; servir tableros rápidos | < USD 3 |
| Web app | Workers (archivos estáticos) + Cloudflare Access | Interfaz y control de acceso, gratis hasta 50 usuarios | USD 0 |
Costos de Cloudflare según sus páginas de precios actualizadas entre abril y octubre de 2026. La investigación estima USD 5–7 al mes con 100.000 registros, USD 15–55 con 1 millón y USD 125–550 con 10 millones; a gran volumen casi todo es el enriquecimiento con LLM.
Flujo A: termómetro por ciudad
El termómetro mide la conversación en línea, no la opinión de la población. Los datos casi nunca traen la ciudad, así que hay que construirla y mostrar con qué confianza se asignó.
- X: solo entre el 0,5 % y el 2 % de las publicaciones trae un lugar etiquetado. El campo de ubicación del perfil es texto libre y está vacío o no es geográfico en un tercio de los casos.
- Instagram es la red con más etiquetas de lugar: el 19 % de las fotos en el único estudio grande (2014). Pero la recolección por URL de ubicación está rota en el actor oficial de Apify desde julio de 2026, con la incidencia todavía abierta.
- TikTok da la ciudad solo en los videos geoetiquetados (campo
locationMeta); en el resto, solo el país. Las páginas de lugares (POI) se pueden recolectar con un actor de un socio de Apify por USD 0,30 por 1.000. - YouTube solo da el país del canal, que el propio creador declara.
- Facebook solo da la dirección de las páginas.
lang:es; en Instagram, por hashtags del tema y de la ciudad; en TikTok, por búsqueda, hashtags y lugares (POI); en YouTube, con regionCode=CO; y en Facebook, con la búsqueda nativa y las páginas locales. Abrir el diagrama interactivo.Cascada de geolocalización
| Nivel | Señal | Ejemplo | Uso en el tablero |
|---|---|---|---|
| Alta | Etiqueta nativa | Lugar de X de tipo ciudad, ubicación de Instagram, ciudad de un video geoetiquetado o POI de TikTok, dirección de una página de Facebook | Cuenta como «desde la ciudad» |
| Media | Contexto de recolección | Publicación hallada con el paquete de Medellín: #Medellín o un medio local | Cuenta como «desde la ciudad» |
| Media-baja | Ubicación del perfil cruzada con DIVIPOLA, GeoNames y un diccionario de apodos | «Medallo», «La Arenosa», «Quilla», «la Sucursal del Cielo» | Cuenta como «desde la ciudad», con advertencia |
| Aparte | Mención en el texto, extraída con el LLM | «En Cali no hay agua» trata sobre Cali, no necesariamente se escribió desde Cali | Filtro separado «sobre la ciudad» |
| Solo país | Código de país | locationCreated de TikTok, país del canal de YouTube | Solo separa Colombia del exterior |
DIVIPOLA (DANE) tiene 1.122 registros; 66 nombres de municipio se repiten en 151 filas (hay cuatro «La Unión»), así que el departamento es obligatorio para desambiguar. Se cachea cada texto de ubicación de perfil para que el LLM solo vea los casos que el diccionario no resuelve.
Tema y sentimiento en español
Recomendado: un LLM administrado, por lotes y con salida JSON estricta.
- Claude Haiku 5.5 (
claude-haiku-5-5) por la Batch API: USD 0,05 por millón de tokens de entrada y USD 0,25 de salida. Agrupando 25 a 50 textos por petición, 100.000 textos cuestan entre USD 1 y 5 al mes. - Thinking desactivado (se permite con esfuerzo
higho menor) y una taxonomía de máximo 30 temas definida por el cliente, más «otro». - El 5 % con confianza menor a 0,6 se reprocesa con Claude Sonnet 5.5, por centavos.
- Un segundo proveedor configurado en AI Gateway, para que el retiro de un modelo sea un cambio de configuración y no de código.
Lo que no conviene
- Workers AI no tiene un clasificador de sentimiento en español: su único clasificador es en inglés. Sus LLM sirven, pero sin evidencia de calidad en español colombiano.
- pysentimiento logra un macro-F1 de 0,705 en TASS, pero sus modelos se entrenaron con datos de licencia no comercial y exigen mantener contenedores de Python.
- AWS Comprehend y Google Natural Language cuestan de 10 a 50 veces más y no permiten temas propios ni extraer ciudades.
{
"id": "x:1843…",
"sentimiento": -1, // -1 negativo, 0 neutro, 1 positivo
"confianza": 0.82,
"temas": ["seguridad"],
"sentimiento_por_tema": {"seguridad": -1},
"sarcasmo": false,
"ciudad_mencionada": "05001", // código DIVIPOLA (Medellín) o null
"modelo": "claude-haiku-5-5",
"version_prompt": "v3"
}
Antes de salir a producción, el cliente etiqueta entre 300 y 500 publicaciones locales. Ese conjunto se vuelve a correr con un comando cada vez que cambie el modelo o el prompt, con una meta mínima de macro-F1 de 0,70. No existe un benchmark público reciente de LLM pequeños sobre jerga o sarcasmo colombiano.
Vista previa del tablero
Índice neto = (positivos − negativos) / menciones. Ciudades ordenadas por volumen. Los valores salen de los 100.000 registros ficticios de simulador/generar_datos_sinteticos.py, procesados por bronze, silver y gold; no representan conversación real. En el producto real cada celda muestra también n, la proporción geolocalizada y un intervalo de Wilson al 95 %, y se atenúa por debajo de 30 menciones.
Flujo B: seguimiento de creadores
La regla de backend es resolver una vez, guardar el identificador nativo y refrescar por identificador. Buscar por nombre en cada corrida es caro (las búsquedas de YouTube tienen una bolsa de 100 al día y en Instagram son las más frágiles: el 90,8 % de corridas exitosas, frente al 99 % de los demás actores) y produce falsos positivos con nombres comunes.
Cómo se puntúa un candidato
| Señal | Peso inicial | De dónde sale |
|---|---|---|
| Enlace cruzado recíproco | 0,50 | Enlaces externos de Instagram, bioLink de TikTok, enlaces del canal de YouTube y páginas de Linktree o Beacons expandidas |
| Mismo handle o casi igual en otras redes | 0,15 | Comparación con las cuentas ya confirmadas del creador |
| Similitud del nombre | 0,15 | Jaro-Winkler sobre el nombre normalizado, sin tildes y con ambos apellidos |
| Cuenta verificada | 0,10 | Insignia de la plataforma |
| Seguidores y señales de Colombia | 0,10 | Umbral mínimo de seguidores, idioma, región o país del perfil |
Los candidatos salen de la búsqueda nativa de cada red (Apify para Instagram, TikTok y X; search.list para YouTube) y de consultas tipo site:instagram.com "Nombre Apellido" a una API de buscador, por unos USD 0,001 por consulta. Todo se guarda con el ID permanente de la plataforma, nunca con el handle, porque los handles cambian. Cada match guarda el método, el puntaje, la evidencia, quién lo revisó y cuándo. El proceso se repite una vez al mes para detectar cuentas nuevas.
Frecuencia de refresco
- Perfil: diario en Instagram, TikTok, YouTube y X; semanal en Facebook, donde cada página cuesta USD 8,20 por 1.000. El perfil de Instagram ya trae las últimas 12 publicaciones con sus métricas, así que las publicaciones recientes se actualizan sin costo extra.
- Publicaciones nuevas: cada día, con filtro de fecha desde la última corrida y un día de traslape.
- Métricas de cada publicación: cada 12 horas durante las primeras 48, a diario hasta el día 7 y semanal hasta el día 30. Después la publicación se congela. En YouTube se usa
videos.batchGetStats, que tiene bolsa propia. - Comentarios: solo de publicaciones con menos de 7 días, del más nuevo al más viejo, deteniéndose en el último ya guardado y con un tope por publicación (10 a 30). Son el 77 % del costo: un creador activo en cinco redes cuesta unos USD 1,20 al mes sin comentarios y USD 5,20 con 30 por publicación. El tope debe ser un ajuste visible para el cliente.
- Cambios de significado: YouTube cuenta vistas de Shorts en cada repetición desde marzo de 2025 y desde el primer cuadro desde agosto de 2026. Instagram suma vistas de Facebook en publicaciones cruzadas desde abril de 2026. El modelo guarda una versión de la semántica de cada métrica para no mezclar series.
¿De dónde salen 100.000 registros al mes? Un ejemplo con 100 creadores en 3,5 redes en promedio (350 cuentas):
| Snapshots de perfil (diarios; semanales en Facebook) | 8.700 |
|---|---|
| Publicaciones nuevas (10 por cuenta) | 3.500 |
| Snapshots de métricas (unos 6 pagados por publicación) | 21.000 |
| Comentarios (15 por publicación) | 52.500 |
| Termómetro (publicaciones y comentarios) | 14.300 |
| Total | 100.000 |
Vías oficiales que bajan el costo
- YouTube:
channels.listconforHandle,playlistItemspara los videos subidos,videos.batchGetStats(bolsa propia de 10.000 al día) para métricas ycommentThreadspara comentarios. Todo gratis. - Instagram: Business Discovery da seguidores, publicaciones, likes, comentarios y vistas de cuentas profesionales, gratis. No da el texto de los comentarios ni cubre cuentas personales, y exige app de Meta con verificación de negocio. Es una optimización para una segunda fase.
- Creadores aliados: si firman con el cliente, pueden conectar sus cuentas por OAuth (TikTok Display API, Instagram Graph) y entregar datos exactos de primera mano.
Qué métricas existen en cada red
| Métrica | YouTube | TikTok | X | ||
|---|---|---|---|---|---|
| Seguidores | Suscriptores, redondeados a 3 cifras | Sí | Sí | Sí | Páginas (los perfiles personales traen menos datos); redondeados en algunas desde sep. 2026 |
| Vistas por publicación | Sí; el conteo cambió el 27 ago. 2026 | Videos y Reels; a veces nulas | Sí | Sí | Videos y Reels |
| Likes | Sí | Sí; −1 si el dueño los oculta | Sí | Sí | Reacciones |
| Texto de comentarios | Sí | Sí; parcial en publicaciones muy comentadas | Sí; respuestas no garantizadas | Respuestas vía API oficial | Sí; solo públicos |
| Vía oficial | Data API | Business Discovery, sin texto de comentarios | Display API con OAuth del creador | API de pago por uso | PPCA, aprobación incierta |
Modelo de datos (silver)
| Tabla | Clave | Campos principales |
|---|---|---|
creador | creador_id | nombre, categoría, país, estado |
cuenta | red:id_nativo | creador_id, handle, url, verificado, método y confianza del match, revisado_por |
snapshot_cuenta | cuenta + fecha de captura | seguidores, seguidos, publicaciones, vistas totales |
publicacion | red:id_nativo | cuenta_id, fecha, tipo, texto, hashtags, url, campos de ubicación |
snapshot_metricas | publicación + fecha de captura | vistas, likes, comentarios, compartidos |
comentario | red:id_nativo | publicacion_id, padre_id, autor seudonimizado (HMAC), texto, fecha, likes |
enriquecimiento | doc_id | sentimiento, confianza, temas, ciudad, método geo, modelo, versión de prompt |
corrida | run_id | fuente, actor y build, hash de la entrada, ítems, costo, estado de calidad |
Lago medallón y web app
Las tres capas
| Capa | Dónde | Formato | Contenido | Retención |
|---|---|---|---|---|
| Bronze | R2, escrito por Basin Pipelines (sink JSON) | JSON por red, fecha y corrida | Respuesta cruda del proveedor, con run_id, actor y build, schema_version y hash del contenido | 90 a 180 días; texto de YouTube como máximo 30 días |
| Silver | Basin Catalog (Iceberg sobre R2) | Parquet zstd, por día y red | Las ocho tablas del modelo de datos, con autores seudonimizados | Texto de comentarios: 30 días después del NLP; métricas según el propósito |
| Gold | D1 para servir, Iceberg opcional | Tablas pequeñas y agregadas | termometro_diario, kpi_creador_diario, rendimiento_publicacion, sentimiento_comentarios_semanal | Hasta 36 meses |
Detalles de Basin que conviene conocer desde el inicio:
- Basin SQL es de solo lectura. Admite joins, CTE y funciones de ventana, pero no INSERT ni DDL. Por eso deduplicar y agregar lo hace un Workflow nocturno que consulta Basin SQL y escribe en D1, usando
QUALIFY ROW_NUMBER()para quedarse con el último snapshot. - Basin Pipelines no migra esquemas. Además descarta en silencio los eventos inválidos de los streams estructurados. Hay que guardar siempre el JSON crudo y la columna
schema_version, y vigilar sus métricas de calidad. - Mantenimiento automático. Activar desde el día uno la compactación (archivos de 128 a 256 MB) y la expiración de snapshots. Un DELETE en Iceberg solo borra físicamente cuando expira el snapshot, lo que importa para atender solicitudes de habeas data.
- D1 tiene un límite de 10 GB por base. Solo guarda agregados y metadatos de la aplicación, nunca comentarios.
La web app de consultas
| Vista | Para quién | Qué responde | Lee de |
|---|---|---|---|
| Termómetro | Analistas del cliente | Qué temas suben, en qué ciudades y con qué tono, con confianza y n visibles | D1 gold |
| Creadores | Equipo de marketing | Crecimiento, engagement, mejores publicaciones y lo que dice su audiencia | D1 gold |
| Explorador | Analistas avanzados | Consultas guiadas por filtros sobre silver, con exportación a CSV | Basin SQL a través de un Worker |
| Configuración | Administrador | Temas, paquetes de ciudad, lista de creadores, cola de revisión de matches y presupuesto mensual | D1 |
| Calidad de datos | Consultor y administrador | Corridas, costo por proveedor, alertas, cobertura geográfica y precisión del sentimiento | D1 |
- Acceso: la app se sirve como archivos estáticos de Workers (solicitudes gratis) detrás de Cloudflare Access, gratis hasta 50 usuarios, con código de un solo uso por correo o con el proveedor de identidad del cliente.
- Explorador sin SQL libre: el Worker solo ejecuta plantillas parametrizadas, porque Basin SQL no admite OFFSET (la paginación se hace por clave), devuelve 500 filas por defecto, cobra un mínimo de 10 MB por consulta y rechaza consultas que escanean demasiado. El token nunca llega al navegador.
- Usuarios técnicos: pueden conectar DuckDB 1.4 o posterior, PyIceberg o Snowflake al catálogo con un token de solo lectura. Leer el catálogo con DuckDB-WASM desde el navegador no está verificado con R2 y expondría credenciales.
Riesgos legales
La ley que decide es la colombiana, y es más estricta de lo que suele pensarse. La jurisprudencia de EE. UU. sobre scraping ayuda a entender el riesgo frente a las plataformas, pero no autoriza a tratar datos personales en Colombia.
Colombia: Ley 1581 de 2012 y doctrina de la SIC
- Lo accesible no es público. En la Resolución 71406 de 2023 (órdenes a LinkedIn) y en la Circular Externa 002 de 2024, la SIC dijo que la información «accesible al público» no es por sí misma «de naturaleza pública» y no se puede tratar sin autorización del titular.
- Base viable para el termómetro: el art. 6(e) permite tratar incluso datos sensibles con finalidad estadística si se suprime la identidad de los titulares. Las opiniones políticas son datos sensibles.
- IA: la Circular 002 de 2024 exige un estudio de impacto de privacidad documentado antes de diseñar un tratamiento con IA de alto riesgo, como clasificar sentimiento con un LLM.
- Servidores fuera de Colombia: no hay transferencia internacional. Cloudflare, Apify y Anthropic actúan como encargados. Sus DPA, que se incorporan solos a sus términos, los obligan a usar los datos solo para prestar el servicio y según las instrucciones del cliente. El art. 26 de la Ley 1581 aplica cuando quien recibe es otro responsable. Guardar datos con un encargado en el exterior es una transmisión (art. 2.2.2.25.1.3 del Decreto 1074 de 2015). La transmisión no requiere consentimiento, aviso al titular ni declaración de conformidad: basta el contrato con el encargado, papel que cumple el DPA. Además, Estados Unidos y la Unión Europea, donde quedan los datos, están en la lista de países adecuados de la SIC.
- Sanciones: hasta 2.000 salarios mínimos, suspensión del tratamiento hasta 6 meses o cierre. La SIC reportó 101 investigaciones abiertas en 2025, frente a 55 en 2023.
Exposición por opción
| Opción | Quién ejecuta la recolección | Exposición principal | Nivel |
|---|---|---|---|
| APIs oficiales (YouTube, X, Meta) | El cliente, dentro de las reglas de la plataforma | Políticas de uso: 30 días para el texto en YouTube, borrar lo eliminado en X, prohibición de perfilar en Meta | Bajo |
| Apify u otro proveedor, sin iniciar sesión | El proveedor | Términos de las plataformas de forma indirecta; Ley 1581 de forma directa. Apify deja la responsabilidad en el cliente y exige indemnidad. | Medio |
| Scrapers propios con cuentas y proxies | El cliente | Términos de servicio, uso de cuentas (precedente hiQ), elusión de anti-bots (DMCA §1201 si hay nexo con EE. UU.), Ley 1581 | Alto |
Cumplimiento desde el diseño, capa por capa
| Capa | Medida |
|---|---|
| Recolección | Solo datos públicos sin iniciar sesión. Nunca cuentas propias ni cookies. Criterios de recolección definidos por adelantado y sin fuentes dirigidas a menores. |
| Bronze | Descartar fotos, biografías y datos de contacto al ingerir. Reemplazar usuarios e IDs de autores por un HMAC con llave guardada fuera de R2 y rotada. Borrar el texto crudo de comentarios a los 30 días. |
| Silver | Solo seudónimos, ciudad a nivel de municipio, tema, sentimiento y fecha. Nunca ubicación exacta. |
| Gold y web app | Solo agregados. Ocultar celdas con menos de 10 a 20 autores distintos y añadir ruido en ciudades pequeñas. No ofrecer búsqueda por persona. |
| YouTube | Solicitar la enmienda «Analytics & Reporting» desde el día uno. Sin ella, ventana móvil de 30 días y sin comparar canales. No inferir orientación política. |
| Operación | Política de tratamiento y canal de habeas data. Registro Nacional de Bases de Datos solo si el cliente tiene activos superiores a 100.000 UVT. Guardar en el archivo de responsabilidad demostrada los DPA de Cloudflare, Apify y Anthropic, que hacen las veces de contrato de transmisión. El cliente es el Responsable del tratamiento y el consultor, el Encargado. |
Esto no es asesoría legal. Un abogado de protección de datos en Colombia debe validar el diseño antes de salir a producción: la SIC no se ha pronunciado específicamente sobre analítica de redes sociales.
Riesgos del proveedor y cómo contenerlos
Comprar traslada las roturas al proveedor, pero no elimina el riesgo. Ninguna opción es de mantenimiento cero: la recomendada necesita unas 10 horas al mes, que caben en un retén pequeño. Sin ese retén el sistema sigue funcionando, pero las alertas se quedarían sin atender.
| Riesgo | Evidencia | Mitigación |
|---|---|---|
| Un actor se rompe, se retira o queda zombi | Los actores de comunidad pasan a «deprecated» tras unos 30 días fallando y varios de X ya fueron retirados. Un actor de perfiles de X falló el 83 % de sus corridas en 30 días sin ningún aviso en la tienda. | Un adaptador por fuente y un segundo proveedor configurado y probado cada mes. Un vigía semanal consulta la API de Apify y alerta si cambia el precio, si el actor queda deprecated o si sus fallas pasan del 5 %. |
| Corridas «exitosas» con datos malos | Corridas exitosas vacías, filas simuladas cobradas, vistas nulas en Instagram y seguidores redondeados en Facebook (2026). El «100 % de éxito» de la tienda mide que la corrida terminó, no que los datos estén completos. | Contratos de datos en la ingesta (conteo, nulos, frescura, esquema) con cuarentena de lo que falle. Una prueba diaria con 5 a 10 creadores conocidos y rangos esperados. Monitores gratuitos de Apify sobre los campos del dataset. |
| Cambios de precio | Apify permite un cambio de precio por actor al mes, con 14 días de aviso. En 2026 hubo bajas y también subidas (+20 % en un actor de Facebook). | Tope de cobro por corrida, presupuesto mensual en el planificador y revisión mensual de precios desde la API de Apify. |
| Caídas de la plataforma | Apify registró 23 incidentes en 2026, entre ellos 23 horas de API degradada (abril) y 2 h 38 min de caída total. | Ingesta idempotente con reintentos; el retraso de un día no afecta un termómetro diario. |
| Sin garantía contractual | Los planes de autoservicio de Apify no tienen SLA. Bright Data ofrece un 99,9 % de disponibilidad, pero no garantiza plazos para reparar un scraper. | Si el cliente exige SLA: Apify Professional Services desde USD 1.000/mes o Bright Data como respaldo. |
| El proveedor desaparece | Proxycurl, con unos USD 10 millones de ingresos, cerró en julio de 2025 tras la demanda de LinkedIn. Meta cerró CrowdTangle en agosto de 2024. ScrapeCreators tiene unas 3 personas. | El crudo en bronze es del cliente y el esquema silver no depende del proveedor. Los proveedores pequeños solo como respaldo, con créditos que no vencen. |
| Seguridad de credenciales | Una cuenta de GitHub de un empleado de Apify fue comprometida en marzo de 2026, sin impacto conocido en clientes. | Tokens con alcance mínimo y rotación. Nunca pasar credenciales de R2 a actores de terceros. |
Cláusulas para el contrato con el cliente
- La completitud de los datos es de mejor esfuerzo y depende de cada plataforma: comentarios parciales en publicaciones muy grandes, vistas a veces nulas.
- Las tarifas de los proveedores se trasladan al cliente y se ajustan si el proveedor cambia sus precios.
- Solo se recolectan datos públicos sin iniciar sesión.
- Se incluye un número de horas al año para cambiar de actor o de proveedor.
- El cliente es el Responsable del tratamiento: aprueba las fuentes y los propósitos, y las cuentas de los proveedores están a su nombre.
- Si el cliente exige precios fijos o SLA, se negocia un contrato enterprise con Apify o Bright Data, porque los planes de autoservicio no los ofrecen.
Hoja de ruta
La plataforma queda lista en dos semanas: 10 días hábiles desde la firma y la entrega de accesos, como dice la propuesta comercial. Después sigue un retén opcional de unas 10 horas al mes.
- Día 1 · Accesos y pilotoCuentas a nombre del cliente en Cloudflare (plan Workers Paid), Apify, Google Cloud, X Developer y Anthropic. El cliente entrega la lista de creadores, los temas con sus palabras clave y las ciudades. Primera corrida con esos datos para ver qué campos llegan y el costo real por registro. Ese mismo día se pide a Google la aprobación para guardar métricas de YouTube más de 30 días, que puede tardar semanas o meses; mientras tanto la plataforma aplica la regla de 30 días.
- Días 1–4 · Plataforma e ingestaWorkers, Queues, Workflows, R2, Basin Catalog, D1 y Cloudflare Access en la cuenta del cliente. Conectores de YouTube, X y Apify con reintentos, control de duplicados y tope de gasto mensual. Bronze con el JSON original, silver con autores seudonimizados y gold con agregados. Controles de calidad en cada carga con alertas por correo.
- Días 4–7 · Ruta B: creadoresCarga de hasta 50 creadores, búsqueda de sus cuentas con confirmación automática y cola de revisión, refresco programado por edad de la publicación, sentimiento de los comentarios y KPI diarios por creador y red. El revisor del cliente dedica unas 2 horas a los casos dudosos.
- Días 5–8 · Ruta A: termómetroHasta 10 temas y 5 ciudades con sus paquetes de ciudad, cascada de geolocalización con DIVIPOLA, tema y sentimiento por lotes en español y tabla gold del termómetro.
- Días 7–9 · Web appVistas del termómetro y de creadores, y configuración de temas, ciudades y creadores, detrás de Cloudflare Access para hasta 50 usuarios.
- Días 9–10 · Pruebas y ajustesUna corrida programada de punta a punta con las cinco redes, revisada contra los criterios de aceptación de la propuesta.
- Día 10 · Entrega y traspasoCódigo en un repositorio a nombre del cliente, manual de operación, guía para cambiar temas, ciudades y creadores, y sesión de traspaso de 2 horas, grabada. Luego vienen 3 días hábiles de revisión del cliente y 15 días hábiles de garantía.
- Después · ReténUnas 10 horas al mes, cotizadas aparte: atender alertas, revisar changelogs y precios de los actores una vez al mes, volver a evaluar el sentimiento cada trimestre y revalidar el marco legal cada 6 a 12 meses.
El plazo depende de que el cliente entregue accesos e insumos a tiempo: cada día de demora en esos puntos corre la entrega un día. Quedan fuera de las dos semanas el conjunto etiquetado de 300 a 500 publicaciones, el concepto jurídico sobre la Ley 1581 (lo da el abogado del cliente), el explorador de consultas libres y un proveedor de respaldo por red.
Fuentes y método
Cómo se hizo. 21 agentes investigaron en paralelo un frente cada uno: plataforma Apify, actores de Instagram y Facebook, actores de TikTok, X y YouTube, APIs por request, proveedores enterprise, APIs oficiales de YouTube y TikTok, APIs oficiales de Meta y X, scraping desde Cloudflare, proxies móviles, evidencia de roturas, autorreparación con LLM, marco legal, geolocalización, sentimiento en español, lakehouse en Cloudflare, resolución de creadores, SaaS de social listening, APIs de influencers, experiencias de usuarios y dos equipos rojos (a favor de construir y en contra de depender de proveedores). Otros 10 agentes verificaron de forma adversarial los precios que alimentan el simulador contra las páginas oficiales. Confirmaron casi todo y corrigieron sobre todo la asignación de precios por plan de algunos actores de Apify (el precio «desde» suele ser el del plan Business). También dejaron como no verificables los precios heredados de los planes Basic y Pro de X.
Límites. No se hicieron corridas de prueba de los actores. Las horas de mantenimiento y las roturas por año son estimaciones construidas desde la evidencia pública, no mediciones. Varias páginas (Reddit, G2, algunas de la SIC) bloquearon el acceso, y parte de los agentes agotó su presupuesto de búsqueda y trabajó con lectura directa de páginas oficiales. El análisis legal no reemplaza a un abogado colombiano.
Archivos del proyecto. docs/PROMPT_MEJORADO.md, simulador/simulador_costos.py, simulador/parametros.json (todos los precios con su URL), simulador/generar_datos_sinteticos.py y informe/, desde donde se genera esta página.
- Apify, planes y precios: apify.com/pricing
- Apify, términos generales (responsabilidad del cliente): docs.apify.com/legal/general-terms-and-conditions
- Apify, actores mantenidos por Apify o por la comunidad: docs.apify.com/…/actor-developers
- Apify Instagram Scraper: apify.com/apify/instagram-scraper
- Incidencia abierta de ubicaciones de Instagram (julio de 2026): apify.com/…/issues/zz23rVsjCdlfw0DbZ
- Apify Facebook Posts Scraper: apify.com/apify/facebook-posts-scraper
- Changelog del TikTok Scraper (Clockworks): apify.com/clockworks/tiktok-scraper/changelog
- Apify YouTube Scraper: apify.com/streamers/youtube-scraper
- Tweet Scraper V2 (comunidad): apify.com/apidojo/tweet-scraper
- Historial de incidentes de Apify: status.apify.com
- Webhooks de Apify: docs.apify.com/…/webhooks/actions
- YouTube Data API, costo de cuota: developers.google.com/youtube/v3/determine_quota_cost
- Políticas para desarrolladores de YouTube: developers.google.com/youtube/terms/developer-policies
- Política de métricas derivadas de YouTube (2026): developers.google.com/youtube/terms/derived-metrics-policy
- Precios de la API de X: docs.x.com/x-api/getting-started/pricing
- Changelog de la API de X: docs.x.com/changelog
- Instagram Business Discovery: developers.facebook.com/…/business-discovery
- TikTok Research API, elegibilidad: developers.tiktok.com/doc/research-api-faq
- Bright Data, precios del Web Scraper API: brightdata.com/pricing/web-scraper
- Bright Data, SLA: brightdata.com/sla
- ScrapeCreators y su historial de incidentes: scrapecreators.com/status
- EnsembleData, precios: ensembledata.com/pricing
- Data365, precios: data365.co/pricing
- Brand24, precios: brand24.com/prices
- Modash, precios de la API: modash.io/influencer-marketing-api/pricing
- Cloudflare, cabecera CF-Worker: developers.cloudflare.com/fundamentals/reference/http-headers
- Cloudflare Browser Run, cabeceras automáticas: developers.cloudflare.com/browser-rendering/…
- Cloudflare, IPs dedicadas de salida (solo Enterprise): developers.cloudflare.com/cloudflare-one/…/dedicated-egress-ips
- Cloudflare Basin, disponibilidad general (1 de octubre de 2026): developers.cloudflare.com/changelog/post/2026-10-01-basin-ga
- Basin SQL, limitaciones: developers.cloudflare.com/basin-sql/…
- R2, precios: developers.cloudflare.com/r2/pricing
- Workers AI, precios: developers.cloudflare.com/workers-ai/platform/pricing
- Términos de la plataforma de desarrolladores de Cloudflare: cloudflare.com/service-specific-terms-developer-platform
- instaloader, cambio de doc_id (mayo de 2026): github.com/instaloader/instaloader/issues/2695
- twscrape, IDs de consulta vencidos: github.com/vladkens/twscrape/issues/306
- twikit inutilizable desde marzo de 2026: github.com/d60/twikit/issues/408
- snscrape y el muro de login de X (2023): github.com/JustAnotherArchivist/snscrape/issues/996
- Firmas de TikTok que exigen navegador: pkg.go.dev/github.com/go-tiktok/tiktok
- yt-dlp y el runtime de JavaScript obligatorio: github.com/yt-dlp/yt-dlp/issues/15012
- Proxies móviles, Decodo: decodo.com/proxies/mobile
- Proxies móviles, IPRoyal: iproyal.com/pricing/mobile-proxies
- Precios de la API de Claude: platform.claude.com/docs/en/about-claude/pricing
- pysentimiento (RoBERTuito), métricas y licencias: huggingface.co/pysentimiento/robertuito-sentiment-analysis
- DIVIPOLA, DANE: datos.gov.co/…/DIVIPOLA-C-digos-municipios
- Proporción de tuits geoetiquetados: arxiv.org/pdf/1908.10948
- SIC, Resolución 71406 de 2023: sedeelectronica.sic.gov.co/…/RE71406-2023.pdf
- SIC, Circular Externa 002 de 2024 (IA y datos personales): sedeelectronica.sic.gov.co/…/Circular Externa 002
- Ley 1581 de 2012: alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=49981
- Decreto 1074 de 2015, transferencia, transmisión y contrato con el encargado: funcionpublica.gov.co/…/norma.php?i=76608
- SIC, protección de datos en servicios de computación en la nube: sic.gov.co/…/Cartilla_Proteccion_datos.pdf
- SIC, Título V de la Circular Única (países adecuados, actualizado el 9 de enero de 2026): sedeelectronica.sic.gov.co/…/titulo-v-actualizado-el-9-de-enero-de-2026
- Cloudflare, Data Processing Addendum (versión 6.4, 3 de abril de 2026): cloudflare.com/cloudflare-customer-dpa
- Meta v. Bright Data (2024): zyte.com/blog/california-court-meta-ruling
- X Corp v. Bright Data: blog.ericgoldman.org/archives/2025/01/…
- hiQ v. LinkedIn, sentencia por consentimiento: newmedialaw.proskauer.com/2022/12/08/…
- Reddit v. SerpApi (julio de 2026): loeb.com/…/reddit-v-serpapi-llc
- Declaración conjunta sobre scraping, firmada por la SIC (2024): priv.gc.ca/…/js-dc_20241028