Get contact profile
Fetches the full profile (name, status, picture, business flag) of a contact.
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"number": "5511999999999"
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}"
payload = { "number": "5511999999999" }
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({number: '5511999999999'})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}', 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://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'number' => '5511999999999'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}"
payload := strings.NewReader("{\n \"number\": \"5511999999999\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"number\": \"5511999999999\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"number\": \"5511999999999\"\n}"
response = http.request(request)
puts response.read_body{
"wuid": "5511999999999@s.whatsapp.net",
"name": "Acme Store",
"numberExists": true,
"picture": "https://pps.whatsapp.net/v/t61.24694-24/399123456_1122334455667788_1234567890123456789_n.jpg?ccb=11-4&oh=01_AbCdEfGhIjKlMnOpQrStUvWxYz&oe=66AF1234&_nc_sid=5e03e0",
"status": "We sell quality products since 2015.",
"isBusiness": true,
"email": "contact@acmestore.com.br",
"description": "Official store — fast delivery across Brazil.",
"website": "https://acmestore.com.br"
}{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}Authorizations
Your Pilot Status API key (ps_...). Evolution GO also accepts Authorization: Bearer <key>.
Path Parameters
The number's display name in the Pilot Status dashboard.
Body
Phone number or JID whose profile to fetch.
"5511999999999"
Response
Success — provider-native response body.
WhatsApp JID of the profile.
Whether the profile is a WhatsApp Business account.
Display/push name of the contact.
Whether the number exists on WhatsApp.
Profile picture URL, or null when hidden/not set.
The contact's status/about text (or connection status for own profile).
Business email (only for business profiles).
Business description (only for business profiles).
First business website URL (only for business profiles).
Was this page helpful?
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"number": "5511999999999"
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}"
payload = { "number": "5511999999999" }
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({number: '5511999999999'})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}', 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://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'number' => '5511999999999'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}"
payload := strings.NewReader("{\n \"number\": \"5511999999999\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"number\": \"5511999999999\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/chat/fetchProfile/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"number\": \"5511999999999\"\n}"
response = http.request(request)
puts response.read_body{
"wuid": "5511999999999@s.whatsapp.net",
"name": "Acme Store",
"numberExists": true,
"picture": "https://pps.whatsapp.net/v/t61.24694-24/399123456_1122334455667788_1234567890123456789_n.jpg?ccb=11-4&oh=01_AbCdEfGhIjKlMnOpQrStUvWxYz&oe=66AF1234&_nc_sid=5e03e0",
"status": "We sell quality products since 2015.",
"isBusiness": true,
"email": "contact@acmestore.com.br",
"description": "Official store — fast delivery across Brazil.",
"website": "https://acmestore.com.br"
}{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}