List message history for one recipient mobile number.
Mobile Number History
Summary
List message history for one recipient mobile number.
Prerequisites
- Authorization: Bearer w91_live_xxx
- Content-Type: application/json for JSON requests
Related documentation
This endpoint returns all messages for one recipient, scoped to the authenticated sender and supporting the same pagination and filters as the message list.
Endpoint: GET /api/v2/reports/messages/history.
GET
/api/v2/reports/messages/history| Parameter | Type | Required | Description |
|---|---|---|---|
mobileNumber | string | Required | Recipient mobile number to search. |
senderId | string | Optional | WhatsApp sender phone number. |
page | number | Optional | Positive integer. Default 1. |
limit | number | Optional | Positive integer. Default 50, max 200. |
status | string | Optional | Message status filter. |
storage | string | Optional | live or archive. |
dateFrom | string | Optional | YYYY-MM-DD start date. |
dateTo | string | Optional | YYYY-MM-DD end date. |
Get recipient history
curl "https://graph.whats91.com/api/v2/reports/messages/history?mobileNumber=918888888888&limit=25" \
-H "Authorization: Bearer w91_live_xxx"History response
{
"success": true,
"message": "Mobile message history retrieved",
"data": {
"mobileNumber": "918888888888",
"reports": [
{
"reportUid": "msg_uid",
"messageId": "wamid.xxxxx",
"receiver": "918888888888",
"latestStatus": "delivered",
"occurredAt": "2026-06-05T08:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 1,
"hasMore": false
}
}
}SDK Examples
Use these examples as starting points for server-side implementations.
cURL
curl -X GET "https://graph.whats91.com/api/v2/reports/messages/history" \
-H "Authorization: Bearer w91_live_xxx"Node.js
const response = await fetch("https://graph.whats91.com/api/v2/reports/messages/history", {
method: "GET",
headers: {
"Authorization": "Bearer w91_live_xxx",
"Content-Type": "application/json"
}
});
const data = await response.json();
console.log(data);PHP
$ch = curl_init("https://graph.whats91.com/api/v2/reports/messages/history");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer w91_live_xxx",
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Python
import requests
response = requests.request(
"GET",
"https://graph.whats91.com/api/v2/reports/messages/history",
headers={
"Authorization": "Bearer w91_live_xxx",
"Content-Type": "application/json",
}
)
print(response.json())C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer w91_live_xxx");
var request = new HttpRequestMessage(HttpMethod.Get, "https://graph.whats91.com/api/v2/reports/messages/history");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());