Viber API

Launch rich media campaigns directly from your systems

Make Viber a key channel for reaching customers across Europe. Connect your backend, CRM, or e-commerce platform to MessageFlow’s Viber API and send rich media messages at a fraction of the cost of SMS. Receive webhook updates when messages are delivered, viewed, or expire.


Active Partner

1.2+ B

active users across
190 countries

200

recipients per
Viber API call

Helping 140,000 brands turn communication into business results

Bring rich media, automation, and control together with
Viber API

Use Viber as an engaging, cost-effective communication channel, particularly across Central and Eastern Europe. Connect your backend, CRM, or eCommerce platform via Viber API, trigger messages based on business events, and scale your communication without adding a separate setup for every new channel.

Automate messaging from
the systems you already use

Trigger Viber messages directly from your backend, CRM, or eCommerce platform based on events such as a new order or a change in delivery status. Pass your own externalId to link each message to a specific event or operation in your system and keep data consistent across workflows.

Create richer customer experiences

Choose the format that best fits the purpose of each message. Send text, images, text with a CTA, or a complete rich media message combining copy, visuals, and a button. Keep operational alerts simple, while using richer formats for campaigns designed to drive action.

Reach up to 200 recipients with a single API call

Send messages to up to 200 recipients in a single Viber API call. Reduce the number of requests your infrastructure needs to handle and manage high-volume sending more efficiently with a solution built for enterprise-scale cross-channel communication.

Lower communication costs at scale

Optimize sending costs at high volumes and use Viber as a more cost-effective alternative to SMS in selected markets. Benefit from a transparent pricing model with a fixed fee for the active channel plus a charge for each successfully delivered message – starting from EUR 0.055.

Build trust with every message

Send messages from a verified Viber business profile displaying your brand name, logo, and verification badge. Help customers instantly recognize official brand communication and distinguish it from impersonation attempts.

Automate Viber messaging without giving up control

Connect Viber API to your backend, CRM, or eCommerce platform and trigger messages based on events in your own systems. Receive status updates via webhooks, monitor sends in the MessageFlow dashboard, and quickly see what was sent, when, and to whom. Combine API-driven automation with clear visibility for both business and technical teams.

Trigger messages based on business events

Automate messaging around events your systems already track. Send abandoned cart reminders, notify customers about delivery or payment status changes, and tailor the copy, visuals, and CTA to each stage of the customer journey.

Find and verify messages quickly

Search messages by time range, recipient, externalId, or sender name. See when a message was sent, check its current status, and confirm when it was viewed. This makes it easier to investigate customer inquiries and link them to the right event or transaction in your system.

See exactly what each recipient received

Use Visual Audit Logs, a unique MessageFlow feature, to review not only message status but also the exact content, image, CTA, and URL sent to the recipient. Resolve customer inquiries faster without involving developers or cross-checking data across multiple systems.

Track message status with webhooks

Receive real-time updates when messages are delivered, seen, or expired, including the time they were viewed. Pass these events to your CRM, order management system, or application to update workflows or trigger follow-up actions.

Export data for further analysis

Export logs as CSV files and use them for reporting, operational analysis, data archiving, or audits.

Plan your Viber API integration with our team

Talk to our team about connecting Viber API to your existing data, events, and workflows.
Together, we will design an implementation around your business use case and technical setup.

Add Viber API to your communication stack

Extend your existing workflows with another messaging channel without rebuilding your entire setup. Connect Viber API to your backend, CRM, or eCommerce platform with clear documentation, ready-to-use code examples, and support from MessageFlow throughout the implementation process.

Integrate Viber API with your tech stack

Use code examples for Python, PHP, Node.js, Java, Go, or C# and adapt the integration to your existing environment. Switch between languages in an interactive code block and get your first Viber API requests up and running faster.

Work with clear, practical documentation

Explore Viber message parameters, data types, and usage examples. Configure content, images, and CTAs with confidence, and build your integration without having to guess how individual request elements should be structured.

Get your sending environment ready

Complete the required setup steps, including Viber sender registration and approval, as well as the necessary configuration in your own environment. The MessageFlow team can help you prepare the channel for secure, reliable communication at scale.


import requests

url = "https://api.messageflow.com/v2.1/viber"

payload = {
"receivers": ["48111222333", "48111222444"],
"senderName": "MyCompany",
"externalId": "campaign_20250902_123",
"content": {
"text": "Hello! Check out our latest offer.",
"image": "https://example.com/image.jpg",
"action": {
"title": "Learn More",
"targetUrl": "https://example.com/offer"
}
}
}
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "123",
"Application-Key": "123"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())

const url = 'https://api.messageflow.com/v2.1/viber';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: '123',
'Application-Key': '123'
},
body: '{"receivers":["48111222333","48111222444"],"senderName":"MyCompany","externalId":"campaign_20250902_123","content":{"text":"Hello! Check out our latest offer.","image":"https://example.com/image.jpg","action":{"title":"Learn More","targetUrl":"https://example.com/offer"}}}'
};

try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}

const request = require('request');

const options = {
method: 'POST',
url: 'https://api.messageflow.com/v2.1/viber',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: '123',
'Application-Key': '123'
},
body: {
receivers: ['48111222333', '48111222444'],
senderName: 'MyCompany',
externalId: 'campaign_20250902_123',
content: {
text: 'Hello! Check out our latest offer.',
image: 'https://example.com/image.jpg',
action: {title: 'Learn More', targetUrl: 'https://example.com/offer'}
}
},
json: true
};

request(options, function (error, response, body) {
if (error) throw new Error(error);

console.log(body);
});

<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.messageflow.com/v2.1/viber",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'receivers' => [
'48111222333',
'48111222444'
],
'senderName' => 'MyCompany',
'externalId' => 'campaign_20250902_123',
'content' => [
'text' => 'Hello! Check out our latest offer.',
'image' => 'https://example.com/image.jpg',
'action' => [
'title' => 'Learn More',
'targetUrl' => 'https://example.com/offer'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Application-Key: 123",
"Authorization: 123",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}

HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.messageflow.com/v2.1/viber"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "123")
.header("Application-Key", "123")
.method("POST", HttpRequest.BodyPublishers.ofString("{\n \"receivers\": [\n \"48111222333\",\n \"48111222444\"\n ],\n \"senderName\": \"MyCompany\",\n \"externalId\": \"campaign_20250902_123\",\n \"content\": {\n \"text\": \"Hello! Check out our latest offer.\",\n \"image\": \"https://example.com/image.jpg\",\n \"action\": {\n \"title\": \"Learn More\",\n \"targetUrl\": \"https://example.com/offer\"\n }\n }\n}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

Use Viber API across key business processes

Automate marketing and transactional communication directly from your own systems. Tailor rich media, CTAs, and message timing to each use case, industry, and stage of the customer journey.

Send abandoned cart reminders, notify customers when products are back in stock, and direct them straight to the relevant offer. Combine product images, copy, and a CTA in a single message to shorten the path from interest to purchase.

Explore solutions for retail and eCommerce

Send timely delivery status updates and include a button that takes customers directly to shipment tracking. Link each message to a specific order or shipment and help reduce the number of customer service inquiries.
Explore solutions for logistics and transportation

Automate alerts, reminders, and operational messages triggered by your own systems. Track when messages are delivered and seen, and use these status updates to manage subsequent steps in your workflows.
Explore solutions for banking and finance

Combine Viber API with other communication channels

Build cross-channel journeys around the data and events already available in your systems. Combine Viber with SMS, email, RCS, and Mobile Push, and choose the right role for each channel based on the market, audience, and communication goal.

Use Viber when rich media, CTAs, and cost efficiency matter. Add SMS as a complementary channel or fallback based on your own business logic to increase the chances of reaching each recipient.

Learn more about SMS API

Follow up an email with a Viber message when you want to bring an important offer or update back to the customer’s attention. Use events from your own systems to trigger the next message at the right moment.

Learn more about Email API

Use the channel that best fits the market and is available to each recipient. Reach customers through Viber, or use RCS for rich, interactive messages delivered directly in the native messaging application.

Learn more about RCS API

Combine Viber with push notifications in journeys triggered by user activity. Use Mobile Push for fast, direct communication and Viber when you need a richer format with more space for content, visuals, and CTAs.

Learn more about Mobile Push API

Use Viber in the way that
works best for your team

Viber can support a wide range of communication scenarios – from marketing campaigns to automated messaging triggered by your CRM, eCommerce platform, or backend. Explore the option that best fits your team’s needs.

Viber Business Messages
for business teams

See how Viber can support marketing campaigns, transactional messaging, and customer communication. Explore rich media, verified business profiles, and high-volume messaging.

Frequently asked questions about Viber API

MessageFlow Viber API lets you send Viber Business Messages programmatically from your backend, CRM, eCommerce platform, or other systems. Using the REST API, you can send text, images, and CTAs, and receive message status updates via webhooks.

The API supports four message formats: text, image, text with a CTA button, and text with an image and CTA. Detailed requirements for individual fields and formats are available in the documentation.

You can include up to 200 recipients in a single API call. This makes it possible to send messages to groups of recipients without making a separate request for each phone number.

Webhooks return DELIVERED, OPENED, and EXPIRED events, allowing your system to respond when a message is delivered, viewed, or expires.

externalId lets you attach an identifier from your own system to each send, such as an order ID, booking ID, or campaign ID. This makes it easier to match MessageFlow events and logs with the relevant business data.

Yes. Visual Audit Logs in the Viber API dashboard let you review the message content, image, and CTA button details that were actually sent. This makes it easier for your team to verify a specific message without relying solely on technical API logs.

Your system can call Viber API in response to a selected event, such as a new order, a delivery status change, or an event recorded in your CRM. Message statuses can then be returned via webhooks and used to update the next steps in the workflow. Implementation details are available in the developer documentation.

The currently recommended integration uses API v2.1. Details of endpoints, parameters, authentication, and response handling are available in the latest developer documentation.

RSS