Decision

Official vs unofficial WhatsApp API: cost, risk and when each one wins

If you need to send WhatsApp messages from software, you have two families of options: the official WhatsApp Business Platform (Meta's Cloud API) and unofficial APIs that connect a regular number, usually by QR code. They solve different problems, and the right choice depends on your volume, the kind of messages you send and what a lost number would cost you. Disclosure: ZapZap is an unofficial, instance-based API. This comparison says where the official API is the better choice, because in some cases it is.

Published on · 7 min read

This article is also available in: Português · Español

How each one works

Official (Meta Cloud API): you verify a business, register a dedicated number, and send outside the customer's 24-hour window only with pre-approved templates. Meta charges per delivered message, by category. You get the official channel, a business profile and approved volume.

Unofficial (instance API): you connect a normal number by QR code in minutes, with no business verification and no templates, and send through a REST API. You pay for the number, not the message. The trade-off: it is outside WhatsApp's terms, so the number can be limited or banned.

What it costs: the numbers

Brazil, in reais per delivered message, effective October 1, 2026 (Meta's BRL rate card, checked on 26/10/2026):

CategoryRate per message
------
MarketingR$ 0.3217
UtilityR$ 0.035
AuthenticationR$ 0.035
Service (replies to customers who wrote first)R$ 0.035, with the first 1,000 per month free per number

Meta only changes rates on the first day of a quarter, with a month's notice, and utility and authentication have volume tiers that lower the list rate at high volume. The examples below use list rates. Source: Meta's pricing page.

ZapZap's model, from its pricing page: R$15 per active number per month, prepaid, no per-message fee and no contract lock-in. The first month of each number adds a provisioning fee and the prorated days of the month. Side by side:

Monthly volumeOfficial (list rates)Unofficial, 1 number
---------
1,000 marketing messagesR$ 321.70R$ 15
10,000 utility messagesR$ 350.00R$ 15
5,000 marketing + 20,000 utilityR$ 2,308.50R$ 15 per number

Read that table with caution, because it flatters the unofficial side. One number cannot safely send 25,000 messages a month to people who do not know it; the practical limit is how much volume a number can carry before WhatsApp restricts it, not the price. Real operations spread volume across several numbers and warm them up. At 5 numbers the flat price is R$ 75 and at 20 numbers R$ 300, which is a different shape of cost, but not a free lunch. The cost calculator lets you plug in your own volume and category mix.

Risk, honestly

OfficialUnofficial
---------
Terms of serviceCompliantOutside WhatsApp's terms
Chance of a banFollows Meta's own policies and rulesReal. Reduced by warm-up, human pacing and opt-in lists, never zero
Cold outreachAllowed through approved templatesHighest-risk use. Do not
Proof of businessVerified business profileNone
If something goes wrongHandled inside Meta's channel and policiesYou can lose that number and its history

No unofficial provider can guarantee the safety of your number. Anti-block layers (automatic typing, delays, queueing, warm-up between new numbers) lower the odds. Your list quality and your behavior matter more than any tool. See the anti-ban guide and the acceptable use policy.

Setup time and flexibility

Official: business verification, a dedicated number, template approval for anything outside the window. It takes longer to set up. Unofficial: an account, a QR scan and a first message in minutes, and no template approval for free-form text, media, polls or buttons.

The 24-hour window is the part that surprises people. On the official API, once 24 hours pass since the customer's last message, you can only send an approved template. If your use case is mostly replying quickly to people who just wrote, that rule rarely bites. If it is proactive notifications, it is central. The 24-hour window explained covers the cases.

When each one wins

Choose the official API when: you need the official channel, a verified business profile or approved high volume; you send proactive messages to many people (marketing, notifications) and cannot afford a banned number; your compliance team or your customers' terms require a sanctioned channel; or you are a large operation and the per-message cost is small next to the cost of a lost number.

Choose an unofficial API when: you want to start today with a number you already have and test an idea before committing; your traffic is mostly conversations that customers start (support, sales, scheduling), at a modest volume per number; you want predictable cost per number instead of per-message billing; and you accept the ban risk and manage it with opt-in lists, warm-up, human pacing and a dedicated number you can afford to lose.

Neither fixes a bad list. Messaging people who never agreed to hear from you gets numbers banned on either side and raises privacy-law problems (LGPD in Brazil). A side-by-side page with more criteria is at official API vs ZapZap, and the WhatsApp Business API page explains Meta's model in detail. For the full guide on the topic, see also unofficial API: an honest guide.

A practical way to decide

1) Count how many messages per month are replies to people who wrote first, and how many are proactive. 2) Price the proactive part with Meta's rates (use the table above or the calculator). 3) Ask what a lost number would cost you in leads and history. 4) If the answer is a lot, or you need the sanctioned channel, go official. If you are testing, serving mostly inbound conversations, or want a fixed monthly cost, an instance API is a reasonable starting point, and you can still move to the official API later.

Starting with an unofficial number does not close the door on the official one. Many teams run both: the official API for proactive, high-stakes messages and instances for conversations.

Try the unofficial route safely

A new ZapZap account gets a welcome credit when the phone is verified (one per phone, subject to the current campaign), so you can connect a test number and send a first message without a deposit. The quick start covers it. Use a number you can afford to lose while you learn how it behaves.

Quick summary

  • The official API charges per delivered message, by category; an unofficial one charges per active number. The two models cost different amounts at each volume.
  • The math favors the unofficial side only on paper: the real limit is how much volume a number can carry before it is restricted.
  • An unofficial API is outside WhatsApp's terms. Warm-up, human pacing and opt-in reduce the risk, never zero it.
  • Proactive messages at volume, or a need for a sanctioned channel, point to the official API; customer-started conversations and tests point to the unofficial one.

Also read

Frequently asked questions

What are the official WhatsApp API rates in Brazil?

Marketing R$ 0.3217, utility R$ 0.035, authentication R$ 0.035 and service R$ 0.035 per delivered message, with the first 1,000 service messages per month free per number, effective 01/10/2026 according to Meta's rate card checked on 26/10/2026. Meta only changes rates on the first day of a quarter.

Can an unofficial API get my number banned?

Yes. It goes against WhatsApp's terms and the number can be limited or banned. Warm-up, human pacing and opt-in lists reduce the odds, but no honest provider can guarantee the safety of the number.

Can I start unofficial and move to the official API later?

Yes. Starting with an instance number does not close the door on the official API, and many teams run both: official for proactive, high-stakes messages and instances for conversations.

Which one is better for mass messaging?

For cold outreach or marketing at volume, the official API with approved templates is the lowest-risk path. Cold sending through an unofficial API is the riskiest use.

Compare with your own volume

Use the cost calculator with your category mix and test a number on ZapZap with the welcome credit, subject to the current campaign.