Slack Messages Downloader avatar
Slack Messages Downloader

Pricing

Pay per usage

Go to Apify Store
Slack Messages Downloader

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á

Zuzka Pelechová

Maintained by Community

Actor stats

1

Bookmarked

57

Total users

3

Monthly active users

12 days

Issues response

3 days ago

Last modified

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.

  1. Create a free Apify account.
  2. Open Slack Messages Downloader.
  3. Enter the Slack channel ID you want to download messages from.
  4. Enter a Slack bot token.
  5. Choose how many days into the past you want to fetch messages.
  6. Click Start and wait for the run to finish.
  7. 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:history
  • channels: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
oldest specifies 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 date field (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