Unofficial WhatsApp API or the official one: which should you use?
In short: an unofficial WhatsApp API runs a WhatsApp Web session that you link by scanning a QR code, and whatsapp-web.js and WAHA, two of the projects behind such tools, write in their own docs that WhatsApp does not allow bots or unofficial clients. Meta's official Cloud API is the route Meta offers businesses, and through Coexistence your number keeps working in the WhatsApp Business app. In exchange you work with message templates, Meta's fees and Meta's policies, which still apply.
ZapClaw connects your number to the official WhatsApp API through Coexistence, with no Meta app of your own, and the WhatsApp Business app stays on your phone.
Start for freeThe two routes side by side
In general terms, not vendor by vendor. The sections below give the source of each line.
| WhatsApp Web based library or gateway | Meta's official Cloud API | |
|---|---|---|
| How it connects | You scan a QR code with the phone, and a library drives the resulting WhatsApp Web session from a server. | The number is registered on Meta's API, through a provider's Embedded Signup or your own Meta app. |
| Who stands behind it | Open-source projects and companies. Baileys, whatsapp-web.js and WAHA state that they are not affiliated with WhatsApp. | Meta. |
| WhatsApp's rules | WhatsApp's Terms of Service forbid automated access that WhatsApp has not authorized, and auto-messaging. | WhatsApp's messaging policies apply, as they do to any business. |
| Account restrictions | whatsapp-web.js and WAHA say their method "shouldn't be considered totally safe". | Meta can restrict or disable an account that breaks its policies. |
| The WhatsApp Business app | Keeps working: the session is one of the phone's linked devices. | Keeps working with Coexistence. Without it, the number works on the API only. |
| Meta app and App Review | None: Meta's API is not used. | Your own Meta app, or a provider's. For Coexistence, Meta requires a Solution Partner or Tech Provider, and becoming a Tech Provider takes business verification and App Review. |
| Starting a conversation | As in WhatsApp Web. | Free-form replies within 24 hours of the customer's last message; outside that window, a template Meta approved. |
| Meta's fees | None, since Meta's API is not used. | Every template and, since 1 October 2026, API replies past 1,000 free per number each month. Replies typed in the app stay free. |
| Groups, calls, view-once | Depends on the library or gateway. | Not under Coexistence. |
| Software cost | Baileys (MIT), whatsapp-web.js and WAHA (Apache-2.0) are open source and run on your server; hosted gateways charge their own fee. | Meta's fees above, plus a provider's fee if you use one. |
What an unofficial WhatsApp API is
Every tool in this group works the same way underneath. You scan a QR code with the phone, the session shows up in the app under Linked devices, and a library on a server sends and receives as that session. Nothing goes through Meta's Cloud API, so there is no Meta app to create and no approval step. The names people search for:
- Baileys. A TypeScript library that talks to WhatsApp Web over WebSockets. Its README says the project is not affiliated with WhatsApp and adds: "We discourage any stalkerware, bulk or automated messaging usage."
- whatsapp-web.js. Runs WhatsApp Web in a browser controlled through Puppeteer. Its README says the project is not affiliated with WhatsApp and that WhatsApp "does not allow bots or unofficial clients on their platform".
- WAHA. Describes itself as a "glue layer" on top of community-driven WhatsApp engines and offers four: WEBJS and WPP run a real browser through Puppeteer, while NOWEB and GOWS talk to WhatsApp Web over WebSocket, in Node.js and in Go (engines). Its introduction carries the same disclaimer and gives no guarantee against blocking.
- Evolution API in Baileys mode. Evolution API offers two connection types, Baileys and Meta's Cloud API. In Baileys mode, which its docs describe as a free API based on WhatsApp Web, you connect the instance by scanning a QR code, and the README notes that this method "relies on the web version of WhatsApp".
- Z-API's QR-code product (classic Z-API). Z-API's docs say you read its QR code and then work on a WhatsApp Web session, and its Omni docs call that an unofficial connection. Z-API's other product, Z-API Omni, runs on Meta's official API (see below).
What WhatsApp says about unofficial apps and automation
WhatsApp's Help Center article About unofficial apps says that "linking your WhatsApp account to unofficial versions of WhatsApp violates our Terms of Service", and that the account "might also be temporarily or permanently banned". The examples it names are apps: GB WhatsApp, FM WhatsApp, TM WhatsApp and TeleMessage. It does not name any library or API gateway.
A second article, on automated or bulk messaging, says "Our products are not intended for bulk or automated messaging", and that WhatsApp takes legal action over that kind of use, which since 7 December 2019 includes acting on companies' public claims.
WhatsApp's Terms of Service forbid accessing or using the service through automated means in ways WhatsApp has not authorized, reverse engineering or extracting its code, and "bulk messaging, auto-messaging, auto-dialing, and the like". They allow WhatsApp to suspend or terminate access.
How WhatsApp applies these rules to a given tool is WhatsApp's decision. This page reports what WhatsApp and the projects themselves publish; it is not a prediction.
The official route: Meta's Cloud API and Coexistence
Meta's Cloud API is the API Meta offers businesses for WhatsApp: your system receives messages on a webhook and sends through API calls, with no WhatsApp Web session involved. A number registered on the API alone works on the API only, not in the app. Coexistence changes that. Meta's documentation describes onboarding a number that already runs on the WhatsApp Business app, a feature "sometimes referred to as Coexistence":
- The app keeps working. Businesses "can still send messages on a one-to-one basis using the WhatsApp Business app", and conversations stay in sync with the API. Messages sent from the app stay free.
- History. Up to the last 6 months of chats can be synced. Group chats are not synchronized.
- Requirements. The WhatsApp Business app at version 2.24.17 or newer, and a connection made through a business that is already a Solution Partner or Tech Provider. ZapClaw is a Meta Tech Provider. Keep opening the app on your main phone: Meta disconnects the number after about 14 days without it.
- Throughput. Fixed at 20 messages per second.
- Linked devices. When the number connects, Meta unlinks every companion device. Supported ones can be linked again; WhatsApp for Windows and WearOS cannot.
What changes when you move to the official API
- Templates and the 24-hour window. You reply freely within 24 hours of the customer's last message. To start a conversation, or to write after that window closes, you send a message template that Meta approved first.
- Meta's fees. Meta bills you directly for every template you send and, since 1 October 2026, for replies sent through the API past the first 1,000 free per number each month, at the rate of the recipient's country. Replies typed in the WhatsApp Business app stay free. ZapClaw never marks Meta's fees up (pricing).
- Meta's policies. They still apply: Meta can restrict or disable a WhatsApp Business Account that breaks them. ZapClaw forwards those events to your webhook, and its API answers
403withACCOUNT_RESTRICTEDwhile a restriction lasts (errors). - What Coexistence leaves out. The API sends no group messages, no voice or video calls and no view-once messages, and a Coexistence number does not get Meta's blue checkmark. If your automation depends on any of these, check before moving.
Ways onto the official API
Each route, with what it asks of you:
- Meta directly, with your own app. You create an app on Meta for Developers, generate the token and configure the webhook yourself. To keep the number in the WhatsApp Business app, Meta requires the business making the connection to already be a Solution Partner or Tech Provider, and becoming a Tech Provider takes business verification and App Review, with a video of your app sending messages and managing templates.
- A provider such as ZapClaw. ZapClaw is a Meta Tech Provider: you connect the number in Meta's window with no Meta app of your own and no App Review, and the number stays in the WhatsApp Business app through Coexistence. Incoming messages reach your webhook signed with HMAC-SHA256, with up to 3 delivery attempts, and you send through a REST API. The price is per account, not per number, and the paid plans take unlimited numbers.
- Evolution API in Cloud API mode. The same self-hosted Evolution API can connect to Meta's Cloud API instead of Baileys. Its guide asks for your own app on Facebook Developers and a permanent token, and you configure the webhook in that app.
- Evo Hub. The Evolution Foundation's paid hosted product, which it describes as a proxy between you and Meta's API, for WhatsApp, Instagram and Messenger, priced per channel (each connection counts as one). Its site did not say whether it supports Coexistence when we checked.
- Z-API Omni. Z-API's product on Meta's official API. Its docs say it connects through Meta's Embedded Signup, supports Coexistence, and is priced per channel, one channel being one WhatsApp Business number.
Two of these side by side with ZapClaw: ZapClaw vs Evolution API and ZapClaw vs Z-API.
When a WhatsApp Web based tool is the better choice
- Your workflow depends on groups, voice or video calls, or view-once messages. Under Coexistence, Meta's API offers none of them.
- You want no Meta business portfolio, no message templates and no Meta fees, and you accept what WhatsApp's terms and the projects' own disclaimers say.
- You want open-source code running end to end on your own server.
When ZapClaw is the better choice
- Your number is part of your business, and you want it on Meta's official API rather than on a WhatsApp Web session.
- You want to keep answering in the WhatsApp Business app while your bot, your AI agent or your system uses the API.
- You do not want to create a Meta app, go through App Review or become a Tech Provider yourself.
- You run several numbers or clients: the paid plans take unlimited numbers at one price per account, and on the Agency plan each client is isolated from the others.
- You run self-hosted Chatwoot: its native WhatsApp Cloud channel connects to ZapClaw.
ZapClaw does not fit bulk broadcasting, more than 20 messages per second, groups, voice or video calls, or the blue checkmark. Those limits are Meta's, under Coexistence.
Moving from a WhatsApp Web based tool to ZapClaw
- Make sure the number runs on the WhatsApp Business app, version 2.24.17 or newer, not on regular WhatsApp: Coexistence connects WhatsApp Business app numbers only. See all the requirements.
- Create your ZapClaw account and connect the number in Meta's window from the dashboard. When it connects, Meta unlinks every linked device, the session of your current tool included.
- Point your integration at ZapClaw. Messages arrive on your webhook in ZapClaw's format, not your library's, so map the fields once with the webhook reference. You send with a REST call and an
X-API-Keyheader. - Create the templates you need to start conversations and submit them to Meta for approval through the API.
Is the number already on another provider of Meta's API? Move it from there first. Using Chatwoot? Connect it through its native WhatsApp Cloud channel.
Step-by-step guides, with the main send and webhook fields mapped to ZapClaw's: from Evolution API, from Z-API and from WAHA.
Frequently asked questions
Will my number be banned on an unofficial API?
Nobody can say in advance, either way. WhatsApp's Help Center says an account linked to unofficial versions of WhatsApp "might also be temporarily or permanently banned", and the examples it gives are apps, not libraries. whatsapp-web.js and WAHA write that their method "shouldn't be considered totally safe", and Z-API's docs answer, about its QR-code product, that the possibility of a block is real. On the official API, Meta's policies still apply, and Meta can restrict an account that breaks them.
Can I move my number to the official API without losing the WhatsApp Business app?
Yes, through Coexistence. Meta's documentation says businesses onboarded this way "can still send messages on a one-to-one basis using the WhatsApp Business app". You need the app at version 2.24.17 or newer and a connection through a Solution Partner or Tech Provider, such as ZapClaw. Linked devices are unlinked when the number connects, group chats are not synchronized, and throughput is fixed at 20 messages per second. All the requirements.
Do I need a registered company or business verification?
Not to connect. For Coexistence, Meta asks for the WhatsApp Business app on the number and a Facebook account, and business verification is not on its list. Verification changes some of Meta's limits, such as how many different people you can message with templates in 24 hours. ZapClaw's sign-up asks for no tax ID, no address and no card. The official API without a registered company.
Are Evolution API and Z-API unofficial?
It depends on the product. Evolution API connects through Baileys (WhatsApp Web) or through Meta's Cloud API with your own Meta app, and the Evolution Foundation also sells Evo Hub, a hosted proxy to Meta's API. Z-API's classic product runs a WhatsApp Web session you link by QR code, while Z-API Omni runs on Meta's official API. Details: ZapClaw vs Evolution API and ZapClaw vs Z-API.
Is there a WhatsApp API without Meta's approval?
WhatsApp Web based tools ask for none, because they do not use Meta's API; what WhatsApp says about them is above. On the official API, a Tech Provider spares you the Meta app and the App Review: you connect the number in Meta's window. Meta still reviews each message template before you can send it.
Related guides
- What you need to connect a number through Coexistence
- Moving a number from another provider
- Self-hosted Chatwoot on the official API
- The official API without a registered company
- Plans and prices
- API and webhook documentation
- ZapClaw vs Evolution API
- ZapClaw vs Z-API
Sources
Checked on 14 October 2026.
- WhatsApp Help Center: About unofficial apps
- WhatsApp Help Center: Unauthorized use of automated or bulk messaging on WhatsApp
- WhatsApp Terms of Service
- Meta for Developers: onboarding WhatsApp Business app users (Coexistence)
- Meta for Developers: get started for Tech Providers
- Baileys on GitHub (README, Disclaimer)
- whatsapp-web.js on GitHub (README, Disclaimer)
- WAHA: engines
- WAHA: introduction
- Evolution API on GitHub (README)
- Evolution API docs: overview
- Evolution API docs: installation
- Evolution API docs: Cloud API
- Evo Hub
- Z-API docs: introduction
- Z-API docs: blocked number
- Z-API Omni docs: Z-API limitations
- Z-API Omni
- Z-API Omni docs: connecting WhatsApp through Meta
- Z-API Omni docs: Coexistence
- Z-API Omni docs: channels