---
title: "Z-API Alternative: Managed WhatsApp API | D-API"
description: "A Z-API alternative with per-connection pricing in USD, a dedicated IP per number and the official WhatsApp API in the same integration. Compare and migrate."
url: https://d-api.cloud/en/z-api-alternative
---

Alternatives

# Z-API alternative: the same WhatsApp API, built for many connections

Z-API is a well-known Brazilian provider of an unofficial WhatsApp API, and many teams start there. Teams looking for an alternative usually aren't unhappy with the first message they sent, but with what comes next: dozens or hundreds of numbers, each belonging to a different customer. This page compares pricing and technical criteria based on what Z-API itself publishes, and shows how to migrate to D-API without stopping your operation.

By D-API engineering teamUpdated Sep 24, 20267 min read

## Why companies look for a Z-API alternative

Switching providers takes work, so nobody does it on a whim. Among the teams that come to D-API, the reasons repeat and rarely have to do with a one-off failure:

-   **The product now has one number per customer.** One connection became fifty. The question changes from "can I send?" to "what happens to the other forty-nine when one number has a problem?".
-   **A large customer asked for the official API.** Without losing the customers who connect by QR code, the team wants to serve both profiles without maintaining two different integrations.
-   **Cost has to track margin.** Anyone reselling WhatsApp inside a SaaS product wants the cost per connection to drop as the customer base grows.
-   **Less time firefighting.** The product team wants connections to recover on their own and alerts to arrive before the customer complains.

## Z-API and D-API side by side

The table below only uses what Z-API publishes on its own website and docs. Where we found no official information, it says to check with the vendor, because terms change and the right source is whoever sells it.

| Criteria | Z-API | D-API |
| --- | --- | --- |
| Model | SaaS (managed service) | SaaS (managed service) |
| Connection type | Unofficial, based on WhatsApp Web | Unofficial (QR code) and official (Meta Cloud API) |
| Billing | Per instance; in the Partner program, from 10 instances at R$89.99 (BRL) each | Per connection; with 10 connections, $9.90 each, dropping as you grow |
| Authentication | Instance ID and token in the URL, with an optional account security token in a header | API key in the Authorization header |
| SDKs | SDKs in several languages | Official Node.js SDK; REST with Swagger for other languages |
| Dedicated IP per number | Check with the vendor | Each connection gets a dedicated proxy with its own IP |
| Official API in the same integration | Check with the vendor | Yes, only the session type changes |

Both charge per connection, not per message. The difference is the price of each connection and how the infrastructure behaves as the number of connections grows.

## Pricing: Z-API vs D-API

The comparison uses the [Z-API Partner program](https://z-api.io/seja-partner-zapi) price table, the terms they offer to accounts with 10 or more instances, checked on September 25, 2026. Z-API publishes prices in Brazilian reais (BRL), so we show them as published, without converting currencies. D-API prices are from the Scale plan, billed in US dollars, where the tier price applies to every connection on the account.

| Connections | Z-API Partner / month | D-API / month |
| --- | --- | --- |
| 10 | R$899.90 (BRL) | **$99.00 (USD)** |
| 30 | R$2,699.70 (BRL) | **$262.50 (USD)** |
| 50 | R$3,999.50 (BRL) | **$437.50 (USD)** |

Z-API's lowest Partner price is R$54.99 (BRL) per instance, for accounts above 2,000 instances. On D-API, teams below 10 connections also get a price: from 1 to 9, $15.00 per connection, with no minimum. Above 50 connections, talk to sales: the price keeps dropping. Details are on the [pricing page](https://d-api.cloud/en/pricing).

## What changes in practice with D-API

### Every number runs in isolation

On D-API, each instance runs in its own environment, with its own credentials and webhook, and an IP that isn't shared with other numbers. For a SaaS product, that means a customer who sends outside best practices doesn't drag the others down with them. To understand what drives bans, see [how to avoid a WhatsApp ban](https://d-api.cloud/en/avoid-whatsapp-ban).

### Official and unofficial through the same API

D-API is a [WhatsApp API](https://d-api.cloud/en) where the official and unofficial connections use the same send routes. The type is set when you create the session (`unofficial` or `cloud_api`). When that large customer asks for the official API, you create their connection with the other type and the rest of your code stays the same. More on the [official WhatsApp API](https://d-api.cloud/en/official-whatsapp-api).

### Webhooks that retry

If your server goes down, D-API makes up to 7 delivery attempts for each event, with exponential backoff between them. That's what keeps you from losing incoming messages during a deploy.

## Migration guide from Z-API to D-API

The first step is translating concepts. Most of them map directly:

| On Z-API | On D-API |
| --- | --- |
| Instance | Session, identified by a `sessionId` you choose |
| Instance ID and token in the URL | One account API key in the Authorization header, and the `sessionId` in the body |
| Account security token (Client-Token) | No separate equivalent: the API key itself authenticates |
| Webhooks configured per instance | `webhookUrl` when creating the session, or one URL per event with the full webhook configuration |
| Instance created in the dashboard | Sessions can also be created through the API, with `POST /api/v1/sessions` |

With the mapping in hand, the migration takes four steps:

1.  **Isolate the provider in your code.** Create an internal interface with the operations you use (create connection, generate QR code, send text, send media) and route the current implementation through it.
2.  **Implement the D-API adapter.** In Node.js, the SDK covers most of it:

```
import { DApi } from 'd-api-sdk'

const dapi = new DApi({ apiKey: process.env.DAPI_API_KEY })

// one session per customer of your product
await dapi.sessions.create({
  sessionId: 'customer-4821',
  connectionMode: 'qr',
  webhookUrl: 'https://your-app.com/webhooks/whatsapp',
})

const { qrCodeImage } = await dapi.sessions.getQRCode('customer-4821')

await dapi.messages.sendText({
  sessionId: 'customer-4821',
  to: '14155550123',
  text: 'Your WhatsApp is now connected to the new system.',
})
```

3.  **Adapt your webhook receiver.** D-API events arrive in an envelope with `event`, `sessionId` and `data`. An incoming message is `messages.received`, a connection change is `connection.status`. Translate them into the format your system already uses and the rest of your code won't notice the switch. Each event is detailed in [WhatsApp webhooks](https://d-api.cloud/en/whatsapp-webhook).
4.  **Move numbers in batches.** For each customer, create the session, show the QR code in your UI and, after confirming `connected`, shut down the old instance. Start with internal or test customers.

## Checklist before turning off Z-API

-   Every send your product makes (text, media, lists, groups) goes through the new adapter.
-   Incoming message, read and connection status events are reaching your endpoint.
-   Your system reacts to the `disconnected` status and notifies the right customer.
-   Each migrated customer has its own session, with the `sessionId` stored in your database.
-   Your support team knows how to generate a new QR code if a customer changes phones.

If your use case is WhatsApp inside a product with many customers, the [WhatsApp API for SaaS](https://d-api.cloud/en/whatsapp-api-for-saas) page goes deeper into that scenario. To compare with other options, see the [Evolution API alternative](https://d-api.cloud/en/evolution-api-alternative) and the guide to [multiple WhatsApp numbers](https://d-api.cloud/en/whatsapp-api-multiple-numbers). Volume plans are on the [pricing page](https://d-api.cloud/en/pricing), and the 3-day free trial, no credit card, lets you test before moving any customer.

## Frequently asked questions

### Do I need to rewrite my integration to move off Z-API?

You rewrite the layer that talks to the provider, not your product. If your send calls and webhook handling live in one module, the change usually stays inside it: new URLs, a new authentication header and a new payload format.

### Can I keep the same WhatsApp number when I migrate?

Yes. With the unofficial WhatsApp API the number is the same phone as always; you just connect it to D-API by scanning a new QR code or using the pairing code. Nothing about the number changes when you switch providers.

### How does D-API pricing compare with Z-API?

Z-API publishes its Partner program prices in Brazilian reais: R$89.99 (BRL) per instance from 10 instances, down to R$54.99 (BRL) above 2,000 instances. D-API charges in US dollars: $9.90 per connection with 10 connections and $8.75 from 11 to 50. We don't convert currencies here; check the current exchange rate for your own comparison.

### Does D-API charge per message?

No. Billing is per connection, and the price per connection drops as your number of connections grows. Current prices are on the pricing page.

### Can I migrate gradually, one customer at a time?

Yes, and it's the safest path for a product with many numbers. Keep both integrations behind the same internal interface and move a small group of customers at a time, validating sending and webhooks before moving on.

### Is there an SDK to speed up the migration?

For Node.js there is the d-api-sdk package, with methods for sessions, messages, groups and media. In other languages you integrate over plain HTTP, using the REST docs and Swagger as reference.

Try D-API's WhatsApp API3-day free trial, no credit card.[Start free trial](https://app.d-api.cloud/register?lang=en)

## Keep reading

-   [AlternativesEvolution API alternative](https://d-api.cloud/en/evolution-api-alternative)
-   [AlternativesWAHA alternative](https://d-api.cloud/en/waha-alternative)
-   [AlternativesTwilio alternative](https://d-api.cloud/en/twilio-whatsapp-alternative)
-   [AlternativesWhapi.Cloud alternative](https://d-api.cloud/en/whapi-alternative)

## Try D-API's WhatsApp API

3-day trial with full access. No credit card, no lock-in.

[Start free trial](https://app.d-api.cloud/register?lang=en)[Read the docs](https://docs.d-api.cloud/)
