Get user profile info
curl --request GET \
--url https://api.wsapi.chat/users/{phone}/profile \
--header 'X-Api-Key: <api-key>' \
--header 'X-Instance-Id: <x-instance-id>'import requests
url = "https://api.wsapi.chat/users/{phone}/profile"
headers = {
"X-Instance-Id": "<x-instance-id>",
"X-Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Instance-Id': '<x-instance-id>', 'X-Api-Key': '<api-key>'}
};
fetch('https://api.wsapi.chat/users/{phone}/profile', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.wsapi.chat/users/{phone}/profile");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-Instance-Id", "<x-instance-id>");
request.AddHeader("X-Api-Key", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "1234567890@s.whatsapp.net",
"lid": "222424242@lid",
"phone": "1234567890",
"device": 2,
"isInWhatsApp": true,
"status": "<string>",
"pictureId": "<string>",
"pictureUrl": "<string>",
"isVerified": true
}{
"status": 400,
"detail": "invalid request body"
}{
"status": 401,
"detail": "unauthorized"
}{
"status": 403,
"detail": "device not paired"
}{
"status": 503,
"detail": "instance not available"
}Users
Get user profile info
GET
/
users
/
{phone}
/
profile
Get user profile info
curl --request GET \
--url https://api.wsapi.chat/users/{phone}/profile \
--header 'X-Api-Key: <api-key>' \
--header 'X-Instance-Id: <x-instance-id>'import requests
url = "https://api.wsapi.chat/users/{phone}/profile"
headers = {
"X-Instance-Id": "<x-instance-id>",
"X-Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Instance-Id': '<x-instance-id>', 'X-Api-Key': '<api-key>'}
};
fetch('https://api.wsapi.chat/users/{phone}/profile', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.wsapi.chat/users/{phone}/profile");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-Instance-Id", "<x-instance-id>");
request.AddHeader("X-Api-Key", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
{
"id": "1234567890@s.whatsapp.net",
"lid": "222424242@lid",
"phone": "1234567890",
"device": 2,
"isInWhatsApp": true,
"status": "<string>",
"pictureId": "<string>",
"pictureUrl": "<string>",
"isVerified": true
}{
"status": 400,
"detail": "invalid request body"
}{
"status": 401,
"detail": "unauthorized"
}{
"status": 403,
"detail": "device not paired"
}{
"status": 503,
"detail": "instance not available"
}Authorizations
Instance or customer-level API key. Either the instance's own API key or the customer's API key is accepted. Must be paired with the X-Instance-Id header to identify the target instance.
Headers
The ID of the WhatsApp instance to use
Path Parameters
Phone number (e.g. 1234567890)
Pattern:
^\+?\d{7,15}$Response
User profile info
Represents a WhatsApp user with all known identifiers. The id field is always present: it prefers a phone-based JID, falling back to LID.
Primary identifier (phone-based JID preferred, LID fallback)
Example:
"1234567890@s.whatsapp.net"
LID-based JID (omitted if unknown)
Example:
"222424242@lid"
Phone number without prefix (omitted if unknown)
Example:
"1234567890"
Device number (omitted if 0)
Example:
2
Profile picture URL (omitted if unavailable)
⌘I