# Telegram Chat Scraper (`agentx/telegram-chat-scraper`) Actor

Telegram chat scraper for public channels, groups, and forums, returning 55 structured message fields with optional stored media. Export text, senders, timestamps, views, replies, forwards, reactions, topics, service events, URLs, hashtags, and media from a start date.

- **URL**: https://apify.com/agentx/telegram-chat-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** Social media, Agents, Integrations
- **Stats:** 312 total users, 28 monthly users, 99.1% runs succeeded, 6 bookmarks
- **User rating**: 4.10 out of 5 stars

## Pricing

from $0.41 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**Telegram Chat Scraper is a telegram chat scraper that exports public channel, group, and forum messages as 55-field Dataset rows with optional stored media.** It is built for analysts and developers who need ordered Telegram history with source links, sender context, engagement, topics, replies, forwards, and service events.

[![Apify Users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~telegram-chat-scraper\&query=%24.data.stats.totalUsers\&style=for-the-badge\&label=Apify%20Users\&color=ff9013)](https://apify.com/agentx/telegram-chat-scraper) [![Apify Runs](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~telegram-chat-scraper\&query=%24.data.stats.totalRuns\&style=for-the-badge\&label=Apify%20Runs\&color=ff9013)](https://apify.com/agentx/telegram-chat-scraper) [![price](https://img.shields.io/badge/%240.00054%20%2F%20result-4285f4?style=for-the-badge)](https://apify.com/agentx/telegram-chat-scraper/pricing) [![capability](https://img.shields.io/badge/55%20structured%20fields-34a853?style=for-the-badge)](https://console.apify.com/actors/agentx~telegram-chat-scraper/input) [![API + MCP ready](https://img.shields.io/badge/API%20%2B%20MCP%20ready-fbbc05?style=for-the-badge)](https://apify.com/agentx/telegram-chat-scraper/api)

- **Public Telegram coverage.** Resolve a public channel, group, or forum from a username, `@handle`, or canonical `t.me` URL.
- **Structured history.** Return message identity, content, sender facts, visible engagement, replies, topics, albums, forwards, and service actions.
- **Selectable media scope.** Keep a metadata-only run, store photos, or store supported photos and document-based media.
- **Incremental persistence.** Save ordered batches while history is read, so completed batches remain available if a long run ends early.

The smallest useful text-only run costs up to **$0.01054** at FREE event prices: one $0.01 Actor Start plus one $0.00054 Result.

### Why Choose Telegram Chat Scraper

Telegram Chat Scraper turns message history into rows that can be filtered, joined, exported, scheduled, and reviewed without manual copying.

**Conversation context stays attached.** `reply_to`, `thread_id`, `reply_quote`, `topic_name`, and `album_id` help distinguish a standalone post from a reply, forum thread, quoted response, or media album.

**Sender facts stay separate from chat facts.** Sender IDs, usernames, names, rank, boost count, and flags are published only when Telegram exposes them; unsigned channel posts do not invent a person.

**Engagement remains source-labeled.** Views, replies, forwards, and reaction counts are observations from Telegram, not estimates of unique people or sentiment.

**Media is optional.** `text` reports media metadata without storing files, `image` stores photos, and `all` adds supported video, GIF, audio, voice, document, and sticker files when available.

**Source gaps remain gaps.** Missing optional values are omitted instead of being filled with request data, guessed labels, zeroes, or current timestamps.

### Quick Start Guide

#### Configure

Open the [input form](https://console.apify.com/actors/agentx~telegram-chat-scraper/input). The prefilled one-result profile uses the public `aipost` channel, text mode, and the lowest supported result limit.

#### Run

Start with this bounded request:

```json
{
  "telegram_url": "https://t.me/aipost",
  "download_medias": "text",
  "max_results": 1
}
```

Set `start_date` only when you need a history boundary. A value such as `7 days` begins at that relative UTC lookback and proceeds toward the present.

#### Collect

Open the default Dataset and verify the item count, `id`, `date`, `source_url`, and `processed_at`. Export through Apify's Dataset formats or continue through the API, MCP, schedules, webhooks, or another Actor.

### Input Parameters

Four input parameters control the public target, media storage, history boundary, and maximum number of publishable rows.

| Parameter | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `telegram_url` | string | Yes | Public username, `@handle`, `t.me/username`, or `t.me/s/username`; private invite links are rejected | `https://t.me/aipost` |
| `download_medias` | enum (3 values) | Yes | `text`, `image`, or `all` | `text` |
| `start_date` | string | No | UTC `YYYY-MM-DD` or a relative lookback such as `7 days`, `2 weeks`, `1 month`, or `1 year` | `7 days` |
| `max_results` | integer | Yes | Minimum 1; no schema maximum for paying runs; free-plan runs are capped at 10 | `1` |

`max_results` counts publishable Dataset rows, not raw source objects. Reading begins at the oldest message that matches the optional boundary. When a chat contains fewer matching messages than requested, the Actor returns all available publishable rows.

### Output Data Schema

One Dataset row represents one publishable Telegram message or service event, with 55 documented fields and source-absent values omitted.

| Group | Fields |
| --- | --- |
| Chat | `chat_id`, `chat_username`, `chat_title`, `chat_type`, `chat_description`, `chat_member_count` |
| Message | `id`, `source_url`, `type`, `date`, `edit_date`, `text` |
| Sender | `sender`, `sender_id`, `sender_username`, `sender_name`, `sender_flags`, `sender_rank`, `sender_boost_count` |
| Conversation | `topic_name`, `reply_to`, `thread_id`, `reply_quote`, `album_id` |
| Engagement | `view_count`, `reply_count`, `forward_count`, `reactions` |
| References | `urls`, `hashtags`, `link_preview`, `poll`, `location`, `forward_info`, `via_bot_id` |
| Media | `media_type`, `media_name`, `media_size`, `media_duration`, `media_mime_type`, `media_extension`, `media_width`, `media_height`, `media_emoji`, `media_streamable`, `media_round`, `media_has_stickers`, `media_url` |
| State and service | `restriction_reasons`, `service_type`, `service_info`, `silent`, `pinned` |
| Processing | `processor`, `processed_at` |

This abbreviated item uses the shared `aipost` scenario; real rows expose only the applicable subset of the 55 fields:

```json
{
  "chat_id": 1526709058,
  "chat_username": "aipost",
  "chat_title": "AI Post — Artificial Intelligence",
  "chat_type": "channel",
  "id": 101,
  "source_url": "https://t.me/aipost/101",
  "type": "regular",
  "date": "2024-01-15T12:00:00+00:00",
  "text": "Example public post with #ai",
  "view_count": 2500,
  "hashtags": ["#ai"],
  "media_type": "photo",
  "processor": "https://apify.com/username/actor_name",
  "processed_at": "2026-08-12T12:00:00+00:00"
}
```

Dataset items can be downloaded as JSON, JSONL, CSV, Excel, XML, or RSS, or read through the Dataset API.

### Integration Examples

Use Actor ID `CTS2Fv7KyZuiQeSJ8` or the name form `agentx/telegram-chat-scraper` with the same `aipost` text-only scenario.

#### Actor ID

```text
CTS2Fv7KyZuiQeSJ8
```

#### HTTP

```bash
curl -X POST "https://api.apify.com/v2/acts/CTS2Fv7KyZuiQeSJ8/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"telegram_url":"https://t.me/aipost","download_medias":"text","max_results":1}'
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")
run = client.actor("CTS2Fv7KyZuiQeSJ8").call(run_input={
    "telegram_url": "https://t.me/aipost",
    "download_medias": "text",
    "max_results": 1,
})
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
```

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('CTS2Fv7KyZuiQeSJ8').call({
  telegram_url: 'https://t.me/aipost',
  download_medias: 'text',
  max_results: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

#### Make.com and n8n

In Make.com, choose the Apify **Run an Actor** module, paste `CTS2Fv7KyZuiQeSJ8`, and map the three JSON inputs from the shared scenario. In n8n, use the Apify node or an HTTP Request node with the same Actor ID and payload, then read the run's default Dataset.

#### MCP

Follow the [official Apify MCP guide](https://docs.apify.com/platform/integrations/mcp), connect `https://mcp.apify.com/?token=YOUR_TOKEN`, and call:

```json
{
  "actor": "agentx/telegram-chat-scraper",
  "input": {
    "telegram_url": "https://t.me/aipost",
    "download_medias": "text",
    "max_results": 1
  }
}
```

### Pricing

At FREE prices, each Result is $0.00054, Actor Start is $0.01, and the smallest one-result text run totals $0.01054 before platform usage outside event pricing.

| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Actor Start (once per run) | $0.01000 | $0.01000 | $0.01000 | $0.01000 | $0.01000 | $0.01000 |
| Result (per Dataset row) | $0.00054 | $0.00049 | $0.00043 | $0.00041 | $0.00041 | $0.00041 |
| Media (per stored file) | $0.00100 | $0.00090 | $0.00080 | $0.00075 | $0.00075 | $0.00075 |

Smallest useful run: `$0.01000 + 1 × $0.00054 = $0.01054`. A 100-result run with 10 stored files is `$0.01000 + 100 × $0.00054 + 10 × $0.00100 = $0.07400` at FREE event prices.

Actor Start is one platform event per GB with a minimum of one event; the default 128 MiB run therefore incurs the minimum one start event. Prices can change, so confirm the [live pricing page](https://apify.com/agentx/telegram-chat-scraper/pricing) before budgeting.

### Use Cases

**Public community research:** combine `date`, `sender_name`, `topic_name`, `reply_to`, and `reactions` to review how a bounded discussion unfolded.

**Channel monitoring:** schedule a recent `start_date`, retain `source_url` and `id`, and compare views, forwards, links, and hashtags in a downstream table.

**Content archives:** export `text`, `date`, `urls`, `forward_info`, and stored `media_url` values for an authorized reference collection.

**Forum analysis:** use `thread_id`, `topic_name`, `reply_quote`, and `album_id` to preserve the structure that a flat text export loses.

**Media review:** choose `image` or `all`, then apply your own retention, access-control, and malware-scanning policy to stored files.

### Alternatives

Manual Telegram review is best for a few posts when a person needs immediate context and no repeatable Dataset. Telegram Desktop's official export is better when you control the account and need an offline personal archive; Telegram documents that export workflow in its [Chat Export Tool](https://telegram.org/blog/export-and-more).

Telegram Chat Scraper is the better fit when a public username must feed an Apify Dataset, API, schedule, webhook, or MCP workflow. A custom client offers deeper control over credentials and recovery, but it also requires ownership of authentication, rate-limit handling, storage, and ongoing maintenance.

Choose something else for private invite links, member-list extraction, real-time moderation, identity verification, sentiment scoring, or cross-platform discovery. Those are different data contracts.

### Limits and Troubleshooting

- **Target rejected →** the value is blank, private, or not a supported username form → use a bare username, `@username`, `t.me/username`, or `t.me/s/username`.
- **No rows →** the date window is empty or the target is unavailable → remove `start_date`, select `text`, request 1, and verify the public username in Telegram.
- **Fewer rows than requested →** the chat has fewer publishable messages, the free cap applied, or some source objects were not publishable → compare the requested boundary with returned IDs and dates.
- **Media URL absent →** media was not selected, not available, too large, unsupported, or failed to store → rerun a one-result `image` test on a known photo post and inspect the Key-Value Store.
- **Views changed →** Telegram's counters are source observations and may evolve → preserve `processed_at` and compare like-for-like timestamps.
- **Long history interrupted →** source or runtime limits ended the run → use a later `start_date`; already pushed batches remain in the Dataset.

For a reproducible defect, open [Issues](https://apify.com/agentx/telegram-chat-scraper/issues) with the run ID, exact sanitized input, expected rows, actual rows, and whether media storage was enabled.

### Trust and Reliability

The Actor runs on Apify, publishes a 55-field Dataset contract, and bills only Actor Start, successful Dataset Results, and successfully stored media files under the configured event pricing.

Telegram remains the source of chat identity, timestamps, sender facts, counters, reactions, message relationships, service actions, and media availability. The [official Telegram channel documentation](https://core.telegram.org/api/channel) explains that channels, supergroups, and forums share related message structures while retaining different roles.

Rows use source values or deterministic links built from source usernames and message IDs. Request values do not backfill missing source facts, and `processed_at` is separate from Telegram's message date.

### Legal and Compliance

**Public scope.** Use public username-addressable chats you are authorized to process; private invite links are not supported.

**Responsible handling.** Follow Telegram's terms, applicable law, privacy duties, copyright, and your retention policy. Sender labels and flags can be personal data even in a public chat.

**No harmful use.** Do not use exports for harassment, surveillance, spam, sensitive profiling, credential collection, or unauthorized redistribution. Scan downloaded files and restrict access before opening or forwarding them.

### Frequently Asked Questions

#### How do I scrape telegram group messages?

Use the group's public username or `t.me` URL, choose a media mode, and set `max_results`; private invite links cannot be opened by this Actor.

#### How does telegram message history export work?

The Actor starts at the oldest message or the optional `start_date`, moves toward the present, and writes each publishable message or service event as an ordered Dataset row.

#### Is there a free Telegram data API?

You can test the Actor on Apify's available free platform allowance, but event pricing still applies: the smallest FREE-price one-result run is $0.01054.

#### Can I schedule runs to monitor Telegram chats over time?

Yes. Use Apify schedules with a recent relative `start_date`, then deduplicate downstream by chat identity and message `id` because the Actor does not maintain a cross-run checkpoint input.

#### Are Telegram views unique people?

No. `view_count` preserves Telegram's visible counter; Telegram's [Channels FAQ](https://telegram.org/faq_channels?setln=en) notes that channel view counts are approximate.

#### What does all media include?

`all` stores supported photos, videos, GIFs, audio, voice, documents, and stickers when available, while each row still reports media metadata even when no file is stored.

#### Does max\_results guarantee that many rows?

No. The target may have fewer publishable messages, a date boundary may narrow history, the free-plan cap may apply, or source failures may reduce output.

### Related AgentX Actors

AgentX publishes 77 Actors — the three closest Telegram tools first, then the full catalog by category.

Closest to this Actor:

- [Telegram Info Scraper](https://apify.com/agentx/telegram-info-scraper) resolves public profile and chat metadata rather than message history.
- [Telegram Member Scraper](https://apify.com/agentx/telegram-member-scraper) exports visible participant data where Telegram permits it.
- [Telegram Private Group Scraper](https://apify.com/agentx/telegram-private-group-scraper) covers an authenticated private-group workflow with its own authorization requirements.

#### Business and Market Intelligence

- **[Google Keyword Trends](https://apify.com/agentx/google-keyword-trends)** — Google Trends keyword interest, compared five at a time
- **[Google Trends Scraper](https://apify.com/agentx/google-trends-scraper)** — Google Trends trending searches
- **[Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper)** — Google Maps business listings
- **[LinkedIn Company Lookup](https://apify.com/agentx/linkedin-company-lookup)** — LinkedIn company records
- **[LinkedIn Profile Lookup](https://apify.com/agentx/linkedin-profile-lookup)** — LinkedIn profile records
- **[Weather Forecast API](https://apify.com/agentx/weather-forecast-api)** — forecast and historical weather data

#### Jobs and Hiring

- **[All Jobs Scraper](https://apify.com/agentx/all-jobs-scraper)** — multi-platform job listings
- **[Bayt Jobs Scraper](https://apify.com/agentx/bayt-jobs-scraper)** — Bayt job listings
- **[Glassdoor Jobs Scraper](https://apify.com/agentx/glassdoor-jobs-scraper)** — Glassdoor job listings
- **[Indeed Jobs Scraper](https://apify.com/agentx/indeed-jobs-scraper)** — Indeed job listings
- **[JobStreet Company Profile](https://apify.com/agentx/jobstreet-company-profile)** — JobStreet employer records
- **[Jooble Jobs Scraper](https://apify.com/agentx/jooble-jobs-scraper)** — Jooble job listings
- **[LinkedIn Jobs Scraper](https://apify.com/agentx/linkedin-jobs-scraper)** — LinkedIn job listings
- **[Naukri Jobs Scraper](https://apify.com/agentx/naukri-jobs-scraper)** — Naukri job listings
- **[Talent Jobs Scraper](https://apify.com/agentx/talent-jobs-scraper)** — Talent.com job listings
- **[ZipRecruiter Jobs Scraper](https://apify.com/agentx/ziprecruiter-jobs-scraper)** — ZipRecruiter job listings

#### Social Media

- **[Instagram Creator Scraper](https://apify.com/agentx/instagram-creator-scraper)** — Instagram creator profiles
- **[Instagram Reels Scraper](https://apify.com/agentx/instagram-reels-scraper)** — Instagram Reels metadata
- **[Instagram Trending Scraper](https://apify.com/agentx/instagram-trending-scraper)** — Instagram trending content
- **[Medium Scraper](https://apify.com/agentx/medium-scraper)** — Medium articles
- **[Medium Profile Scraper](https://apify.com/agentx/medium-profile-scraper)** — Medium author profiles
- **[Reddit Profile Scraper](https://apify.com/agentx/reddit-profile-scraper)** — Reddit user profiles
- **[Reddit Viral Scraper](https://apify.com/agentx/reddit-viral-scraper)** — Reddit viral posts
- **[SubReddit Info Scraper](https://apify.com/agentx/subreddit-info-scraper)** — subreddit metadata
- **[Subreddit Members Scraper](https://apify.com/agentx/subreddit-members-scraper)** — subreddit member lists
- **[Subreddit Posts Scraper](https://apify.com/agentx/subreddit-posts-scraper)** — subreddit post feeds
- **[Telegram Info Scraper](https://apify.com/agentx/telegram-info-scraper)** — Telegram channel metadata
- **[Telegram Member Adder](https://apify.com/agentx/telegram-member-adder)** — Telegram group membership management
- **[Telegram Member Scraper](https://apify.com/agentx/telegram-member-scraper)** — Telegram group members
- **[Telegram Private Group Scraper](https://apify.com/agentx/telegram-private-group-scraper)** — private Telegram group data
- **[TikTok Creator API](https://apify.com/agentx/tiktok-creator-api)** — TikTok creator profiles
- **[TikTok User Lookup](https://apify.com/agentx/tiktok-user-lookup)** — TikTok account records
- **[X Twitter Community API](https://apify.com/agentx/x-twitter-community-api)** — X community data
- **[X Twitter Profile Lookup](https://apify.com/agentx/x-twitter-profile-lookup)** — X profile records
- **[YouTube Creator Email Scraper](https://apify.com/agentx/youtube-creator-email-scraper)** — YouTube creator contact data

#### Video, Transcripts and Downloads

- **[All Video Scraper](https://apify.com/agentx/all-video-scraper)** — multi-platform video metadata
- **[Video Transcript](https://apify.com/agentx/video-transcript)** — multi-platform transcripts
- **[Video Captions Downloader](https://apify.com/agentx/video-captions-downloader)** — caption files
- **[Video to Social Post](https://apify.com/agentx/video-to-social-post)** — video repurposed into social copy
- **[YouTube Transcript](https://apify.com/agentx/youtube-transcript)** — YouTube transcripts
- **[TikTok Transcript](https://apify.com/agentx/tiktok-transcript)** — TikTok transcripts
- **[X Twitter Transcript](https://apify.com/agentx/x-twitter-transcript)** — X video transcripts
- **[Facebook Transcript](https://apify.com/agentx/facebook-transcript)** — Facebook video transcripts
- **[Bilibili Transcript](https://apify.com/agentx/bilibili-transcript)** — Bilibili transcripts
- **[Dailymotion Transcript](https://apify.com/agentx/dailymotion-transcript)** — Dailymotion transcripts
- **[Rutube Transcript](https://apify.com/agentx/rutube-transcript)** — Rutube transcripts
- **[Loom Transcript](https://apify.com/agentx/loom-transcript)** — Loom transcripts
- **[Wistia Transcript](https://apify.com/agentx/wistia-transcript)** — Wistia transcripts
- **[Instagram Reels Downloader](https://apify.com/agentx/instagram-reels-downloader)** — Reels downloads
- **[Kick Clip Downloader](https://apify.com/agentx/kick-clip-downloader)** — Kick clip downloads
- **[Linkedin Video Downloader](https://apify.com/agentx/linkedin-video-downloader)** — LinkedIn video downloads
- **[Pinterest Video Downloader](https://apify.com/agentx/pinterest-video-downloader)** — Pinterest video downloads
- **[Reddit Video Downloader](https://apify.com/agentx/reddit-video-downloader)** — Reddit video downloads
- **[Snapchat Video Downloader](https://apify.com/agentx/snapchat-video-downloader)** — Snapchat video downloads
- **[TED Talk Downloader](https://apify.com/agentx/ted-talk-downloader)** — TED talk downloads
- **[TikTok Live Downloader](https://apify.com/agentx/tiktok-live-downloader)** — TikTok live downloads
- **[Twitch VOD Downloader](https://apify.com/agentx/twitch-vod-downloader)** — Twitch VOD downloads
- **[Zoom Recording Downloader](https://apify.com/agentx/zoom-recording-downloader)** — Zoom recording downloads

#### E-Commerce and Retail

- **[All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper)** — multi-platform product data
- **[AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper)** — AliExpress products
- **[Amazon Storefront Scraper](https://apify.com/agentx/amazon-storefront-scraper)** — Amazon Brand Store pages
- **[Bol Product Scraper](https://apify.com/agentx/bol-product-scraper)** — Bol.com products
- **[eBay Seller Leads API](https://apify.com/agentx/ebay-seller-leads-api)** — eBay seller records
- **[Hepsiburada Product Scraper](https://apify.com/agentx/hepsiburada-product-scraper)** — Hepsiburada products
- **[Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper)** — Kakaku.com products
- **[Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper)** — Rakuten products

#### Classifieds and Automotive

- **[All Vehicle Scraper](https://apify.com/agentx/all-vehicle-scraper)** — multi-platform vehicle listings
- **[AutoTrader Vehicle Search](https://apify.com/agentx/autotrader-vehicle-search)** — AutoTrader US listings
- **[AutoTrader UK Vehicle Search](https://apify.com/agentx/autotrader-uk-vehicle-search)** — AutoTrader UK listings

#### Real Estate

- **[All Property Scraper](https://apify.com/agentx/all-property-scraper)** — multi-platform property listings
- **[Homes Property Scraper](https://apify.com/agentx/homes-property-scraper)** — Homes.com listings
- **[MagicBricks Property Scraper](https://apify.com/agentx/magicbricks-property-scraper)** — MagicBricks listings
- **[NoBroker Property Scraper](https://apify.com/agentx/nobroker-property-scraper)** — NoBroker listings
- **[Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper)** — Property24 listings
- **[Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper)** — Realtor.com listings
- **[Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper)** — Zillow listings

### Support and Community

Ask about public Telegram history, media exports, fields, pricing, or integrations in the [AgentX community on Telegram](https://t.me/Apify_Actor); for a reproducible bug, open an Issue with the run ID and exact sanitized input.

AgentX is an Arcyton brand — [arcyton.com](https://arcyton.com).

**Last Updated:** August 15, 2026

# Actor input Schema

## `telegram_url` (type: `string`):

Public Telegram channel, group, or forum as a bare username, @username, or canonical t.me username URL. Private invite and join links are rejected.

## `download_medias` (type: `string`):

Choose text to return metadata without storing files, image to store photos, or all to store supported photos, videos, GIFs, audio, voice, documents, and stickers.

## `start_date` (type: `string`):

Optional UTC boundary as YYYY-MM-DD or a relative lookback such as '7 days', '2 weeks', '1 month', or '1 year'. Messages are read from that point toward the present.

## `max_results` (type: `integer`):

Maximum publishable messages to return. The minimum is 1 with no schema maximum for paying runs; free-plan runs are capped at 10. Reading starts at the oldest matching message and saved batches remain available if a run stops early.

## Actor input object example

```json
{
  "telegram_url": "https://t.me/aipost",
  "download_medias": "text",
  "max_results": 1
}
```

# Actor output Schema

## `results` (type: `string`):

Telegram message records in the default dataset, including media URLs when files were requested and stored.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "telegram_url": "https://t.me/aipost",
    "download_medias": "text",
    "max_results": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/telegram-chat-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "telegram_url": "https://t.me/aipost",
    "download_medias": "text",
    "max_results": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/telegram-chat-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "telegram_url": "https://t.me/aipost",
  "download_medias": "text",
  "max_results": 1
}' |
apify call agentx/telegram-chat-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agentx/telegram-chat-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CTS2Fv7KyZuiQeSJ8/builds/Ht6bGXHkSxXOjuU9d/openapi.json
