WhatsApp Business API
Build WhatsApp messaging, automation, support, authentication and commerce directly into your product.
WhatsApp Business API is the programmatic interface to the WhatsApp Business Platform. It lets applications send and receive messages, react to events, automate conversations, manage templates and build interactive experiences.
curl -X POST "$WHATSAPP_API/messages" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to": "+15550001234",
"type": "text",
"text": { "body": "Your order is on the way." }
}'
Contents
What it is
Why the API
How it works
Limits and cost
Build or buy
Get started
Same messenger. Three different products.
WhatsApp Business API is not another WhatsApp app. It is infrastructure developers use to connect WhatsApp with software.
Designed for: Personal communication
Interface: App
Manual replies: Yes
Automation: No
Backend integration: No
CRM / helpdesk: No
Developers required: No
Scale: Personal
WhatsApp Business App
Designed for: Small businesses
Interface: App
Manual replies: Mostly
Automation: Basic
Backend integration: Limited
CRM / helpdesk: Limited
Developers required: No
Scale: Small teams
WhatsApp Business API
Designed for: Software and scalable business messaging
Interface: API
Manual replies: Optional
Automation: Full
Backend integration: Yes
CRM / helpdesk: Yes
Developers required: Usually
Scale: Applications and businesses
The Business App is a product you use. The Business API is infrastructure you build with.
If one or two people answer a handful of customers by hand, the Business App is enough.
Unofficial wrappers and emulators are not the Business API: they risk number bans, drop sessions, and are a poor fit for anything you cannot afford to lose.
The names around the API are a mess of their own. WhatsApp Business API, Cloud API and On-Premises get used as if they were one thing. They are not — and the next section is the last time this page stops on naming.
Today it's called Cloud API
WhatsApp Business Platform is Meta's name for the whole business stack on WhatsApp — numbers, accounts, templates, messaging and the rest.
Cloud API is how you talk to that platform today: Meta hosts it, you send requests and receive webhooks. You do not run a WhatsApp server.
On-Premises API was the previous, self-hosted generation. Sending messages through it has been discontinued. If a tutorial still tells you to install On-Premises, it is describing a stack you should not build.
People search for WhatsApp Business API and mean Cloud API on the Business Platform. That formula is close enough to navigate the docs — with one caveat: the platform is wider than a single messaging endpoint.
Once the names settle, the real question is why leave a free app.
Why use the WhatsApp Business API
Keep the app when you switch, let your backend see which ad started the chat, and run the number from software — not a phone.
Automation, CRM hooks and scale show up later on this page. This block is the part most articles still get wrong — or never mention.
Switching doesn't take the app away.
Teams delay the API because they think the WhatsApp Business App has to go. It does not. The same number can run in the app and in the API at once: people keep answering where they already work, and software sends notifications and handles inbound on the side. You are adding the API. You are not confiscating the chat your team already uses.
Coexistence has limits — which app features stay available, how history syncs. Check Meta's docs for the current list before you depend on a specific one. The move itself is in Get started.
Your backend sees which ad started the chat.
A Click-to-WhatsApp ad on Facebook or Instagram can open a chat with the Business App. The ad product is not exclusive to the API. What the API adds is the event: the webhook that delivers the first message also carries which ad and which source started the thread. That is enough to attribute the conversation and reply or route it in software, instead of matching ads to chats by hand.
The number lives in software.
The Business App lives on a phone. The API does not. The number is an object in your systems: no handset has to stay online, several applications and several agents can use it at once, and the channel does not depend on who is holding the device today.
What you can build
If you already know the job, the rest of this page is implementation. These are the jobs teams actually ship on the WhatsApp Business API.
Notifications. Order updates, shipping alerts, payment confirmations and account events — sent by your system, not typed by an agent. See the use case
Customer support. Receive questions, route conversations, and put agents and AI on the same thread. See the use case
Sales and leads. Qualify inbound, answer product questions, follow up and hand off a conversation that is already in WhatsApp. See the use case
Authentication. One-time passwords and verification messages on the channel the user already has open. See the use case
Appointments. Confirm bookings, send reminders and let people reschedule without a phone tree. See the use case
Commerce. Show products, take orders and keep checkout inside the conversation. See use cases
Marketing. Campaigns, offers, launches and re-engagement — including conversations that started from an ad. See the use case
AI assistants. Connect the thread to your own model and tools. WhatsApp is the channel; the assistant is yours. See use cases
Surveys and feedback. Ratings and structured replies instead of a form you hope someone opens. See the use case
Voice. Receive and place WhatsApp calls from the same business systems that own the chat. See use cases
How it works
Two directions, one model. If you only implement outbound, you have built half a channel.
Customer ↔ WhatsApp ↔ WhatsApp Cloud API ↔ Your backend — from the backend: CRM, AI, Support.
Your application sends API requests. Outbound is an HTTP call: a message, a template, a media upload. WhatsApp is not polling your server.
WhatsApp delivers the message. Meta's infrastructure puts it on the user's phone. You do not operate that path.
Webhooks send events back. Inbound messages, and the statuses that tell you whether a message was sent, delivered, read or failed, arrive as callbacks. Your application reacts. It does not ask «anything new?»
API capabilities
The WhatsApp Business API is not a «send message» endpoint with extras. This is the surface you are actually integrating.
Messaging
Send and receive WhatsApp messages.
Text is the start, not the product. The same API sends and receives images, video, audio and documents — you upload and download media rather than attaching it from a phone — plus location, contacts, reactions and stickers.
Interactive experiences
Turn a conversation into an interface.
Reply buttons, lists, call-to-action and structured replies collect a choice without parsing free text. WhatsApp Flows are native mini-forms inside the thread: booking, applications, surveys, registration, onboarding — the user does not leave WhatsApp to submit a form.
Templates and outbound messaging
Start conversations the channel will actually deliver.
A business that writes first uses templates Meta has reviewed: Utility, Authentication, Marketing. Templates exist because WhatsApp is a permissioned channel. Review happens before the first outbound message, not after a complaint. That is friction on purpose — and it is why session messages and template messages are not interchangeable in your code.
Events and webhooks
React while the conversation is happening.
Webhooks deliver inbound messages; sent, delivered, read and failed statuses; errors; replies to interactive messages; orders; call events; account events; and the click context when a conversation started from an ad. The application that ignores webhooks can send. It cannot operate.
Commerce
Put a catalog in the thread.
Product catalogs, single- and multi-product messages, carousels, orders and commerce settings let someone browse and buy without being sent to a random storefront. The catalog is a business object, not a PDF you attach.
Calling
Put WhatsApp voice on the same backend as the chat.
Receive and place WhatsApp calls from your application. Connect a PBX or a contact center — including over SIP — when the voice leg should belong to the same customer record as the thread.
Business management
Manage the WhatsApp account as software, not as a phone setting.
Phone numbers, business profiles, WhatsApp Business Accounts, templates, QR codes and account configuration are API objects. Embedded Signup is Meta's native window to connect a customer's or a branch's WhatsApp without a ticket thread. That path matters if you attach WhatsApp for other businesses, not only for yourself.
Scale and operations
Know what the channel will allow before you promise a launch date.
Messaging limits, quality rating and throughput — including automatic capacity increases — decide how much you can send. Delivery statuses and errors tell you what actually happened. The mechanics belong on this page; the current numbers live in Meta's documentation because they change.
You can't just message everyone
WhatsApp is not a list you upload. If the integration assumes a spreadsheet of numbers is enough to write first, it will be wrong on day one — in code, not only in policy.
Customer-initiated. The person wrote first. Inside the customer-care window you can reply in free form. When the window closes, you are back to templates.
Business-initiated. You write first only with an approved template, for a reason the person can reasonably expect.
Opt-in. They agreed to hear from you, and they expect the kind of message you are sending. Opt-in is not a loophole around templates.
A conversation does not have to start in the inbox. A Click-to-WhatsApp ad, a QR code or a button on your site is still the user starting the thread. Some of those entry points use a different care window. The idea is stable; the timers are not — use Meta's docs, not a number from this page.
What it costs
There is no single «WhatsApp Business API price». There is a cost structure. Rates change; this shape does not.
Your total cost = WhatsApp messaging charges + platform charges or your own infrastructure
Meta. You pay for WhatsApp messages. The amount depends on the message type, the market and Meta's current pricing model — which has already changed and will change again. This page does not quote rates.
A platform. Providers charge a subscription, a markup on messages, a fee per number, sometimes a setup fee — often a mix. Compare the full bill, not one line on a pricing table.
Direct to Cloud API. There is no provider invoice. There is still a bill: hosting, a database, media storage, queues, monitoring, and the engineering time to keep that stack correct when the API moves.
Prices for 1MSG are in the site header and footer. They are not repeated here.
Build it yourself or use a platform
An API gives you capabilities. It doesn't give you a product.
If you connect directly to WhatsApp Cloud API, you get the primitives to build your own WhatsApp product. You decide how messages are stored, displayed, routed and wired into the rest of your stack. Twilio, 1MSG, respond.io and the rest exist because that second half is real work — not because WhatsApp is different depending on the vendor.
WhatsApp Business API gives you: Messages, webhooks, templates, media, Flows, calling, business objects.
A platform adds: An inbox, conversation history, agent tools, CRM integrations, automation, analytics, logs, retries, user management, AI hooks, billing and developer tooling.
The difference shows up as time to production, what you pay to keep the lights on, and who is awake when webhooks fail at 2 a.m. Cloud API is not worse. It is incomplete as a product.
How you get access is a separate question from how you store messages. Three paths: your own Meta app, a BSP, or a Tech Provider. What changes is who holds the WhatsApp Business Account and the number, whether a BSP is required, and whether you can take the number elsewhere. A BSP is not mandatory. Through a Tech Provider the WABA and number can stay yours, with Embedded Signup as the connect flow. Details sit in the FAQ — this page is not a contract.
Why 1MSG
WhatsApp provides the communication network. 1MSG provides the developer infrastructure around it.
Use 1MSG when you want the channel and a production layer around it — not a rented number and not a year of writing queues.
Your WABA, not a rented line. Connect with Embedded Signup. The WhatsApp Business Account and the phone number stay yours. Direct access is how the platform is built, not a side plan.
History you can query. Cloud API delivers messages. It does not give you a conversation store. 1MSG keeps history available through the API, so you do not stand up a database to remember yesterday's thread.
Media that outlives the webhook. WhatsApp media URLs are short-lived. Files stay on the platform so you are not racing the link or running your own bucket.
Webhooks that retry. A missed callback is a lost inbound if nobody queues it. 1MSG queues webhook delivery and retries so production traffic is not a best-effort POST.
Ship before the number is ready. Trial number, sandbox, API, SDK and docs cover connect, webhooks and the first message without waiting on your own line.
Operate the channel in one place. Templates, several numbers and accounts, billing and support — the work Cloud API leaves on your side of the wire.
Everything you need to build on WhatsApp
The bureaucratic version of this story is a month of Meta tickets before a Hello World. The working version is a short checklist, then a first message.
What you need
A Meta business portfolio
A WhatsApp Business Account
A business phone number
Number verification
Business verification when Meta requires it — not in every case
An access token
A webhook endpoint
A trial number and a sandbox cover connect, webhooks and the first message without your own line. The checklist is what production looks like, not the price of trying.
Steps
Create or connect a WhatsApp Business Account
Add your business phone number
Connect the API
Configure webhooks
Send your first message
Build your integration
Start build · Read the quickstart · Read Docs
Moving a number from the Business App
The number can move from the WhatsApp Business App onto the API. You keep the number. That is the usual fear, and it is the part with a clear answer.
Conversation history in the app does not automatically become a complete history your API can query. Treat chat history as a migration detail to confirm in Meta's docs for your setup — coexistence, a full move, or a new number are not the same case. Do not plan a cutover on the hope that every old thread will be waiting in software.
FAQ
Is WhatsApp Business API free?
No. The WhatsApp Business App is free to download; the API is a different product. Meta charges for WhatsApp messages under its current pricing. If you use a platform on top, you also pay that platform. There is no useful single number for «the price of the API» — see What it costs.
Is WhatsApp Business API the same as WhatsApp Business?
No. WhatsApp Business usually means the WhatsApp Business App: a phone app for small teams who reply by hand. WhatsApp Business API is infrastructure for software. Same messenger, different product.
What is WhatsApp Cloud API?
Cloud API is the current way to use the WhatsApp Business Platform: Meta hosts the API, you send requests and receive webhooks. When people say WhatsApp Business API today, they almost always mean Cloud API.
Do I need a WhatsApp Business Account?
Yes. A WhatsApp Business Account (WABA) sits under your Meta business portfolio and owns the phone numbers you message from. The API does not work against a personal WhatsApp account.
Can I use my existing WhatsApp number?
Often, if the number can be registered as a business number on the WhatsApp Business Platform. A number that is still active on consumer WhatsApp typically has to be migrated or released first. Meta's registration rules are the source of truth for a specific number.
Can I use the same number in the WhatsApp app and the API?
Yes, in coexistence: the same number can be in the WhatsApp Business App and on the API. People keep the app; software uses the API. The mode has feature and history-sync limits — read Meta's current coexistence docs before you rely on a specific app feature.
Will I lose my chats when migrating from the Business app?
You do not lose the number. You should not assume you keep a complete, API-queryable copy of every chat from the app. History depends on the migration path. Confirm it in Meta's docs for your case; do not write a cutover plan that needs old threads to appear in software automatically.
Can I run Click-to-WhatsApp ads with the API?
Yes. Ads that open a WhatsApp chat work with the Business App and with the API. With the API, the first inbound webhook can include which ad and which source started the conversation, so you can attribute and handle it in code.
How fast can I send messages?
Throughput follows messaging limits and quality rating, not an unlimited pipe. Capacity can increase automatically as the number stays in good standing. Current caps are in Meta's documentation; they are not printed here because they change.
Do I need a verified Facebook Business Manager?
You need a Meta business portfolio. Number verification is required. Business verification is required in some cases, not as a universal first step. If Meta asks for it on your account, you cannot skip it; if it does not, do not block your project on a rumour that everyone must verify on day one.
How long does it take to get access?
Connecting a number and sending a first message can be quick — especially with a trial number. Business verification, template review and moving a production line take longer when Meta is in the loop. There is no honest one-size SLA.
How do I get the green tick (official business account)?
The green tick is Official Business Account status. Meta grants it to brands that meet its criteria; connecting the API does not produce it, and neither does choosing a particular provider. It is about the business Meta sees, not the integration method.
Can I send messages to anyone?
No. You cannot load a database and message it. Either the person started the conversation (and you are inside the care window) or you send an approved template they have a reason to receive, with opt-in for that kind of message.
Can WhatsApp API receive messages?
Yes. Inbound messages arrive on webhooks, along with delivery and read statuses. Receiving is not a separate product.
Can I use WhatsApp API for customer support?
Yes. Inbound, routing, agents, bots and history are a standard use of the API. Support is a build, not a mode you toggle in WhatsApp.
Can I connect WhatsApp API to a CRM?
Yes. That is a primary reason to use the API instead of the app: conversations become records in the system you already run.
Does WhatsApp API support AI chatbots?
The API delivers messages and events. You attach whatever model or agent you want. WhatsApp does not host your assistant; it carries the thread.
Can WhatsApp API make calls?
Yes. The calling capabilities of the WhatsApp Business Platform let applications receive and place WhatsApp voice calls, including into a PBX or contact center.
Does WhatsApp API support payments?
It supports catalogs, product messages and orders. Native in-chat payments depend on what Meta has enabled in a given market. Do not promise global checkout from this page.
Is WhatsApp Business API secure and GDPR compliant?
WhatsApp messages are end-to-end encrypted in the messenger. Your integration still stores what you choose to keep — history, media, logs — and that processing is your responsibility (and your provider's) under GDPR. Encryption in transit on WhatsApp does not replace a DPA, retention rules or access control on the systems around the API.
What happened to WhatsApp On-Premises API?
On-Premises was the self-hosted previous generation. Sending messages through it has been discontinued. New work goes through Cloud API.
Do I need a BSP to use WhatsApp API?
No. You can use your own Meta app, a BSP, or a Tech Provider. A BSP is one path, not a requirement. With a Tech Provider, the WABA and number can remain yours.
Can I move my number to another provider?
If you own the WhatsApp Business Account and the number, you can typically take them to another provider. If the number is rented from a BSP, you are in that BSP's process. Ownership is the question to settle before you integrate, not after you are live.
