Todos los scrapers

Social y vídeo

Telegram Scraper

t.me

99.9% Tasa de éxito
1.2s Respuesta media
Bot detection + rate limiting Protección
1200 llamadas Medido sobre

Los canales públicos de Telegram se sirven mediante un endpoint de plugin dedicado en lugar de la obtención de página genérica. Dale un canal (un nombre de usuario como durov, @durov o un enlace t.me) y lee la vista previa web pública del canal y la devuelve ya analizada: el título, el @username, la descripción, el avatar y la marca de verificación del canal con sus contadores de suscriptores, fotos, vídeos y enlaces, y sus publicaciones de la más reciente a la más antigua, cada una con id, URL, fecha, el texto como texto plano y como el HTML propio de Telegram, vistas, la firma del autor, un indicador de editado, el canal del que se reenvió una publicación, la publicación a la que responde, los archivos multimedia (fotos, vídeos, vídeos redondos, notas de voz y stickers con sus enlaces de la CDN de Telegram, archivos de audio y documentos con su título y tamaño), encuestas, vistas previas de enlaces, reacciones con sus recuentos, botones en línea, y los enlaces, hashtags y menciones del texto. Sin max_posts una llamada lee una página, las publicaciones más recientes (unas 20); con él, el plugin retrocede por el historial del canal hasta reunir hasta 500, mientras before, after y since acotan el rango, q busca dentro del canal y post_id (o un enlace a una publicación) devuelve una sola publicación. Solo funciona con canales públicos que tienen vista previa web: los usuarios, bots, grupos y canales privados no la tienen, y los comentarios, que viven en un grupo de debate aparte, no se incluyen. No interviene ninguna cuenta de Telegram, token de bot ni clave de API.

Qué puedes extraer

  • Título, @username, descripción, avatar y marca de verificación del canal
  • Número de suscriptores y los contadores de fotos, vídeos y enlaces
  • Id, URL, fecha (ISO-8601 UTC), texto plano y HTML del texto de Telegram de cada publicación
  • Vistas, firma del autor y un indicador de editado
  • Referencias de reenvío (forwardedFrom) y de respuesta (replyTo)
  • Archivos multimedia: fotos, vídeos, vídeos redondos, notas de voz y stickers con enlaces de la CDN de Telegram, miniaturas y duraciones; archivos de audio y documentos con título y tamaño
  • Encuestas, vistas previas de enlaces, reacciones con sus recuentos y botones en línea
  • Enlaces, hashtags y menciones del texto
  • Una página de las publicaciones más recientes por defecto, hasta 500 por llamada con max_posts, acotadas con before, after o since, y búsqueda dentro de un canal con q

Endpoints dedicados

/social/telegram-channel

Un canal público de Telegram y sus publicaciones

La vista previa web de un canal público por channel (nombre de usuario, @username o enlace t.me; un enlace a una publicación devuelve esa publicación): channel (username, url, title, description, avatar, verified, subscribers, counters) y posts de la más reciente a la más antigua con id, url, date, text, textHtml, views, author, edited, forwardedFrom, replyTo, media (type, url, thumbnail, duration, o title y size para los archivos), poll, linkPreview, reactions, buttons, links, hashtags y mentions. Una página (unas 20 publicaciones) por defecto; max_posts de 1 a 500 retrocede por el historial, before continúa por debajo de un id de publicación (pasa nextBefore), after y since (AAAA-MM-DD) se detienen en un id de publicación o una fecha, q busca dentro del canal y post_id devuelve una publicación. Cada respuesta incluye postsReturned, pagesFetched, hasMore y nextBefore.

Cómo rastrearlo

curl -X POST \
  -H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
  "https://api.scrapeunblocker.com/social/telegram-channel?channel=durov&max_posts=40"
import requests

resp = requests.post(
    "https://api.scrapeunblocker.com/social/telegram-channel",
    headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
    params={"channel": "durov", "max_posts": "40"},
)
print(resp.text)
import { ScrapeUnblockerClient } from 'scrapeunblocker';

const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });

const channel = await su.telegramChannel('durov', {
  maxPosts: 40,
});
console.log(channel);

Las peticiones son POST y sus parámetros van en la query string. El renderizado en navegador siempre ocurre: no hay ningún flag que activar.

Ejemplo de respuesta

{
  "channel": {
    "username": "durov",
    "url": "https://t.me/durov",
    "title": "Pavel Durov",
    "description": "Founder of Telegram.",
    "avatar": "https://cdn4.telesco.pe/file/ZmgDSnVaNbJG2t9mSNAUKDOGVg0AEDnNQRnooGnt_A3z8M832bl...jpg",
    "verified": true,
    "subscribers": 10500000,
    "subscribersRaw": "10.5M",
    "counters": { "subscribers": 10500000, "photos": 102, "videos": 46, "links": 200 }
  },
  "query": { "maxPosts": 40 },
  "posts": [
    {
      "id": 546,
      "url": "https://t.me/durov/546",
      "channel": "durov",
      "type": "message",
      "date": "2026-08-31T16:30:15Z",
      "text": "🏳️ Gram Wallet in Telegram is ready and is now accessible to a select group of users...",
      "textHtml": "...Gram Wallet in Telegram is ready and is now accessible to a select group of users.<br/><br/>...",
      "views": 3210000,
      "viewsRaw": "3.21M",
      "author": "Pavel Durov",
      "edited": false,
      "media": [
        {
          "type": "video",
          "url": "https://cdn4.telesco.pe/file/e0b2769474.mp4?token=Eb2XGKYH0FySr2g4...",
          "thumbnail": "https://cdn4.telesco.pe/file/uz8d2sdnRZENi9ZLOZPbWHDwy8fQsxO...jpg",
          "duration": "0:20",
          "durationSeconds": 20,
          "postId": 546
        }
      ],
      "reactions": [
        { "emoji": "⭐", "paid": true, "count": 35600, "countRaw": "35.6K" },
        { "customEmojiId": "5399847211989246390", "count": 26800, "countRaw": "26.8K" },
        { "emoji": "😺", "customEmojiId": "5373223594484587136", "image": "https://telegram.org/img/emoji/40/F09F98BA.png", "count": 8740, "countRaw": "8.74K" }
      ]
    },
    {
      "id": 526,
      "url": "https://t.me/durov/526",
      "channel": "durov",
      "type": "message",
      "date": "2026-06-13T20:15:20Z",
      "text": "🖥 Don't be surprised if you see tables, nested lists, inline media, formulas, headers and more in Telegram messages...",
      "views": 23100000,
      "viewsRaw": "23.1M",
      "author": "Pavel Durov",
      "edited": false,
      "media": [
        {
          "type": "animation",
          "url": "https://cdn4.telesco.pe/file/1fd3fed61d.mp4?token=Qif8hzjy6bgdJB-4...",
          "thumbnail": "https://cdn4.telesco.pe/file/dMPQRD-QbGCA0oD3YfM4HEFI03Sb23m...jpg",
          "postId": 526
        }
      ],
      "reactions": [
        { "emoji": "⭐", "paid": true, "count": 5980, "countRaw": "5.98K" },
        { "customEmojiId": "5465587407350942612", "count": 45900, "countRaw": "45.9K" }
      ],
      "links": ["https://core.telegram.org/bots/api#rich-message-formatting-options"]
    }
  ],
  "postsReturned": 40,
  "pagesFetched": 3,
  "hasMore": true,
  "nextBefore": 507
}

Leer la documentación

Preguntas frecuentes

¿Es legal hacer scraping de canales de Telegram?

Recopilar las publicaciones públicas de canales públicos de Telegram es lícito en muchas jurisdicciones, pero las normas dependen de tu país, de los datos que recopiles y de cómo los uses. Las publicaciones pueden nombrar o mostrar a personas, así que cumple las normas de privacidad que se te apliquen. ScrapeUnblocker devuelve lo que muestra la vista previa web pública del canal; qué recopilas y cómo lo usas es responsabilidad tuya.

¿Cómo hago scraping de Telegram sin que me bloqueen?

El plugin no inicia sesión ni usa la API de Telegram: lee la vista previa web pública que Telegram sirve en t.me/s/<channel> a través de los exits rotativos de ScrapeUnblocker, y vuelve a obtener una página, hasta tres intentos, cuando lo que llega no es una página de Telegram. Una llamada profunda deja de paginar tras unos 100 segundos o 50 páginas y devuelve lo que ha reunido con un cursor para continuar. En el benchmark de ScrapeUnblocker devolvió datos reales en el 99,9 % de 1.200 llamadas, cada una con un canal público distinto (publicaciones más recientes, páginas anteriores con before y búsquedas con q), unos 1,2 s por llamada.

¿De qué canales de Telegram puedo hacer scraping?

De canales públicos con vista previa web, indicados con un nombre de usuario como durov, @durov o un enlace t.me. Los usuarios, los grupos, los canales privados y los canales cuyo propietario desactivó la vista previa no tienen vista previa pública, así que responden 404, y un nombre de usuario de bot o un enlace de invitación privado se rechaza con 400. El plugin devuelve las publicaciones del propio canal; no se incluyen los comentarios, que Telegram guarda en un grupo de debate aparte, ni las listas de miembros.

¿Cuántas publicaciones de Telegram puedo obtener?

Una llamada sin max_posts lee una página de la vista previa web: las publicaciones más recientes, unas 20 (un álbum ocupa un hueco por foto, así que una página puede contener menos publicaciones). Fija max_posts hasta 500 y el plugin sigue el propio cursor de la vista previa hacia atrás por el historial del canal, página a página, hasta 50 páginas por llamada. Para ir más allá, vuelve a llamar con before igual al nextBefore de la respuesta anterior, hasta que hasMore sea false. after (un id de publicación) y since (una fecha) detienen el recorrido en un punto, lo que encaja para consultar periódicamente las publicaciones nuevas; q busca dentro del canal y pagina igual, y post_id o un enlace a una publicación como https://t.me/durov/400 devuelve una sola publicación.

¿Qué datos obtengo de cada publicación de Telegram?

Cada publicación trae su id, su URL y su fecha en ISO-8601 UTC, el texto como texto plano y como el HTML propio de Telegram, el número de vistas, la firma del autor cuando el canal la muestra, un indicador de editado, una referencia forwardedFrom para las publicaciones reenviadas y una referencia replyTo para las respuestas, sus archivos multimedia con tipo y, según el tipo, enlace de la CDN de Telegram, miniatura y duración o título y tamaño del archivo, una encuesta con su pregunta, opciones, porcentajes y votantes, una vista previa de enlace con sitio, título, descripción e imagen, las reacciones con sus recuentos (las reacciones de estrellas de pago van marcadas), los botones en línea, y los enlaces, hashtags y menciones del texto. La cabecera del canal añade el título, la descripción, el avatar, la marca de verificación y el número de suscriptores.

¿Cuánto cuesta hacer scraping de Telegram?

Cada página de vista previa web obtenida se factura como una petición. Una llamada sin max_posts lee una página y cuesta 1 petición; una llamada con max_posts cuesta una petición por cada página recorrida, unas 20 publicaciones por página (menos en canales con muchos álbumes), hasta 50 páginas, y pagesFetched muestra el número exacto. 1 petición = 1 crédito, 1,00 EUR por cada 1.000 en Pay as you go, bajando hasta unos 0,55 EUR por cada 1.000 en el plan Ultimate. No se facturan los bloqueos ni los timeouts, y la prueba gratuita incluye 500 peticiones sin tarjeta.

Scrapers relacionados

Empieza a rastrear este sitio hoy

Plan gratuito incluido. No necesitas tarjeta para probarlo.