WhatsApp Cloud API vs. unofficial number (Baileys)
WhatsApp Cloud API is Meta's official connection for automating WhatsApp; it requires verifying the business number and charges per conversation outside the free window. Baileys is an unofficial library that emulates a linked device to automate an ordinary WhatsApp number, with no Meta verification or fee — but with a real risk that Meta restricts it if it detects spam-like behavior. heysteff is an AI platform for customer support and sales across WhatsApp, Instagram, Messenger, Gmail and Shopify; Steff is the AI agent that runs it, and heysteff supports both connection paths.
◆ short definition
Cloud API: official and stable, with verification. Baileys: your current number, no verification, with a real risk you have to mitigate.
What WhatsApp Cloud API is
It's Meta's official implementation of the WhatsApp Business Platform, hosted on its own infrastructure. A business verifies its number with Meta, gets access to the official API, and from there can send and receive messages programmatically with all the guarantees of a channel supported directly by WhatsApp: stability, official support, and the conversation and template (HSM) rules documented publicly by Meta. Meta's cost is calculated per conversation opened outside the free service window, at its current rate.
What Baileys (an unofficial number) is
Baileys is an open-source library that connects to WhatsApp the same way WhatsApp Web does: it emulates a "linked device" on an ordinary phone number, scanning a QR code once to authenticate. From there, that number can send and receive messages automatically, without going through Meta's business verification or its per-conversation fee.
The obvious upside: a business can automate the number it already has, with no paperwork or Meta cost. The flip side, said just as plainly: WhatsApp neither offers nor officially supports this method. It isn't a public API documented by Meta — it's an unofficial connection, and as such there's a real risk that Meta detects a sending pattern it reads as spam or abuse and restricts the number, even temporarily.
The real risk, unvarnished
A number connected through Baileys that sends messages in a burst — a whole campaign of hundreds of contacts in a few seconds — is exactly the pattern that can trigger a Meta restriction, because it looks like a spam account. That risk never fully disappears with any tool: it's inherent to using an unofficial connection.
What you can do is actively mitigate it: spread sends out over time instead of firing them all at once (pacing), limit how many messages leave a number in a time window, go slower with new numbers just starting to send (warm-up), and set a conservative daily cap per number. heysteff applies these mitigations — cumulative pacing on campaigns and a per-number limit with a progressive ramp-up after each reconnection — across any Baileys send. They cut the risk meaningfully, but don't eliminate it: staying an unofficial channel is part of Baileys' nature, not an implementation flaw.
| Aspect | WhatsApp Cloud API | Baileys (unofficial) |
|---|---|---|
| Status | Official, supported by Meta | Unofficial, not supported by Meta |
| Business verification | Required | Not required |
| Number to use | May require a new number or migration | Your current WhatsApp number |
| Meta cost | Per conversation outside the free window | No Meta cost |
| Stability | High | Real risk of restriction if sending is abused |
| Risk mitigation | Not applicable | Pacing, per-number limits, warm-up (heysteff implements it) |
When to use each
Cloud API is the better choice when the business can go through verification and prioritizes long-term stability, especially if conversation volume is high or growing fast. Baileys works as a bridge when a business wants to start immediately with the number it already has, without verification paperwork, accepting the inherent risk and the active mitigations as part of the deal — many businesses migrate from Baileys to Cloud API later as they grow.
heysteff supports both: the connection is chosen per channel within the same workspace, so you can have, for example, one number on Cloud API and another on Baileys at the same time.
Related
◆ next step
Connect your number — official or the one you already use — and we'll map the best route together.