import { PeriskopeApi } from '@periskope/periskope-client';
const client = new PeriskopeApi({
authToken: 'YOUR_API_KEY',
phone: 'YOUR_PHONE_NUMBER', // Optional for this endpoint — omit to return reactions across all phones your token can access
});
async function fetchReactions() {
const response = await client.reaction.getReactions();
console.log(response);
}
fetchReactions();# x-phone is optional for this endpoint — omit it to return reactions across all phones your token can access
curl -X GET \
https://api.periskope.app/v1/reaction \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-H 'x-phone: YOUR_PHONE_NUMBER' \
-d '{
"chat_id": "919537851844@c.us",
"message_id": "true_919537851844@c.us_3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B",
"start_time": "2025-08-10 10:00:00",
"end_time": "2025-08-15 10:00:00",
"offset": "0",
"limit": "1000"
}'{
"from": 1,
"start_time": "2025-08-15T00:00:00Z",
"end_time": "2025-08-15T23:59:59Z",
"to": 2,
"count": 2,
"reactions": [
{
"org_id": "2997dd64-89bf-48d3-9a22-b314fca017e5",
"message_id": "false_9184090XXXXX@c.us_3D023C13C1487916ED112C671C348635",
"ack": null,
"id": {
"id": "12F4BBF6D901439A78B5B404A4662308",
"remote": "9184090XXXXX@c.us",
"from_me": false,
"serialized": "false_9184090XXXXX@c.us_12F4BBF6D901439A78B5B404A4662308"
},
"orphan": null,
"reaction": "😢",
"read": true,
"reaction_id": "false_9184090XXXXX@c.us_12F4BBF6D901439A78B5B404A4662308",
"timestamp": "2025-07-14T03:07:00.003+00:00",
"msg_id": {
"id": "3D023C13C1487916ED112C671C348635",
"remote": "9184090XXXXX@c.us",
"from_me": false,
"serialized": "false_9184090XXXXX@c.us_3D023C13C1487916ED112C671C348635"
},
"orphan_reason": null,
"sender_id": "917452891348@c.us",
"org_phone": "91882424xxxx@c.us",
"chat_id": "9184090XXXXX@c.us",
"unique_id": "3D023C13C1487916ED112C671C348635"
},
{
"org_id": "2997dd64-89bf-48d3-9a22-b314fca017e5",
"message_id": "false_1203632541736XXXXX@g.us_3A6A3C183F00093184DB",
"ack": null,
"id": {
"id": "3EB0B1654FCA55F479F316",
"remote": "1203632541736XXXXX@g.us",
"from_me": false,
"serialized": "false_1203632541736XXXXX@g.us_3EB0B1654FCA55F479F316"
},
"orphan": null,
"reaction": "👍",
"read": true,
"reaction_id": "false_1203632541736XXXXX@g.us_3EB0B1654FCA55F479F316",
"timestamp": "2025-08-16T13:58:47.252+00:00",
"msg_id": {
"id": "3A6A3C183F00093184DB",
"remote": "1203632541736XXXXX@g.us",
"from_me": false,
"serialized": "false_1203632541736XXXXX@g.us_3A6A3C183F00093184DB"
},
"orphan_reason": null,
"sender_id": "919971844008@c.us",
"org_phone": "91882424xxxx@c.us",
"chat_id": "1203632541736XXXXX@g.us",
"unique_id": "3A6A3C183F00093184DB"
}
]
}Get Reactions
This endpoint is used to fetch reactions for an org or a specific chat or message.
You can use chat_id and message_id to filter reactions specific to a chat or message.
Response
The response is an array of JSON reaction objects. Refer to the reaction object here
import { PeriskopeApi } from '@periskope/periskope-client';
const client = new PeriskopeApi({
authToken: 'YOUR_API_KEY',
phone: 'YOUR_PHONE_NUMBER', // Optional for this endpoint — omit to return reactions across all phones your token can access
});
async function fetchReactions() {
const response = await client.reaction.getReactions();
console.log(response);
}
fetchReactions();# x-phone is optional for this endpoint — omit it to return reactions across all phones your token can access
curl -X GET \
https://api.periskope.app/v1/reaction \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-H 'x-phone: YOUR_PHONE_NUMBER' \
-d '{
"chat_id": "919537851844@c.us",
"message_id": "true_919537851844@c.us_3EB0ABB7C973860FC19EBE05FD934141CCEC2D8B",
"start_time": "2025-08-10 10:00:00",
"end_time": "2025-08-15 10:00:00",
"offset": "0",
"limit": "1000"
}'{
"from": 1,
"start_time": "2025-08-15T00:00:00Z",
"end_time": "2025-08-15T23:59:59Z",
"to": 2,
"count": 2,
"reactions": [
{
"org_id": "2997dd64-89bf-48d3-9a22-b314fca017e5",
"message_id": "false_9184090XXXXX@c.us_3D023C13C1487916ED112C671C348635",
"ack": null,
"id": {
"id": "12F4BBF6D901439A78B5B404A4662308",
"remote": "9184090XXXXX@c.us",
"from_me": false,
"serialized": "false_9184090XXXXX@c.us_12F4BBF6D901439A78B5B404A4662308"
},
"orphan": null,
"reaction": "😢",
"read": true,
"reaction_id": "false_9184090XXXXX@c.us_12F4BBF6D901439A78B5B404A4662308",
"timestamp": "2025-07-14T03:07:00.003+00:00",
"msg_id": {
"id": "3D023C13C1487916ED112C671C348635",
"remote": "9184090XXXXX@c.us",
"from_me": false,
"serialized": "false_9184090XXXXX@c.us_3D023C13C1487916ED112C671C348635"
},
"orphan_reason": null,
"sender_id": "917452891348@c.us",
"org_phone": "91882424xxxx@c.us",
"chat_id": "9184090XXXXX@c.us",
"unique_id": "3D023C13C1487916ED112C671C348635"
},
{
"org_id": "2997dd64-89bf-48d3-9a22-b314fca017e5",
"message_id": "false_1203632541736XXXXX@g.us_3A6A3C183F00093184DB",
"ack": null,
"id": {
"id": "3EB0B1654FCA55F479F316",
"remote": "1203632541736XXXXX@g.us",
"from_me": false,
"serialized": "false_1203632541736XXXXX@g.us_3EB0B1654FCA55F479F316"
},
"orphan": null,
"reaction": "👍",
"read": true,
"reaction_id": "false_1203632541736XXXXX@g.us_3EB0B1654FCA55F479F316",
"timestamp": "2025-08-16T13:58:47.252+00:00",
"msg_id": {
"id": "3A6A3C183F00093184DB",
"remote": "1203632541736XXXXX@g.us",
"from_me": false,
"serialized": "false_1203632541736XXXXX@g.us_3A6A3C183F00093184DB"
},
"orphan_reason": null,
"sender_id": "919971844008@c.us",
"org_phone": "91882424xxxx@c.us",
"chat_id": "1203632541736XXXXX@g.us",
"unique_id": "3A6A3C183F00093184DB"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Optional. The phone to scope this request to — in country code + number format with no spaces or special characters (e.g. 919876543210), or the phone_id (phone-xxxxxxxxxxxx). When set, only reactions for that phone are returned. When omitted, reactions are returned — across all phones your token can access (the phones in your token's scope, or every phone in your organization if the token is unscoped). Passing a phone that is outside your token's scope returns a 401.
"{{orgPhone}}"
Query Parameters
Use this option to fetch reactions of a specific chat.
- For groups, enter the chat_id of the group. This will be a string that ends with @g.us
- For 1-1 chats, enter the country_code + number of the recipient e.g. 919537851844@c.us (The @c.us is optional)
"9184090XXXXX@c.us"
Use this option to fetch reactions of a specific message.
- The message_id is a unique ID of a WA message on Periskope
"true_9184090XXXXX@c.us_3D023C13C1487916ED112C671C348635"
- The offset value for paginating the results
- Default
0
"0"
- The maximum number of reactions to retrieve
- Default
500
"10"
- Filter for all reactions from the start_time timestamp onwards
"2025-04-25 or 2025-04-25T00:00:00Z"
- Filter for all reactions up to the end_time timestamp
"2025-04-31 or 2025-04-31T23:59:59Z"
Response
Reaction
The starting index of the reactions returned
1
The ending index of the reactions returned
10
The start_time of the reactions returned. The format should be YYYY-MM-DDTHH:MM:SSZ
"2025-08-15T00:00:00Z"
The end_time of the reactions returned. The format should be YYYY-MM-DDTHH:MM:SSZ
"2025-08-15T23:59:59Z"
The total number of reactions returned
10
An array of reaction objects. Refer to the reaction object here
Was this page helpful?