Skip to main content

Slack API & rate limits

This page documents the Slack Web API endpoints SlackVault reads from and how it stays within Slack's rate limits.

Endpoints used

All endpoints are read-only GET-style Web API methods.

MethodPurpose
conversations.listList all channels (public, private, DMs) you can access
conversations.historyFetch message history for a channel
conversations.repliesFetch thread replies for a parent message
users.listList all workspace members
users.infoDetailed info for a specific user
files.listList files shared in the workspace
team.infoWorkspace information
tip

SlackVault handles rate limits automatically with exponential back-off. If it hits a limit, syncing pauses and resumes on its own.

Slack rate-limit tiers

TierRequests/minExample methods
Tier 11most restrictive (admin.*)
Tier 220conversations.list, users.list
Tier 350conversations.history, users.info
Special100+auth.test, api.test

SlackVault uses a queue-based approach: one request at a time with ~1.2 seconds between requests. That yields roughly 50 requests/minute, staying safely under the Tier 3 limit while maximizing throughput.

Sync time by workspace size

These are rough estimates — actual time depends on history depth and network conditions:

WorkspaceSizeApprox. first sync
Small<50 channels, <100K messages~30 minutes
Medium50–200 channels, 100K–1M messages2–4 hours
Large200–1000 channels, 1M–10M messages12–24 hours
Enterprise1000+ channels, 10M+ messagesmultiple days

The first sync is the slow one because it pulls full history. Incremental syncs afterward only fetch new messages, so they finish in a fraction of the time.

For the captured object shapes and error codes, see the Data model.