WhatsApp API

Choose Your Plan

Scale your operations with our flexible pricing. Save up to 20% with yearly billing.

Startup

This plan for QR Code Connectivity with Limited Features

$6/month
Billed monthly
Order Now
  • 5000 Messages
  • 100 Contacts
  • 1 QR Code Account
  • WhatsApp Official Connectivity (Meta)
  • Web WhatsApp & Inbox
  • QR ChatBot
  • QR Campaign
  • AI Chat Automation
  • Agent Setup
  • Lead/Task Allocation
  • Kanban
  • QR Rest API & Webhook
  • Meta Official Business API
  • WhatsApp Leads Forms
  • WhatsApp Warmer
  • Link Meta WhatsApp (Official)
  • Ai WhatsApp Calling
  • Instagram (Link, ChatBot, Comment)
  • Facebook (Link, ChatBot)
  • Link Telegram

Standard

This plan is best for businesses that want to use Meta Official APIs and QR code connectivity.

$15/month
Billed monthly
Order Now
  • Unlimited Messages
  • 500 Contacts
  • 3 QR Code Account
  • WhatsApp Official Connectivity (Meta)
  • Web WhatsApp & Inbox
  • QR ChatBot
  • QR Campaign
  • AI Chat Automation
  • Agent Setup
  • Lead/Task Allocation
  • Kanban
  • QR Rest API & Webhook
  • Meta Official Business API
  • WhatsApp Leads Forms
  • WhatsApp Warmer
  • Link Meta WhatsApp (Official)
  • Ai WhatsApp Calling
  • Facebook: Link Facebook Messenger Facebook Messenger ChatBot
  • Link Telegram

Enterprise

This plan for enterprise-level business without any limitation

$45/month
Billed monthly
Order Now
  • Unlimited Messages
  • 2500 Contacts
  • 10 QR Code Account
  • WhatsApp Official Connectivity (Meta)
  • Web WhatsApp & Inbox
  • QR ChatBot
  • QR Campaign
  • AI Chat Automation
  • Agent Setup
  • Lead/Task Allocation
  • Kanban
  • QR Rest API & Webhook
  • Meta Official Business API
  • WhatsApp Leads Forms
  • WhatsApp Warmer
  • Link Meta WhatsApp (Official)
  • Ai WhatsApp Calling
  • Instagram: Link Instagram Instagram DM ChatBot Instagram DM Comment
  • Facebook: Link Facebook Messenger Facebook Messenger ChatBot
  • Link Telegram
API Documentation Sample

</> Code Integration Examples

curl -X POST https://wapi.pk/api/qr/rest/send_message \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your_api_token" \
  -d '{
    "messageType": "text",
    "requestType": "POST",
    "token": "your_api_token",
    "from": "923001234567",
    "to": "923001234567",
    "text": "Hello from the WhatsApp API!"
  }'
import requests

url = "https://wapi.pk/api/qr/rest/send_message"
payload = {
    "messageType": "text",
    "requestType": "POST",
    "token": "your_api_token",
    "from": "923001234567",
    "to": "923001234567",
    "text": "Hello from the WhatsApp API!"
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer your_api_token"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();

$data = array(
    "messageType" => "text",
    "requestType" => "POST",
    "token" => "your_api_token",
    "from" => "923001234567",
    "to" => "923001234567",
    "text" => "Hello from the WhatsApp API!"
);

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://wapi.pk/api/qr/rest/send_message",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($data),
    CURLOPT_HTTPHEADER => array(
        "Content-Type: application/json",
        "Authorization: Bearer your_api_token"
    ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');

const payload = {
  messageType: 'text',
  requestType: 'POST',
  token: 'your_api_token',
  from: '923001234567',
  to: '923001234567',
  text: 'Hello from the WhatsApp API!'
};

axios.post('https://wapi.pk/api/qr/rest/send_message', payload, {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_api_token'
  }
})
.then(response => console.log(response.data))
.catch(error => console.error('Error:', error));
import React from 'react';

export default function SendMessage() {
  const sendMessage = async () => {
    try {
      const res = await fetch('https://wapi.pk/api/qr/rest/send_message', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'Authorization': 'Bearer your_api_token'
        },
        body: JSON.stringify({
          messageType: 'text',
          requestType: 'POST',
          token: 'your_api_token',
          from: '923001234567',
          to: '923001234567',
          text: 'Hello from WhatsApp API!'
        })
      });
      const data = await res.json();
      console.log(data);
    } catch (error) {
      console.error('Error:', error);
    }
  };

  return (
    <button onClick={sendMessage} className="btn">
      Send Message
    </button>
  );
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class WhatsAppAPI {
    public static void main(String[] args) throws Exception {
        String jsonPayload = """
            {
                "messageType": "text",
                "requestType": "POST",
                "token": "your_api_token",
                "from": "923001234567",
                "to": "923001234567",
                "text": "Hello from the WhatsApp API!"
            }
            """;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://wapi.pk/api/qr/rest/send_message"))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer your_api_token")
                .POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program {
    static async Task Main() {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("Authorization", "Bearer your_api_token");

        var json = @"{
            ""messageType"": ""text"",
            ""requestType"": ""POST"",
            ""token"": ""your_api_token"",
            ""from"": ""923001234567"",
            ""to"": ""923001234567"",
            ""text"": ""Hello from the WhatsApp API!""
        }";

        var content = new StringContent(json, Encoding.UTF8, "application/json");
        var response = await client.PostAsync("https://wapi.pk/api/qr/rest/send_message", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}
DECLARE
  req        UTL_HTTP.REQ;
  res        UTL_HTTP.RESP;
  url        VARCHAR2(256) := 'https://wapi.pk/api/qr/rest/send_message';
  payload    VARCHAR2(4000) := '{"messageType":"text","requestType":"POST","token":"your_api_token","from":"923001234567","to":"923001234567","text":"Hello from WhatsApp API!"}';
  buffer     VARCHAR2(4000);
BEGIN
  req := UTL_HTTP.BEGIN_REQUEST(url, 'POST', 'HTTP/1.1');
  UTL_HTTP.SET_HEADER(req, 'Content-Type', 'application/json');
  UTL_HTTP.SET_HEADER(req, 'Authorization', 'Bearer your_api_token');
  UTL_HTTP.SET_HEADER(req, 'Content-Length', LENGTH(payload));
  UTL_HTTP.WRITE_TEXT(req, payload);

  res := UTL_HTTP.GET_RESPONSE(req);
  BEGIN
    LOOP
      UTL_HTTP.READ_LINE(res, buffer);
      DBMS_OUTPUT.PUT_LINE(buffer);
    END LOOP;
  EXCEPTION
    WHEN UTL_HTTP.END_OF_BODY THEN
      UTL_HTTP.END_RESPONSE(res);
  END;
END;
/