Comparisons
WhatsApp Cloud API vs On-Premises API: What Changed and Which to Use
Meta's self-hosted On-Premises API reached the end of its life on 23 October 2025. Here is how it differed from the Cloud API, the full sunset timeline, and what migrating a number involves.
By the wbm.link teamUpdated 14 September 2026 7 min read
For years the WhatsApp Business API came in two forms: an On-Premises API that businesses and their providers ran on their own servers, and the Cloud API that Meta hosts. If you are comparing them in 2026, the short version is that the comparison has been settled by Meta itself — the On-Premises API's final version expired on 23 October 2025. This article explains what the difference was, why it matters if you still find the old API in a codebase or a vendor's pitch, and how numbers move across.
What the On-Premises API was
The On-Premises API was a WhatsApp Business API client you installed and ran yourself. Meta shipped it as containers — a web app and a core app — that you deployed on your own infrastructure or a provider deployed for you, with its own database, its own login endpoint for access tokens and its own backup and restore settings. Your software called endpoints on your own server; that server spoke to WhatsApp.
That model gave large companies and early solution providers control over where the client ran. It also meant someone had to size servers, apply every version upgrade before the old one expired, set up high availability, and keep the whole stack patched.
The Cloud API removes all of that. Meta runs the client; you send HTTPS requests to its Graph API at graph.facebook.com with a token and a Phone Number ID, and receive incoming messages through webhooks. Our Cloud API setup guide walks through it from scratch.
Meta's On-Premises API sunset timeline
| Date | What happened |
|---|---|
| 9 January 2024 | All new feature updates began shipping only to the Cloud API. On-Premises kept receiving quarterly version releases for bug fixes and security patches. |
| 1 July 2024 | Business phone numbers could only be registered for use with the Cloud API. Registering a number on On-Premises returns error code 1005. |
| 23 October 2025 | The final version of the On-Premises API (v2.63) expired. Messages sent to or from business numbers still registered on On-Premises are not delivered. |
WhatsApp Cloud API vs On-Premise API comparison
| On-Premises API | Cloud API | |
|---|---|---|
| Status | Expired 23 October 2025 — messages not delivered | Meta's current and only WhatsApp Business API |
| Hosting | Your servers or your provider's, as containers you deploy and scale | Hosted by Meta |
| Infrastructure cost | Servers, database, monitoring and engineering time | None for hosting — Meta cites partners reporting 90%+ lower infrastructure costs after moving |
| Throughput | Depended on how you sized and scaled your deployment | 80 messages per second by default, up to 1,000 per second by automatic upgrade for eligible numbers |
| Updates | You installed each version before the previous one expired; bug fixes only from January 2024 | Rolled out by Meta; you choose when to move to a new Graph API version |
| New features | None after 9 January 2024 | All new platform features ship here |
| Reliability | As good as your own operations | Meta states 99.9% uptime and under 5 seconds p99 latency |
| Compliance | Your responsibility | Meta lists GDPR and LGPD compliance and SOC 2 and SOC 3 certification |
| Data location | Wherever you hosted it | Meta-hosted, with a local storage option for supported regions set when registering a number |
| Getting started | Install, configure and register a deployment | Create an app, get a test number and send a message in minutes |
WhatsApp Cloud API vs On-Premise API: which is better?
Today the answer is not a matter of opinion: the Cloud API is the only one that works. New numbers have been Cloud-only since July 2024, and the On-Premises client stopped delivering messages after October 2025.
Even before the sunset, the Cloud API had overtaken it on the points most businesses care about:
- No servers to run. The biggest On-Premises cost was never the software — it was the engineers and infrastructure to keep it alive.
- Features first, then features only. Everything Meta has added to the platform since January 2024 is Cloud API only, including newer additions such as coexistence with the WhatsApp Business app.
- Throughput without capacity planning. 80 messages per second by default and up to 1,000 per second for high-volume numbers, without adding hardware.
- No forced upgrade treadmill. On-Premises versions expired on a schedule; missing an upgrade meant downtime.
The one real argument for On-Premises was control over where message data sat. Meta's answer is local storage on the Cloud API: when you register a number, you can ask for data at rest to be stored in a supported country. If data residency is a requirement for you, check Meta's current list of supported regions before registering.
WhatsApp Business API on-premise to cloud migration
Meta documented a way to move a number from On-Premises to the Cloud API without changing the number customers know. The process takes a snapshot of the number's settings from the On-Premises client and uses it to register the same number on the Cloud API — which, because a number can be registered on only one API at a time, also takes it off On-Premises.
Before you start
- A Cloud API app connected to the business portfolio that owns the number's WhatsApp Business Account, with a system user access token that has the WhatsApp permissions.
- The number's Phone Number ID, from WhatsApp Manager or the WhatsApp Business Account's phone numbers endpoint.
- The two-step verification PIN. You need it to register. If nobody knows it, disable two-step verification on the number first, then set a new PIN during registration.
- Your code and webhook ready for Cloud API — the endpoints, authentication and webhook format are different from the On-Premises client's.
The migration steps Meta documents
- Generate backup data on the On-Premises client. Call its Backup and Restore API with a password of your choosing. It returns an encoded string describing the number and its settings. Keep the password — you need it in the next step.
- Register the number on the Cloud API. Call POST /PHONE_NUMBER_ID/register on graph.facebook.com with messaging_product whatsapp, the six-digit pin, and the backup data and password from step 1.
- Confirm the switch. On success the number is registered on the Cloud API and deregistered from the On-Premises client. Send a test message and check that webhooks arrive at your Cloud API callback URL.
- Move your traffic. Point your sending code at the Cloud API messages endpoint and subscribe your app to the WhatsApp Business Account's webhooks.
- Decommission the old deployment once everything runs on the Cloud API.
If your number is still stuck on On-Premises
The documented route depends on a working On-Premises client to generate the backup data. With the final version expired since 23 October 2025, a business that never migrated may not be able to run that step. In that case, talk to the provider that hosted your deployment or to Meta's business support about registering the number on the Cloud API — and do not let anyone sell you a new On-Premises setup as the fix.
What changes in your code
- Base URL and auth — requests go to graph.facebook.com with a versioned path and a Meta access token, not to your own server with a client login token.
- IDs — you send from a Phone Number ID and manage templates under a WhatsApp Business Account ID.
- Webhooks — payloads arrive in the Graph API envelope (object, entry, changes, value) and are signed with X-Hub-Signature-256. See the Cloud API developer guide for the structure and error codes.
- Limits — throughput, pair rate and Graph API request limits are set by Meta, not by your hardware.
Where wbm.link fits
wbm.link runs on the WhatsApp Business Platform's Cloud API, so there is nothing to host or upgrade on your side. It is a no-code panel for teams: a shared inbox, a template builder that submits to Meta, broadcasts to labels or CSV contacts, keyword auto-replies, a flow chatbot, an AI assistant and short links, at ₹999 per connected number per month with unlimited team members. It does not offer a public API or webhooks, so developers building WhatsApp into their own product should integrate with the Cloud API directly; wbm.link is for businesses that want the result without building it.
Cloud API, without the integration work
Connect your WhatsApp number to wbm.link and get a team inbox, templates and broadcasts on Meta's hosted platform — no servers, no upgrades.
See pricing