POST /api/v1/checkcurl -X POST "https://avatarlookup.com/api/v1/check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "ws_profile", "identifier": "+17253100591" }'
service_type ws_profile
Check whether a number has a WhatsApp avatar, get the image URL, and read the portrait attributes of that avatar.
POST /api/v1/check
WhatsApp avatar analysisNo sign-in required.
API contract
Send one number and select this product with service_type. Authentication uses your API key.
Copy the curl command below and replace only the example API key with your own.
POST /api/v1/checkcurl -X POST "https://avatarlookup.com/api/v1/check" \
-H "X-API-Key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "service_type": "ws_profile", "identifier": "+17253100591" }'200 OK{
"code": 0,
"msg": "ok",
"data": {
"service_type": "ws_profile",
"identifier": "+17253100591",
"registered": true,
"avatar": true,
"avatar_url": "https://pps.whatsapp.net/v/example.jpg",
"category": "individual portrait",
"age": 39,
"gender": "male",
"skin_color": "white",
"hair_color": "brown"
}
}How to use it
A number in E.164 form (a plus sign, the country code, then the number) for WhatsApp, or a full email for the email product.
registered says whether the account exists (for an email address: whether it is reachable), avatar says whether an avatar is set, avatar_url carries the image. All three come back on every successful lookup.
avatar_url points at the platform's own CDN and may expire on their schedule. Treat it as a pointer: download or cache the image if you need to keep it.
What it checks
registered · boolean — Whether the number is registered on WhatsApp.avatar · boolean — Whether an avatar is set.avatar_url · string — URL of the avatar; empty string when no photo is set.category · string — What the picture is: individual portrait, group photo, game avatar, cartoon avatar, landscape, pet avatar or object. unknown when no portrait could be produced.age · integer — Estimated age as an integer, accurate to about 3 years and clamped to 0-80. Omitted when it could not be estimated (for example when no gender was determined).gender · string — male, female or unknown.skin_color · string — Descriptive skin tone, for example white, east_asian or hispanic. Treat it as an open set; unknown when not determined.hair_color · string — Descriptive hair colour, for example black, brown, blond or gray white. Treat it as an open set; unknown when not determined.Best for
Add avatar state and an image URL to customer lists, support conversations or address books. Check whether an avatar exists before loading it or showing a default image.
Write the returned avatar URL into existing contact records so sales, support and operations see the same more complete customer profile.
Put registration state, avatar state and picture attributes into human review queues as an additional signal of record completeness.
Build groups from registration, avatar presence and profile results to organise lists and plan later data work.
Direct answer
WhatsApp avatar analysis returns whether the number has a WhatsApp avatar, and the image URL when it does. Use service_type ws_profile (the parameter that selects a product) with one number in E.164 form, for example +17253100591, and read the portrait attributes at the top level of the same API response.
Clear boundaries
Product FAQ
It checks one identifier and returns whether the number has a WhatsApp avatar, and the image URL when it does in the same synchronous response.
Balance is charged only for completed checks. Failed or undetermined checks do not keep the charge.
Submit the identifier the product accepts: a number in E.164 form for WhatsApp, or a full email for the email product. Sending the wrong form is rejected before any charge.
No. It only reports whether an avatar is set at that moment. It says nothing about whether the account is in use or online, and it is not permission to contact anyone. Consent and applicable rules remain your responsibility.
Related products
Create an account to use every product from the SaaS dashboard or the API: realtime checks and async bulk checks draw on the same balance.