cURL
curl "https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>" -X GET \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-u emailaddress@mydomain.com:my_api_key \
-H "Host: example.org" \
-H "Cookie: "require 'net/http'
require 'uri'
uri = URI.parse('https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>')
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_url)
request.basic_auth("emailaddress@mydomain.com", "my_api_key")
response = http.request(request)var request = new XMLHttpRequest();
request.open('GET', 'https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>', false);
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Authorization', 'Basic ' + btoa('emailaddress@mydomain.com:my_api_key'));
request.send(null);import requests
url = "https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$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://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}")
.header("Authorization", "Basic <encoded-value>")
.asString();{
"status": "OK",
"subscriber": {
"phone_number": "2065551111",
"cleaned_at": null,
"subscribed_at": "2025-06-18T15:36:07Z",
"opted_out_at": null,
"opt_in_method": "keyword",
"keyword_name": "JOIN",
"carrier": 383,
"carrier_name": "Verizon Wireless",
"global_carrier_id": "12345",
"global_carrier_name": "Verizon",
"total_messages_received": 15
}
}Subscribers
Getting a Subscriber
This endpoint returns information about a current subscriber.
GET
/
api
/
v2
/
lists
/
{ID}
/
subscribers
/
{SUBSCRIBER_ID}
cURL
curl "https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>" -X GET \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-u emailaddress@mydomain.com:my_api_key \
-H "Host: example.org" \
-H "Cookie: "require 'net/http'
require 'uri'
uri = URI.parse('https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>')
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_url)
request.basic_auth("emailaddress@mydomain.com", "my_api_key")
response = http.request(request)var request = new XMLHttpRequest();
request.open('GET', 'https://app.tatango.com/api/v2/lists/<ID>/subscribers/<SUBSCRIBER_ID>', false);
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Authorization', 'Basic ' + btoa('emailaddress@mydomain.com:my_api_key'));
request.send(null);import requests
url = "https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$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://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}")
.header("Authorization", "Basic <encoded-value>")
.asString();{
"status": "OK",
"subscriber": {
"phone_number": "2065551111",
"cleaned_at": null,
"subscribed_at": "2025-06-18T15:36:07Z",
"opted_out_at": null,
"opt_in_method": "keyword",
"keyword_name": "JOIN",
"carrier": 383,
"carrier_name": "Verizon Wireless",
"global_carrier_id": "12345",
"global_carrier_name": "Verizon",
"total_messages_received": 15
}
}Request URL
GET https://app.tatango.com/api/v2/lists/{ID}/subscribers/{SUBSCRIBER_ID}
Authorizations
The momoGood Messaging API v2 authenticates requests by validating an API key passed via HTTP Basic Authentication. Use your login email as the username and your API key as the password.
Path Parameters
ID of the list
ID of the subscriber (phone number)
⌘I