Whatsapp Channel Messages
Pricing
from $8.00 / 1,000 message scrapeds
Whatsapp Channel Messages
Fetch messages from a WhatsApp Channel by channel ID or invite code.
Pricing
from $8.00 / 1,000 message scrapeds
Rating
0.0
(0)
Developer
Romy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Fetch messages from a WhatsApp Channel by channel ID or invite code.
What does WhatsApp Channel Messages do?
This Actor retrieves messages from a WhatsApp Channel using its ID or invite code. It extracts message text, timestamps, and server IDs for further processing or analysis. Perfect for monitoring channels, archiving conversations, or integrating channel data into your applications.
Why use WhatsApp Channel Messages?
- Extract channel conversations - Get structured message data from WhatsApp Channels without manual copying
- Pagination support - Fetch messages in batches using the
beforeparameter for efficient data retrieval - Structured output - Messages are returned as clean JSON with timestamps and server IDs
- Easy integration - Combine with other Apify Actors or third-party tools for automated workflows
- Flexible input - Use channel ID, bare ID, or invite code from
whatsapp.com/channel/<code>
How to use WhatsApp Channel Messages
- Open the Actor in the Apify Console or run it locally
- Enter your WhatsApp Channel ID or invite code
- Optionally set the number of messages to fetch (default: 10, max: 100)
- For pagination, use the
beforeparameter with a server message ID from a previous run - Click Start to fetch messages
- Download the dataset as JSON, CSV, or Excel from the Results tab
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
channelId | string | ✓ | — | Channel ID (120363...@newsletter), bare ID, or invite code from whatsapp.com/channel/<code>. |
count | integer | — | 10 | Number of messages to fetch (max 100). |
before | integer | — | — | Server message ID — only return messages before this ID (for pagination). |
Input example
{"channelId": "120363012345678901@newsletter","count": 25,"before": null}
Or use an invite code:
{"channelId": "jz3vf5h","count": 10}
Output
One record per message — raw response from WhatsApp's API:
{"MessageServerID": 3349,"MessageID": "AC28F698AA5E614BAA71E922A7833032","Type": "text","Timestamp": "2026-07-06T06:40:19+07:00","ViewsCount": 0,"ReactionCounts": {"👍": 12},"Message": {"conversation": "Hello from the channel"}}
Output fields
| Field | Type | Description |
|---|---|---|
MessageServerID | integer | Unique server-side message ID (use for pagination via before) |
MessageID | string | WhatsApp message UUID |
Type | string | Message type: text, media, poll, etc. |
Timestamp | string | ISO 8601 timestamp when message was sent |
ViewsCount | integer | Number of views |
ReactionCounts | object | Emoji → count map of reactions |
Message | object | Message content by type (e.g. conversation, imageMessage, stickerMessage) |
Media messages
For non-text messages, Message contains a type-specific nested object (e.g. imageMessage, videoMessage, stickerMessage) with metadata. Text messages have Message.conversation.
Pricing
This Actor uses Apify's pay-per-event billing:
- Actor start: $0.05 per run
- Per message: $0.008 per message scraped ($8 per 1,000 messages)
Cost estimation examples
- Fetch 10 messages: $0.05 + (10 × $0.008) = $0.13 per run
- Fetch 100 messages: $0.05 + (100 × $0.008) = $0.85 per run
- Fetch 1,000 messages (10 paginated runs): $0.50 + $8.00 = $8.50 total
Use the count parameter to limit messages per run and minimize costs.
Tips and Advanced Options
Pagination for large channels
To fetch more than 100 messages, use pagination:
- Run the Actor with your desired
count - Note the
MessageServerIDof the oldest message in the output - Run again with
beforeset to thatMessageServerID - Repeat until you've fetched all needed messages
Identify invite codes
If you have a WhatsApp Channel link like https://whatsapp.com/channel/0029VaAGzHb123xyz, the invite code is 0029VaAGzHb123xyz. You can use this directly in the channelId field.
Rate limiting
To avoid being rate-limited by WhatsApp, consider:
- Using longer intervals between runs (e.g., schedule Actor runs every 6 hours)
- Limiting
countto 25–50 messages per run - Running only when needed rather than continuously
Verify channel access
Only public WhatsApp Channels are supported. Private channels require membership and may not be accessible.
FAQ and Support
Can I scrape private channels?
Only public channels are supported. Private channels that require membership cannot be accessed via this Actor.
What happens to media messages?
Images, videos, and documents appear as records with text: null. The raw metadata is available in the full message data for manual processing.
Is this legal?
WhatsApp Channels are designed for public or semi-public communication. Always respect channel owners' terms and privacy policies. This tool is for authorized use on channels you have permission to access.
How do I schedule regular fetches?
Use the Apify Console's Scheduler feature to run this Actor on a recurring basis (hourly, daily, weekly).
Need a custom solution?
If you need additional features (filtering, real-time webhooks, media downloads), contact Apify for custom development options.
Feedback and Issues
Found a bug or have a feature request? Open an issue in the Actor Issues tab to report it.