Slack Messages Downloader
Pricing
Pay per usage
Slack Messages Downloader
Download message history from a public Slack channel. Extract message text, timestamps, user IDs, reactions, thread metadata, and files. Automatically paginates results and exports data in JSON, CSV, Excel, XML, or HTML for backups and reports.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Zuzka Pelechová
Actor stats
1
Bookmarked
57
Total users
3
Monthly active users
12 days
Issues response
3 days ago
Last modified
Categories
Share
Slack Messages Downloader is an Apify actor that lets you download message history from a public Slack channel.
You can select how far into the past you want to go, and the actor will retrieve all available messages in that time range, automatically handling Slack API pagination.
To get started, simply provide a Slack channel ID and a Slack bot token, then click Save & Start.
Why download Slack message history?
📚 Create archives of important Slack channels
📇 Export Slack conversations for reporting or analysis
💾 Back up Slack channel data
📒 Keep records of discussions, decisions, or incident reports
How it works
The actor:
- Joins the specified public Slack channel (if not already joined)
- Fetches all messages within the selected time range
- Automatically paginates Slack API responses (no fixed message limit)
- Saves all retrieved messages into an Apify dataset
How to download messages from Slack
Slack Messages Downloader is designed to be easy to use, even if you’ve never worked with Slack APIs before.
- Create a free Apify account.
- Open Slack Messages Downloader.
- Enter the Slack channel ID you want to download messages from.
- Enter a Slack bot token.
- Choose how many days into the past you want to fetch messages.
- Click Start and wait for the run to finish.
- Download your data in JSON, CSV, Excel, XML, or HTML format.
Input
The input consists of:
- Slack channel ID
- Slack bot token
- Number of days to look back
Slack channel ID
You can find the channel ID:
- In the channel URL (Slack web)
- In Channel details → About → Scroll down (Slack app)
Slack bot token
Your Slack bot token must have the following scopes:
channels:historychannels:join
You can configure these scopes in Slack API → OAuth & Permissions → Scopes, then reinstall the app to generate a new token.
Example input
{"channel": "ABC33ABC","oldest": 10,"token": "ENCRYPTED_VALUE:12345678900987654321Token"}
Note
oldestspecifies how many days into the past the actor should fetch messages
(for example,10= last 10 days).
For the full input schema, see the Input tab on the actor page.
Output
All retrieved messages are stored in an Apify dataset.
Each dataset item represents a single Slack message and may include:
- Message text
- Timestamp
- User ID
- Attachments and files (if present)
- Reactions
- Thread metadata (reply count, reply users, thread timestamp)
- A computed
datefield (YYYY-MM-DD)
Example output (JSON excerpt)
{"type": "message","text": "Another bug report! Seems that we’re missing some origins in the run tooltip.","user": "USERCODE567","ts": "1671940306.621639","reply_count": 8,"reactions": [{"name": "pull-request","users": ["US98SKW4W"],"count": 1}],"date": "2023-02-01"}
Limitations & notes
- Only public Slack channels are supported
- There is no fixed message limit; all messages in the selected time range are fetched using Slack API pagination
- Slack API rate limits apply
- Large channels may take longer to process
- File URLs require a valid Slack token to access
Want to automate Slack notifications or messages?
If you’re interested in sending messages or notifications to Slack instead of downloading them, check out these Apify actors:
💌 Slack Message Generator
🐈 GitHub Issues to Slack
⚠️ Slack Notification Webhook
👀 Monitoring Reporter Slack
