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.

21 frentes de investigación10 verificaciones adversariales de preciosSimulación Monte Carlo a 24 mesesPrecios en USD, vigentes a octubre de 2026
Recomendación

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.

Consumo mensual, opción recomendadaUSD 150Unos USD 1.800 al año. YouTube oficial + Apify, 100.000 registros/mes.
Con la API oficial de XUSD 234Unos USD 2.800 al año. Trae respuestas y menos riesgo en X.
Con APIs por requestUSD 33Unos USD 400 al año. Proveedor pequeño y sin SLA.
Soporte que exige~10 h/mesFrente a 60 h o más con scrapers propios. Sin valorar en USD.
  • 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.

«La API de YouTube es casi gratis»
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.

«Las APIs de Meta y X son caras o restringidas»
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.

«En Cloudflare puedo comprar proxies 4G/5G»
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.

«Un sistema autorreparable absorbe los cambios de HTML»
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.

«Los cambios del frontend me van a tumbar el sistema»
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.

«Pagarle a un tercero me evita los temas legales»
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

RedRoturas al año si se construyeCausa típicaCon proveedor
Instagram4–8Rotació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.
X5–10IDs 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.
TikTok8–15Firmas 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.
Facebook6–10Cambios de endpoints y secciones que pasan detrás del login.Apify: unos 9 arreglos en 2025; solo páginas públicas.
YouTube10+ (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ónRedesPrecioQuién reparaA favorEn contra
API oficial de YouTubeYouTubeGratis. 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 anunciadosEstable y legal; métricas y comentariosTexto: 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 XXUSD 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 changelogLegal; trae respuestas y operadores geográficosCambió varias veces en 2026; la búsqueda reciente cubre 7 días
Apify, actores mantenidos por ApifyInstagram, 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.ApifyMás del 99 % de corridas exitosas; arreglos en 1 a 9 días; búsqueda por hashtag y palabra claveSin 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)XUSD 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 ApifyMuy baratoSin changelog, varios retirados, no captura respuestas, prohíbe monitoreo frecuente
Bright DataLas cincoUSD 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 tribunalesNo busca por palabra clave en Instagram, X ni publicaciones de Facebook
ScrapeCreators + twitterapi.ioLas cincoUSD 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 personasEl más barato; créditos que no vencen; búsqueda de perfiles entre redes35 incidentes en 15 meses; riesgo de continuidad; sin SLA
EnsembleDataIG, TikTok, YouTube, X parcialUSD 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 2020TrayectoriaSin Facebook; las unidades no se acumulan
Data3651 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 2018Clientes empresarialesCaro para este volumen
Brand24 (social listening)Las cinco, vía APIs oficialesUSD 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.Brand24Tablero y alertas listosNo exporta texto de Instagram ni Facebook; no sirve para seguir creadores; cobertura por ciudad no documentada
Brandwatch, Meltwater, TalkwalkerLas cincoUSD 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.ProveedorFiltro por ciudad (Brandwatch)Caros; exportación restringida (de X solo entregan IDs)
Modash, Influencers.clubIG, 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.ProveedorDatos de audiencia sin mantenimientoCaros para este alcance; Facebook débil
Construcción propiaLas cincoProxies 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 clienteControl total40 a 85 h/mes de ingeniería; riesgo legal alto

Fuente recomendada por red

RedFuente principalRespaldo configuradoNota
YouTubeAPI oficialNingunoNo mezclar con datos obtenidos por scraping: las políticas de la API lo prohíben.
XActor de Apify (apidojo)twitterapi.io; API oficial si el presupuesto creceNo 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.
InstagramApify: hashtag, perfil, publicaciones y comentariosBright Data, por handle o URLNo depender de las URLs de ubicación mientras siga abierta la incidencia de julio de 2026.
FacebookApify: páginas, publicaciones y comentariosBright DataPá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).
TikTokApify (Clockworks): perfil, hashtag y comentariosapidojo TikTok o Bright DataTikTok 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.

Mezcla por red
Mezcla por tipo de registro

Consumo mensual: mediana y rango P10–P90

De qué se compone el consumo de un mes

EscenarioPuntajeUSD/mes P50 (P10–P90)USD/añoAcumuladoPresupuestoSoporte h/mesDías-red sin datos/año

Consumo mes a mes

MesRegistrosDatosNLPCloudflare y R2Total del mesAcumulado
Cuota de YouTube usada:

Consumo mensual según el volumen

Escenario100.000/mes250.000/mes500.000/mes1.000.000/mes
YouTube y X oficiales + ApifyUSD 234USD 574USD 1.141USD 2.274
YouTube oficial + Apify RecomendadoUSD 150USD 364USD 720USD 1.433
Apify para todoUSD 202USD 494USD 982USD 1.956
YouTube oficial + Bright DataUSD 128USD 309USD 612USD 1.217
YouTube oficial + APIs por requestUSD 33USD 71USD 135USD 263
Construcción propia (proxies, cuentas, cómputo)USD 324USD 575USD 993USD 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
SupuestoValorOrigen
Roturas al año, construcción propiaIG 6 · FB 8 · X 7 · TikTok 11Issues de instaloader, twscrape y twikit; changelogs de los actores de Apify para TikTok y Facebook.
Horas por rotura, propia4 / 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, propia1 / 3 / 21Reparaciones observadas de 1 día a más de 6 meses.
Roturas que afectan al cliente, ApifyIG 5 · FB 5 · X 6 · TikTok 8 · YouTube 4Cerca de la mitad de los arreglos de cada changelog; el cliente solo pierde horas de diagnóstico.
Días de caída por rotura, proveedor0,5 / 2 / 9Arreglos de 1 a 9 días en las incidencias de 2026.
Proxies móvilesUSD 3 / 5 / 7,50 por GBDecodo, Oxylabs, IPRoyal y SOAX, octubre de 2026.
Tráfico por registro, propia80 % 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, propiaUSD 150/mesCómputo para navegadores, pool de cuentas con baneos, CAPTCHAs y LLM de autorreparación.
NLPUSD 0,05 por 1.000 textosClaude Haiku 5.5 por Batch API, con margen para el tokenizador y escalado a Sonnet 5.5.
CloudflareUSD 7/mes + R2 a USD 0,015/GB-mesPáginas de precios de Workers, R2 y Basin, octubre de 2026.
Calificaciones de 1 a 5Legal, calidad y puesta en marchaJuicio 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:

  1. 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.
  2. Contratos de datos en la ingesta. Que una corrida termine en SUCCEEDED no garantiza datos buenos: hay corridas exitosas vacías, actores que insertan filas simuladas y campos que desaparecen (Instagram dejó de enviar reshareCount el 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.
  3. Idempotencia y tope de gasto. Cada corrida lleva un tope de cobro, y el runId evita ingerir dos veces el mismo dataset. El planificador se detiene si se agota el presupuesto del mes.
  4. 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.
  5. 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.
PiezaServicioPara quéCosto con 100.000 registros/mes
OrquestaciónCron Triggers, Queues, WorkflowsPlanificar corridas, recibir webhooks, procesar por lotes con reintentosincluido en USD 5
BronzeR2 + Basin Pipelines (sink JSON)JSON crudo por red, fecha y corrida< USD 1
SilverBasin Catalog (Iceberg sobre R2)Tablas tipadas: cuentas, publicaciones, métricas, comentarios, enriquecimiento< USD 1
NLPWorkers AI (o un LLM externo por lotes)Tema, sentimiento y ciudad en español, salida JSONUSD 1–20
GoldWorkflow nocturno + Basin SQL → D1Deduplicar y agregar; servir tableros rápidos< USD 3
Web appWorkers (archivos estáticos) + Cloudflare AccessInterfaz y control de acceso, gratis hasta 50 usuariosUSD 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.

La recolección queda en manos de proveedores. Todo lo demás (orquestación, almacenamiento, procesamiento y la web app) vive en la cuenta Cloudflare del cliente. El LLM clasifica por lotes desde el Workflow nocturno y su resultado queda en silver. Abrir el diagrama interactivo.
Integración con Apify. El receptor verifica la firma secreta, responde rápido y delega. La ingesta es idempotente porque Apify puede entregar el mismo webhook más de una vez (reintenta hasta 11 veces). Abrir el diagrama interactivo.

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.
Recolección guiada por paquetes de ciudad: cada ciudad tiene su código DIVIPOLA, hashtags y apodos locales, lugares en Instagram y TikTok, y cuentas de medios locales. En X se busca por palabras clave con 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

NivelSeñalEjemploUso en el tablero
AltaEtiqueta nativaLugar 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 FacebookCuenta como «desde la ciudad»
MediaContexto de recolecciónPublicación hallada con el paquete de Medellín: #Medellín o un medio localCuenta como «desde la ciudad»
Media-bajaUbicació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
AparteMención en el texto, extraída con el LLM«En Cali no hay agua» trata sobre Cali, no necesariamente se escribió desde CaliFiltro separado «sobre la ciudad»
Solo paísCódigo de paíslocationCreated de TikTok, país del canal de YouTubeSolo 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 high o 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

Termómetro · últimos 30 díasTodas las redesConfianza mínima: mediaDatos sintéticos de demostración
−0,6 negativo0+0,6 positivo

Í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.

El enlace cruzado (un perfil que enlaza a otro) es la señal más fuerte. Lo dudoso pasa por revisión humana una sola vez; después el sistema trabaja con identificadores confirmados. Abrir el diagrama interactivo.
Refresco por identificador: cada tipo de dato tiene su frecuencia, todo pasa por bronze y silver, y el Workflow nocturno arma los KPI diarios por creador y red. Abrir el diagrama interactivo.

Cómo se puntúa un candidato

SeñalPeso inicialDe dónde sale
Enlace cruzado recíproco0,50Enlaces 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 redes0,15Comparación con las cuentas ya confirmadas del creador
Similitud del nombre0,15Jaro-Winkler sobre el nombre normalizado, sin tildes y con ambos apellidos
Cuenta verificada0,10Insignia de la plataforma
Seguidores y señales de Colombia0,10Umbral 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
Total100.000

Vías oficiales que bajan el costo

  • YouTube: channels.list con forHandle, playlistItems para los videos subidos, videos.batchGetStats (bolsa propia de 10.000 al día) para métricas y commentThreads para 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étricaYouTubeInstagramTikTokXFacebook
SeguidoresSuscriptores, redondeados a 3 cifrasSíSíSíPáginas (los perfiles personales traen menos datos); redondeados en algunas desde sep. 2026
Vistas por publicaciónSí; el conteo cambió el 27 ago. 2026Videos y Reels; a veces nulasSíSíVideos y Reels
LikesSíSí; −1 si el dueño los ocultaSíSíReacciones
Texto de comentariosSíSí; parcial en publicaciones muy comentadasSí; respuestas no garantizadasRespuestas vía API oficialSí; solo públicos
Vía oficialData APIBusiness Discovery, sin texto de comentariosDisplay API con OAuth del creadorAPI de pago por usoPPCA, aprobación incierta

Modelo de datos (silver)

TablaClaveCampos principales
creadorcreador_idnombre, categoría, país, estado
cuentared:id_nativocreador_id, handle, url, verificado, método y confianza del match, revisado_por
snapshot_cuentacuenta + fecha de capturaseguidores, seguidos, publicaciones, vistas totales
publicacionred:id_nativocuenta_id, fecha, tipo, texto, hashtags, url, campos de ubicación
snapshot_metricaspublicación + fecha de capturavistas, likes, comentarios, compartidos
comentariored:id_nativopublicacion_id, padre_id, autor seudonimizado (HMAC), texto, fecha, likes
enriquecimientodoc_idsentimiento, confianza, temas, ciudad, método geo, modelo, versión de prompt
corridarun_idfuente, actor y build, hash de la entrada, ítems, costo, estado de calidad

Lago medallón y web app

Las tres capas

CapaDóndeFormatoContenidoRetención
BronzeR2, escrito por Basin Pipelines (sink JSON)JSON por red, fecha y corridaRespuesta cruda del proveedor, con run_id, actor y build, schema_version y hash del contenido90 a 180 días; texto de YouTube como máximo 30 días
SilverBasin Catalog (Iceberg sobre R2)Parquet zstd, por día y redLas ocho tablas del modelo de datos, con autores seudonimizadosTexto de comentarios: 30 días después del NLP; métricas según el propósito
GoldD1 para servir, Iceberg opcionalTablas pequeñas y agregadastermometro_diario, kpi_creador_diario, rendimiento_publicacion, sentimiento_comentarios_semanalHasta 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

VistaPara quiénQué respondeLee de
TermómetroAnalistas del clienteQué temas suben, en qué ciudades y con qué tono, con confianza y n visiblesD1 gold
CreadoresEquipo de marketingCrecimiento, engagement, mejores publicaciones y lo que dice su audienciaD1 gold
ExploradorAnalistas avanzadosConsultas guiadas por filtros sobre silver, con exportación a CSVBasin SQL a través de un Worker
ConfiguraciónAdministradorTemas, paquetes de ciudad, lista de creadores, cola de revisión de matches y presupuesto mensualD1
Calidad de datosConsultor y administradorCorridas, costo por proveedor, alertas, cobertura geográfica y precisión del sentimientoD1
  • 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 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.

RiesgoEvidenciaMitigación
Un actor se rompe, se retira o queda zombiLos 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 malosCorridas 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 precioApify 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 plataformaApify 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 contractualLos 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 desapareceProxycurl, 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 credencialesUna 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.

  1. Apify, planes y precios: apify.com/pricing
  2. Apify, términos generales (responsabilidad del cliente): docs.apify.com/legal/general-terms-and-conditions
  3. Apify, actores mantenidos por Apify o por la comunidad: docs.apify.com/…/actor-developers
  4. Apify Instagram Scraper: apify.com/apify/instagram-scraper
  5. Incidencia abierta de ubicaciones de Instagram (julio de 2026): apify.com/…/issues/zz23rVsjCdlfw0DbZ
  6. Apify Facebook Posts Scraper: apify.com/apify/facebook-posts-scraper
  7. Changelog del TikTok Scraper (Clockworks): apify.com/clockworks/tiktok-scraper/changelog
  8. Apify YouTube Scraper: apify.com/streamers/youtube-scraper
  9. Tweet Scraper V2 (comunidad): apify.com/apidojo/tweet-scraper
  10. Historial de incidentes de Apify: status.apify.com
  11. Webhooks de Apify: docs.apify.com/…/webhooks/actions
  12. YouTube Data API, costo de cuota: developers.google.com/youtube/v3/determine_quota_cost
  13. Políticas para desarrolladores de YouTube: developers.google.com/youtube/terms/developer-policies
  14. Política de métricas derivadas de YouTube (2026): developers.google.com/youtube/terms/derived-metrics-policy
  15. Precios de la API de X: docs.x.com/x-api/getting-started/pricing
  16. Changelog de la API de X: docs.x.com/changelog
  17. Instagram Business Discovery: developers.facebook.com/…/business-discovery
  18. TikTok Research API, elegibilidad: developers.tiktok.com/doc/research-api-faq
  19. Bright Data, precios del Web Scraper API: brightdata.com/pricing/web-scraper
  20. Bright Data, SLA: brightdata.com/sla
  21. ScrapeCreators y su historial de incidentes: scrapecreators.com/status
  22. EnsembleData, precios: ensembledata.com/pricing
  23. Data365, precios: data365.co/pricing
  24. Brand24, precios: brand24.com/prices
  25. Modash, precios de la API: modash.io/influencer-marketing-api/pricing
  26. Cloudflare, cabecera CF-Worker: developers.cloudflare.com/fundamentals/reference/http-headers
  27. Cloudflare Browser Run, cabeceras automáticas: developers.cloudflare.com/browser-rendering/…
  28. Cloudflare, IPs dedicadas de salida (solo Enterprise): developers.cloudflare.com/cloudflare-one/…/dedicated-egress-ips
  29. Cloudflare Basin, disponibilidad general (1 de octubre de 2026): developers.cloudflare.com/changelog/post/2026-10-01-basin-ga
  30. Basin SQL, limitaciones: developers.cloudflare.com/basin-sql/…
  31. R2, precios: developers.cloudflare.com/r2/pricing
  32. Workers AI, precios: developers.cloudflare.com/workers-ai/platform/pricing
  33. Términos de la plataforma de desarrolladores de Cloudflare: cloudflare.com/service-specific-terms-developer-platform
  34. instaloader, cambio de doc_id (mayo de 2026): github.com/instaloader/instaloader/issues/2695
  35. twscrape, IDs de consulta vencidos: github.com/vladkens/twscrape/issues/306
  36. twikit inutilizable desde marzo de 2026: github.com/d60/twikit/issues/408
  37. snscrape y el muro de login de X (2023): github.com/JustAnotherArchivist/snscrape/issues/996
  38. Firmas de TikTok que exigen navegador: pkg.go.dev/github.com/go-tiktok/tiktok
  39. yt-dlp y el runtime de JavaScript obligatorio: github.com/yt-dlp/yt-dlp/issues/15012
  40. Proxies móviles, Decodo: decodo.com/proxies/mobile
  41. Proxies móviles, IPRoyal: iproyal.com/pricing/mobile-proxies
  42. Precios de la API de Claude: platform.claude.com/docs/en/about-claude/pricing
  43. pysentimiento (RoBERTuito), métricas y licencias: huggingface.co/pysentimiento/robertuito-sentiment-analysis
  44. DIVIPOLA, DANE: datos.gov.co/…/DIVIPOLA-C-digos-municipios
  45. Proporción de tuits geoetiquetados: arxiv.org/pdf/1908.10948
  46. SIC, Resolución 71406 de 2023: sedeelectronica.sic.gov.co/…/RE71406-2023.pdf
  47. SIC, Circular Externa 002 de 2024 (IA y datos personales): sedeelectronica.sic.gov.co/…/Circular Externa 002
  48. Ley 1581 de 2012: alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=49981
  49. Decreto 1074 de 2015, transferencia, transmisión y contrato con el encargado: funcionpublica.gov.co/…/norma.php?i=76608
  50. SIC, protección de datos en servicios de computación en la nube: sic.gov.co/…/Cartilla_Proteccion_datos.pdf
  51. 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
  52. Cloudflare, Data Processing Addendum (versión 6.4, 3 de abril de 2026): cloudflare.com/cloudflare-customer-dpa
  53. Meta v. Bright Data (2024): zyte.com/blog/california-court-meta-ruling
  54. X Corp v. Bright Data: blog.ericgoldman.org/archives/2025/01/…
  55. hiQ v. LinkedIn, sentencia por consentimiento: newmedialaw.proskauer.com/2022/12/08/…
  56. Reddit v. SerpApi (julio de 2026): loeb.com/…/reddit-v-serpapi-llc
  57. Declaración conjunta sobre scraping, firmada por la SIC (2024): priv.gc.ca/…/js-dc_20241028