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": "email_profile", "identifier": "alex.kim@gmail.com" }'
service_type email_profile
Check whether an email account has an avatar and read its portrait attributes. Covers Gmail, Yandex and Mail.ru.
POST /api/v1/check
Email avatar analysisNo sign-in required.
API contract
Send one email 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": "email_profile", "identifier": "alex.kim@gmail.com" }'200 OK{
"code": 0,
"msg": "ok",
"data": {
"service_type": "email_profile",
"identifier": "alex.kim@gmail.com",
"registered": true,
"avatar": true,
"avatar_url": "https://lh3.googleusercontent.com/a/example",
"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 email address is reachable (can receive mail).avatar · boolean — Whether an avatar is set.avatar_url · string — URL of the avatar; empty string when no avatar 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 image URLs to email contacts so customer lists and conversations are easier to recognise.
Handle Gmail, Yandex and Mail.ru addresses in one workflow, then write avatar details into existing customer records.
When organising email lists, distinguish account existence, avatar presence and whether a complete result was returned for data completion and human review.
Find records with no avatar, no clear result or an unsupported provider so customer information remains consistent.
Direct answer
Email avatar analysis returns whether the account has an avatar, and the image URL when it does. Use service_type email_profile (the parameter that selects a product) with one email, for example alex.kim@gmail.com, 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 account has an 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.