Slack Message Scraper avatar

Slack Message Scraper

Pricing

Pay per event

Go to Apify Store
Slack Message Scraper

Slack Message Scraper

Extract messages from Slack channels using browser tokens. Supports public/private channels, DMs, threads, and reactions. No OAuth app required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Extract messages from Slack channels using browser tokens. Supports public channels, private channels, DMs, group messages, threads, reactions, and file attachments. No OAuth app installation required.

How It Works

This actor uses the Slack Web API with browser tokens (the same approach used by slackdump) to extract messages from any Slack channel you have access to. You provide your browser token and cookie, and the actor handles pagination, rate limiting, and user resolution automatically.

Two actions are available:

  • Scrape Messages -- Extract messages from a specific channel, with optional thread replies, user details, and date filtering
  • Scrape Channel List -- List all channels accessible to your account (public, private, DMs, group messages)

Authentication Setup

The actor requires two credentials from your Slack browser session:

1. Get your Slack Token (xoxc-...)

  1. Open Slack in your web browser at https://app.slack.com
  2. Open DevTools (F12 or Ctrl+Shift+I)
  3. Go to Application > Local Storage > https://app.slack.com
  4. Search for a value starting with xoxc-
  5. Copy the entire value
  1. In the same DevTools window, go to Application > Cookies > https://app.slack.com
  2. Find the cookie named d
  3. Copy its value (starts with xoxd-)

Finding a Channel ID

  1. Open the channel in Slack
  2. Right-click the channel name and select Copy link
  3. The channel ID is the last segment of the URL (e.g., C01ABCDEF from https://workspace.slack.com/archives/C01ABCDEF)

Input Parameters

ParameterTypeRequiredDefaultDescription
actionstringYes-Scrape Messages or Scrape Channel List
tokenstringYes-Slack browser token (xoxc-...)
cookiestringYes-Slack d cookie (xoxd-...)
channelIdstringFor messages-Channel ID to scrape (e.g., C01ABCDEF)
maxItemsintegerNo100Maximum messages to extract (0 = no limit)
includeThreadRepliesbooleanNofalseFetch all replies for threaded messages
includeUserDetailsbooleanNotrueResolve user IDs to display names
oldestTimestampstringNo-Only fetch messages after this date (ISO format)
latestTimestampstringNo-Only fetch messages before this date (ISO format)

Output Fields

Each message record includes:

FieldTypeDescription
channel_idstringSlack channel ID
channel_namestringChannel name
channel_typestringpublic_channel, private_channel, im, mpim, or group
message_tsstringSlack message timestamp (unique ID)
thread_tsstringParent message timestamp (if threaded reply)
textstringMessage text content
user_idstringAuthor's Slack user ID
user_namestringAuthor's display name
user_real_namestringAuthor's real name
message_typestringMessage type (message, bot_message, etc.)
subtypestringMessage subtype (channel_join, file_share, etc.)
reactionsarrayEmoji reactions (e.g., "thumbsup:3")
reply_countintegerNumber of thread replies
filesarrayAttached files (name, size, URL)
is_editedbooleanWhether the message was edited
timestamp_isostringISO 8601 timestamp

Use Cases

  • Workspace backup -- Archive channel history before leaving a workspace
  • Compliance archival -- Export messages for legal or regulatory retention
  • Knowledge base extraction -- Feed Slack conversations into AI training data or documentation
  • Migration -- Export messages when moving from Slack to another platform
  • Analytics -- Analyze communication patterns, response times, or topic trends

Rate Limiting

The actor respects Slack's API rate limits (Tier 2/3: ~20-50 requests per minute). It uses a conservative delay between requests and handles HTTP 429 responses with automatic retry. Large channel histories will take longer due to these limits.

Terms of Service

This tool is intended for users extracting their own workspace data for backup, migration, or archival purposes. Users are responsible for complying with their organization's policies and Slack's Terms of Service. The actor only accesses data that the authenticated user already has permission to view.

Need More Features?

If you need additional data fields, custom output formats, or a scraper for another platform, file an issue or get in touch. We customize scrapers to fit specific requirements.