Can the official WhatsApp API read profile photos?

The short answer

Partly. You can set yours, not read theirs.

Beta

What Meta's documentation says

Meta's official WhatsApp Cloud API is built for business messaging: templates, customer-service windows and per-conversation pricing. A large part of what WhatsApp itself can do — groups, channels, status, presence, contact lookups — has no endpoint there at all, which is why so many teams end up looking past it. Everything below is checked against Meta's own published reference, with the link and the date we checked it.

Restricted on the Cloud API

Paraphrase (not a verbatim quote), checked against the Cloud API reference index: the reference exposes a business profile for the registered number itself and no endpoint for retrieving another user's profile photo.
Meta's WhatsApp documentation — checked

Wapito is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WhatsApp or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc.

Why the Cloud API restricts it

Meta's Cloud API lets a business manage its own profile, including its picture, through the business profile node. What it does not offer is any way to read a customer's profile photo or display name, because the official platform deliberately exposes very little about the person on the other end.

The official workaround, and what it costs

For your own profile, the official API is a perfectly good route and arguably the better one. For reading a contact's picture there is no official workaround at all.

What the official route costs is not only the per-message price. Every row below is quoted from Meta's own documentation, with a link to the page and the date it was read.

What it costsWhat Meta's documentation saysSource
Writing to someone firstA business may send free-form messages only inside a 24-hour customer service window that the user opens by messaging or calling. Once the window closes, only pre-approved template messages may be sent. Meta's docs checked
Every message you sendMeta charges for the WhatsApp Business Platform per message rather than per conversation. The earlier per-conversation model was replaced on 1 July 2025, so any comparison written before that date is out of date; free entry point windows remain an exception. Meta's docs checked
Getting onto the platformApps that need advanced access to Meta's permissions may have to complete Business Verification, a process in which Meta collects information to verify the business entity. It is a real onboarding step with a real elapsed time, and it has no equivalent when you link a number you already own. Meta's docs checked

How Wapito does it

GET /contacts/{id}/profileGet a contact profile picture

curl --request GET \
  --url 'https://api.wapito.com/v1/contacts/+15551234567/profile' \
  --header 'Authorization: Bearer wpt_YOUR_TOKEN'

The Profile Picture guide Endpoint reference

When you should still use the Cloud API

  • You need a verified business identity

    The official platform is the only route to an Official Business Account: the verified name customers see in place of a phone number, and the badge beside it. A linked number can carry a WhatsApp Business profile, but Meta will never badge it, and no provider can get you one.

  • You are sending marketing at scale to people who never wrote to you

    That is what approved templates are for. Meta charges per message for them and treats the volume as legitimate; the same volume from a linked number is the clearest automation signal there is, and it is how numbers get banned. If outbound campaigns are the whole product, the official platform is the cheaper mistake.

  • You need Meta's own support and an SLA

    A Business Solution Provider gives you a contract, an escalation path and a human to call when delivery stops. Wapito will tell you the moment WhatsApp restricts your number and what it did; nobody outside Meta can make it undo that, and we do not pretend otherwise.

Frequently asked questions

Why does a contact's photo come back empty?

Almost always because of their privacy settings. WhatsApp lets everyone choose who can see their picture, and a linked number that is not in their contacts will often see nothing. It is the expected outcome for a cold contact rather than something to retry or work around.

How large should my own profile picture be?

Square and a few hundred pixels on a side is plenty; WhatsApp compresses it heavily and renders it in a small circle. A simple mark on a solid background survives that treatment far better than a detailed photograph or anything with small text in it.

Can I read the picture of a group?

Yes, through the chat picture call, provided the linked number is a member of that group. For groups the picture is the icon an admin set, and there is a dedicated group icon endpoint if you also need to change it rather than only read it.

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.