List channel subscribers
curl --request GET \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId} \
--header 'Client-Token: <api-key>'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}"
headers = {"Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Client-Token': '<api-key>'}};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}")
.header("Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"phoneNumber": "<string>",
"displayName": "<string>",
"username": "<string>",
"role": "<string>",
"followTime": 123,
"adminProfile": {
"id": "<string>",
"name": "<string>",
"pictureDirectPath": "<string>"
}
}Newsletter
List channel subscribers
Returns the complete list of channel subscribers
GET
/
instances
/
{instanceId}
/
token
/
{token}
/
newsletter
/
subscribers
/
{newsletterId}
List channel subscribers
curl --request GET \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId} \
--header 'Client-Token: <api-key>'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}"
headers = {"Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Client-Token': '<api-key>'}};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}")
.header("Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/subscribers/{newsletterId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"phoneNumber": "<string>",
"displayName": "<string>",
"username": "<string>",
"role": "<string>",
"followTime": 123,
"adminProfile": {
"id": "<string>",
"name": "<string>",
"pictureDirectPath": "<string>"
}
}Overview
This method returns the complete list of channel subscribers.Attributes
Header
string
required
Your instance ID. Available in the Z-API panel under Instances.
string
required
Your Z-API instance token.
Path
string
required
Channel ID
Response
200
Returns an array of subscriber objects.string
Subscriber ID (can be a phone number or a
@lid)string
Subscriber’s phone number, when available
string
Subscriber’s display name, when available
string
Subscriber’s username, when available
string
Subscriber’s role in the channel (OWNER, ADMIN or SUBSCRIBER)
number
Timestamp of when the user started following the channel, when available
object
[
{
"id": "199690293383294@lid",
"phoneNumber": null,
"displayName": null,
"username": null,
"role": "SUBSCRIBER",
"followTime": null,
"adminProfile": null
},
{
"id": "277454937673921@lid",
"phoneNumber": null,
"displayName": null,
"username": null,
"role": "SUBSCRIBER",
"followTime": null,
"adminProfile": null
}
]
The channel ID must always contain the @newsletter suffix, as this is the standard used by WhatsApp.
WhatsApp only returns subscribers who are in the requester’s contact list, and the requester must be an admin of the channel. This list has no pagination, returning all available subscribers in a single response.