WWhatsApp
Published byEndpointry (formerly Glavier)
5/7/2025
## WhatsApp API
Public WhatsApp data by phone number, invite link or channel, as WhatsApp returns it. Check whether a
number is on WhatsApp, read an account's profile (the name it set, about text, profile picture, business
profile, linked devices), see what a group's invite link shows, and read channels, their latest posts and
the channel directory. Read-only: nothing is sent, joined or followed.
Typical uses: validating phone lists before outreach, enriching leads and business records, verifying a
business's WhatsApp presence, and monitoring public channels.
### Endpoints
- **`GET /v1/number/check?phone=+14155550123`**: `registered` and the number's WhatsApp id.
- **`GET /v1/number/profile?phone=+14155550123`**: the contact (`pushname`, `isBusiness`, `verifiedName`,
and for businesses `businessProfile` with description, categories, website, email, address and hours),
`about`, `profile_picture_url`, the account's LID and `device_count`.
- **`GET /v1/group/invite?code=https://chat.whatsapp.com/…`**: the group's name and description, size,
creation time, settings, owner and a few participants.
- **`GET /v1/channel?code=https://whatsapp.com/channel/…`**: a channel with its follower count,
verification and description.
- **`GET /v1/channel/messages?code=…&limit=20`**: a channel's latest posts.
- **`GET /v1/channels/search?query=news&country=US`**: the channel directory, by name or by the
recommended, trending, popular and new lists.
```json
{
"phone": "14155550123",
"registered": true,
"wid": { "server": "c.us", "user": "14155550123", "_serialized": "[email protected]" }
}
```
### Notes
- Pass phone numbers in international format with the country code (`+14155550123`); spaces, dashes and
brackets are fine.
- `about` and `profile_picture_url` follow the person's privacy settings: `null` when hidden or never set.
Picture URLs are signed by WhatsApp and expire after a while; download the picture if you need to keep it.
- A part of a profile that could not be read this time is `null` and listed in `unavailable`; ask again
later for it.
- Objects carry every field WhatsApp returns. Fields such as `isMyContact`, `isBlocked`, `labels` or
`unreadCount` describe the account that made the lookup, not the one looked up, and are normally empty.
- Invite links and codes are both accepted. Looking at a group's invite or a channel never joins or follows
it.
### Errors and billing
Errors are JSON, `{"error": {"message": "…", "code": "…"}}`, with a stable `code`:
| Status | `code` | Meaning | Charged |
| --- | --- | --- | --- |
| 400 | `phone_required`, `invalid_phone` | the phone number is missing or cannot be a phone number | no |
| 400 | `code_required`, `invalid_code` | the invite code or link is missing or malformed | no |
| 400 | `invalid_limit`, `invalid_country`, `invalid_view`, `invalid_query` | an option is out of range | no |
| 404 | `not_registered` | the number has no WhatsApp account (Get Profile) | yes |
| 404 | `not_found` | the invite code is wrong, revoked or expired | yes |
| 503 | `service_unavailable` | the lookup could not be completed; retry later | no |
A number without a WhatsApp account is a normal answer for Check Number (`registered: false`), charged like
any lookup.
Releases
Last updated 2026-10-202026-10-20
New read-only WhatsApp endpoints: check whether a number is on WhatsApp, read an account's public profile, preview a group invite link, and read channels, their latest posts and the channel directory.