Telegram Ads Benchmarks
AdsChannelsAdvertisersNiches
Stats
Sign in
Telegram Ads Benchmarks

Industry benchmarks for Telegram Ads.

live
84K
creatives
45K
advertisers
5.5M
channels in pool

Browse

  • Ads
  • Archive
  • Channels
  • Advertisers
  • Trending

Categories

  • Niches
  • Countries
  • Regions
  • Cashier apps
  • Mini-apps
  • Channel stats

Resources

  • About
  • Pricing
  • Public API
  • Submit a channel
  • Blog
  • Wiki
  • Glossary
  • FAQ

G.Media product family

We craft what deserves attention and trust.

See full family →
Ad intelligenceLIVE
Telegram Ads Spy
tgadsspy.com

Public archive of every ad on Telegram. Search, alerts, analytics.

84Kcompetitor creatives

HubNEW
Telegram Ads Hub
tgads.net

Where Telegram advertisers learn, decide, launch.

45Kadvertisers to study

CuratedNEW
Best Mini Apps
bestapps.tg

Best Telegram mini-apps · handpicked monthly by the G.Media team.

26niches · handpicked

LeaderboardNEW
Top Mini Apps
topapps.tg

Public daily leaderboard of Telegram mini-apps by active users.

1.4Kin the live ranking

Social · TelegramLIVE
Wall
wall.tg

Social Telegram Mini App for creators · powered by TON.

120,039users

G.Media·DMCC, JLT, Dubai·[email protected]·G MEDIA PARTNERS EUROPE d.o.o.

© 2026 Telegram Ads Benchmarks.
PrivacyTermsDMCA
for developerssitemap.xmlrss.xmlllms.txtopenapi.json
Home/Blog/Inmersión técnica en tgadsspy: clasificador y pipeline de ingestión de datos
Read this article in English →
2026-04-22·5 min read·by tgadsspy research

Inmersión técnica en tgadsspy: clasificador y pipeline de ingestión de datos

Documentación técnica del pipeline de datos de tgadsspy — integración con la API gramesh, arquitectura del clasificador de nichos (regex + pesos), pipeline geoclasificador de 3 pasos, almacenamiento con dirección de contenido SHA256 y caché de agregación. Para desarrolladores, investigadores y equipos de cumplimiento.

#metodología#técnico#pipeline#clasificador#osint
TelegramX

Contents

  1. Propósito y audiencia
  2. 1. Fuente de datos: API gramesh
  3. 2. Pool de canales y niveles
  4. 3. Deduplicación de creativos
  5. 4. Clasificación de nichos
  6. 5. Clasificación geográfica
  7. 6. Mirror de medios
  8. 7. Extracción de anunciantes
  9. 8. Caché de agregación
  10. 9. Spider BFS discover-similar
  11. 10. Completitud de datos y brechas conocidas
  12. 11. Licencia de datos y citación

Propósito y audiencia#

Este documento es una inmersión técnica en cómo Telegram Ads Spy recopila, clasifica y sirve datos de anuncios de Telegram. Complementa la visión general en /about con detalles a nivel de implementación. La audiencia principal: desarrolladores que construyen sobre la API pública, investigadores que necesitan entender la procedencia de los datos para citarlos, y equipos de cumplimiento que evalúan la metodología OSINT del sistema.


1. Fuente de datos: API gramesh#

Todos los datos publicitarios en Telegram Ads Spy provienen de una única fuente: la API HTTP gramesh en api.wall.systems/gramesh. gramesh es una capa de proxy/agregación sobre el protocolo MTProto de Telegram, exponiendo endpoints REST que devuelven JSON estructurado. Telegram Ads Spy usa gramesh exclusivamente — sin implementación directa de MTProto, sin scraping.

Endpoints clave utilizados#

POST /channels.getSponsored

  • Entrada: { channel_id: <int>, dc_id: <int> }
  • Salida: array de objetos de mensajes patrocinados para el canal dado en la región del centro de datos de Telegram especificado
  • Incluye: title, text, ctaUrl, ctaLabel, accentColor, mediaType, mediaUrl, ctaTargetUsername
  • URLs de medios: firmadas, TTL de 1 hora (/files/photo/<id>?sig=&exp=)

POST /channels.getInfo

  • Entrada: { username: <string> | id: <int> }
  • Salida: metadatos del canal — id, title, username, description, memberCount, avatarUrl
  • Utilizado por el cron resolver para hidratar placeholders de Channel

POST /contacts.search

  • Entrada: { q: <string> }
  • Salida: array de objetos de canal coincidentes con la consulta
  • Utilizado por el cron discover con 47 consultas seed rotativas

POST /channels.getSimilar

  • Entrada: { channel_id: <int> }
  • Salida: canales similares según el modelo de similitud interno de Telegram
  • Utilizado por el spider BFS discover-similar en proceso

2. Pool de canales y niveles#

El pipeline de ingestión opera sobre un pool de ~9.000+ canales. Los canales se clasifican por número de miembros, lo que determina la frecuencia de ingestión:

Nivel Número de miembros Intervalo de ingestión
S (Super) 1M+ 30 minutos
A 100k–1M 2 horas
B 10k–100k 8 horas
C 1k–10k 72 horas
Placeholder Desconocido No ingesta

3. Deduplicación de creativos#

Cuando el cron de ingestión recibe creativos, la deduplicación ocurre antes de cualquier almacenamiento:

huella del creativo = sha256(title + text + ctaUrl + ctaLabel + accentColor)

Un creativo se considera nuevo solo si su huella no se ha visto antes. Esto significa:

  • El mismo anuncio en 100 canales produce un registro AdCreative (no 100)
  • Cada aparición en un canal produce un registro SponsoredImpression
  • Las variaciones menores (diferente accentColor con el mismo texto) se tratan como creativos distintos — intencional, ya que las variantes de color se usan en pruebas A/B

4. Clasificación de nichos#

Cada AdCreative se clasifica en uno o más nichos. El clasificador es un sistema de detección de palabras clave ponderadas más detección de marcas implementado en lib/niche.ts.

Arquitectura#

Paso 1: Detección de marcas Una consulta contra un diccionario de ~400 marcas conocidas de anunciantes, mapeadas a su nicho principal. Ejemplos:

  • binance → crypto
  • 1xbet → gambling
  • exness → forex

Las coincidencias de marcas tienen peso alto (w=10) y dominan la clasificación cuando están presentes.

Paso 2: Puntuación de palabras clave Para cada nicho, se evalúan patrones regex contra el texto del creativo. Los patrones están diseñados para evitar falsos positivos mediante especificidad, reglas de negación y variantes de idioma.

Taxonomía de nichos#

Nichos actuales de nivel superior (abril 2026):

crypto, trading, forex, fintech, gambling, betting, vpn, dating, news, education, gaming, retail, tech, bots, adult, signals, remittance, ai, other


5. Clasificación geográfica#

El clasificador geográfico es una cascada de 3 pasos:

Paso 1: Análisis del TLD de la URL CTA El TLD de la URL CTA se analiza: .ru → RU, .com.br → BR, etc.

Paso 2: Detección de idioma en el texto del creativo Si el Paso 1 es ambiguo, se detecta el idioma: árabe → AR, cirílico → RU/CIS, devanagari → HI, hangul → KR, etc.

Paso 3: Agregación geo a nivel de canal El canal en el que apareció el creativo tiene su propia señal geo. Cuando un creativo aparece predominantemente en canales de idioma ruso, hereda esa geo.


6. Mirror de medios#

gramesh proporciona URLs firmadas con TTL de 1 hora. El cron Telegram Ads Spy-media-mirror (cada 5 minutos) procesa creativos con medios no espejados:

  1. Fetch: HTTP GET a la URL de medios firmada por gramesh
  2. Hash: SHA-256 del contenido binario sin procesar
  3. Almacenamiento: Escribe en /var/www/tgadsspy-media/<prefijo>/<sha256-hex>.<ext>
  4. Actualización: AdCreative.mediaUrl se actualiza a /m/<prefijo>/<sha256-hex>.<ext>

La caché de nginx sirve rutas /m/ con Cache-Control: public, immutable, max-age=31536000.


7. Extracción de anunciantes#

La identidad del anunciante se deriva de la URL CTA:

  • Anunciante de dominio: si ctaUrl es una URL externa, el dominio registrado se convierte en un registro Advertiser con type: domain
  • Anunciante de Telegram: si ctaUrl es una URL t.me/<username>, el nombre de usuario se convierte en un registro Advertiser con type: telegram

8. Caché de agregación#

Dos claves Redis se pre-calientan cada minuto:

Telegram Ads Spy:home:agg (TTL 120s) Contiene: recuento total de creativos, anunciantes, canales, nichos principales, 20 creativos recientes, estadísticas del día.

Telegram Ads Spy:pool:stats (TTL 600s) Contiene: recuento de canales por nivel, recuento elegible para patrocinio, países representados.


9. Spider BFS discover-similar#

Telegram Ads Spy ejecuta un spider BFS continuo usando el grafo de "canales similares" de Telegram:

  • Selección de ancla: Channel.lastSimilarCheckAt IS NULL OR < NOW()-1h
  • Fan-out: 30 canales por tick (cada minuto en proceso)
  • Cooldown de ancla: 1 hora para evitar re-spidear el mismo canal

10. Completitud de datos y brechas conocidas#

Cobertura estimada: Para mensajes patrocinados del gabinete EUR, la cobertura se estima en 65–75% de todos los creativos únicos del período.

Brechas conocidas: publicidad en grupos, mensajes de bot a usuario, resultados de bot inline, canales muy nuevos, canales con < 1k suscriptores.


11. Licencia de datos y citación#

Todos los datos están bajo CC-BY-4.0:

Fuente: tgadsspy.com · tgadsspy.com/blog/tgadsspy-classifier-pipeline-technical-deep-dive · CC-BY-4.0

Also available in:

FrenchIndonesianItalianUkrainianArabicGermanPortugueseRussianEnglishTurkish

Cite this article

tgadsspy research (2026). Inmersión técnica en tgadsspy: clasificador y pipeline de ingestión de datos. tgadsspy.com. Retrieved from https://tgadsspy.com/blog/es-tgadsspy-inmersion-tecnica-clasificador-pipeline-2026

Licensed CC-BY-4.0 — reuse allowed including commercial, attribution required.

Related research

#osint →
  • 2026-04-22

    Cómo funciona tgadsspy — metodología pública para la indexación de anuncios de Telegram