Skip to main content

Contacts messages

Updated: Nov 3, 2025 Contacts messages allow you to send rich contact information directly to WhatsApp users, such as names, phone numbers, physical addresses, and email addresses. When a WhatsApp user taps the message’s profile arrow, it displays the contact’s information in a profile view: Each message can include information for up to 257 contacts, although it is recommended to send fewer for usability and negative feedback reasons.

Request syntax

Use the POST /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>/messages endpoint to send a contacts message to a WhatsApp user.
curl 'https://graph.facebook.com/&lt;API_VERSION&gt;/&lt;WHATSAPP_BUSINESS_PHONE_NUMBER_ID&gt;/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer &lt;ACCESS_TOKEN&gt;' \
-d '
\{
  "messaging_product": "whatsapp",
  "to": "&lt;WHATSAPP_USER_PHONE_NUMBER&gt;",
  "type": "contacts",
  "contacts": [\
    {\
      "addresses": [\
        {\
          "street": "&lt;STREET_NUMBER_AND_NAME&gt;",\
          "city": "&lt;CITY&gt;",\
          "state": "&lt;STATE_CODE&gt;",\
          "zip": "&lt;ZIP_CODE&gt;",\
          "country": "&lt;COUNTRY_NAME&gt;",\
          "country_code": "&lt;COUNTRY_CODE&gt;",\
          "type": "&lt;ADDRESS_TYPE&gt;"\
        }\
        <!-- Additional addresses objects go here, if using -->\
      ],\
      "birthday": "&lt;BIRTHDAY&gt;",\
      "emails": [\
        {\
          "email": "&lt;EMAIL_ADDRESS&gt;",\
          "type": "&lt;EMAIL_TYPE&gt;"\
        }\
        <!-- Additional emails objects go here, if using -->\
      ],\
      "name": {\
        "formatted_name": "&lt;FULL_NAME&gt;",\
        "first_name": "&lt;FIRST_NAME&gt;",\
        "last_name": "&lt;LAST_NAME&gt;",\
        "middle_name": "&lt;MIDDLE_NAME&gt;",\
        "suffix": "&lt;SUFFIX&gt;",\
        "prefix": "&lt;PREFIX&gt;"\
      },\
      "org": {\
        "company": "&lt;COMPANY_OR_ORG_NAME&gt;",\
        "department": "&lt;DEPARTMENT_NAME&gt;",\
        "title": "&lt;JOB_TITLE&gt;"\
      },\
      "phones": [\
          "phone": "&lt;PHONE_NUMBER&gt;",\
          "type": "&lt;PHONE_NUMBER_TYPE&gt;",\
          "wa_id": "&lt;WHATSAPP_USER_ID&gt;"\
        }\
        <!-- Additional phones objects go here, if using -->\
      ],\
      "urls": [\
        {\
          "url": "&lt;WEBSITE_URL&gt;",\
          "type": "&lt;WEBSITE_TYPE&gt;"\
        }\
        <!-- Additional URLs go here, if using -->\
      ]\
    }\
  ]
}'

Request parameters

PlaceholderDescriptionExample Value
&lt;ACCESS_TOKEN&gt;
String
Required.
System token or business token.
EAAAN6tcBzAUBOZC82CW7iR2LiaZBwUHS4Y7FDtQxRUPy1PHZClDGZBZCgWdrTisgMjpFKiZAi1FBBQNO2IqZBAzdZAA16lmUs0XgRcCf6z1LLxQCgLXDEpg80d41UZBt1FKJZCqJFcTYXJvSMeHLvOdZwFyZBrV9ZPHZASSqxDZBUZASyFdzjiy2A1sippEsF4DVV5W2IlkOSr2LrMLuYoNMYBy8xQczzOKDOMccqHEZD
&lt;ADDRESS_TYPE&gt;
String
Optional.
Type of address, such as home or work.
Home
&lt;API_VERSION&gt;
String
Optional.
Graph API version.
v24.0
&lt;BIRTHDAY&gt;
String
Optional.
Contact’s birthday. Must be in YYYY-MM-DD format.
1999-01-23
&lt;CITY&gt;
String
Optional.
City where the contact resides.
Menlo Park
&lt;COMPANY_OR_ORG_NAME&gt;
String
Optional.
Name of the company where the contact works.
Lucky Shrub
&lt;COUNTRY_CODE&gt;
String
Optional.
ISO two-letter country code.
US
&lt;COUNTRY_NAME&gt;
String
Optional.
Country name.
United States
&lt;DEPARTMENT_NAME&gt;
String
Optional.
Department within the company.
Legal
&lt;EMAIL_ADDRESS&gt;
String
Optional.
Email address of the contact.
[email protected]
&lt;EMAIL_TYPE&gt;
String
Optional.
Type of email, such as personal or work.
Work
&lt;FIRST_NAME&gt;
String
Optional.
Contact’s first name.
Barbara
&lt;FORMATTED_NAME&gt;
String
Required.
Contact’s formatted name. This will appear in the message alongside the profile arrow button.
Barbara J. Johnson
&lt;JOB_TITLE&gt;
String
Optional.
Contact’s job title.
Lead Counsel
&lt;LAST_NAME&gt;
String
Optional.
Contact’s last name.
Johnson
&lt;MIDDLE_NAME&gt;
String
Optional.
Contact’s middle name.
Joana
&lt;PHONE_NUMBER&gt;
String
Optional.
WhatsApp user phone number.
+16505559999
&lt;PHONE_NUMBER_TYPE&gt;
String
Optional.
Type of phone number. For example, cell, mobile, main, iPhone, home, work, etc.
Home
&lt;PREFIX&gt;
String
Optional.
Prefix for the contact’s name, such as Mr., Ms., Dr., etc.
Dr.
&lt;STATE_CODE&gt;
String
Optional.
Two-letter state code.
CA
&lt;STREET_NUMBER_AND_NAME&gt;
String
Optional.
Street address of the contact.
1 Lucky Shrub Way
&lt;SUFFIX&gt;
String
Optional.
Suffix for the contact’s name, if applicable.
Esq.
&lt;WEBSITE_TYPE&gt;
String
Optional.
Type of website. For example, company, work, personal, Facebook Page, Instagram, etc.
Company
&lt;WEBSITE_URL&gt;
String
Optional.
Website URL associated with the contact or their company.
https://www.luckyshrub.com
&lt;WHATSAPP_USER_ID&gt;
String
Optional.
WhatsApp user ID. If omitted, the message will display an Invite to WhatsApp button instead of the standard buttons.
See Button Behavior below.
19175559999
&lt;WHATSAPP_BUSINESS_PHONE_NUMBER_ID&gt;
String
Required.
WhatsApp business phone number ID.
106540352242922
&lt;WHATSAPP_USER_PHONE_NUMBER&gt;
String
Required.
WhatsApp user phone number.
+16505551234
&lt;ZIP_CODE&gt;
String
Optional.
Postal or ZIP code.
94025

Button behavior

If you include the contact’s WhatsApp ID in the message (via the wa_id property), the message will include a Message and a Save contact button: If the WhatsApp user taps the Message button, it will open a new message with the contact. If the user taps the Save contact button, they will be given the option to save the contact as a new contact, or to update an existing contact. If you omit the wa_id property, both buttons will be replaced with an Invite to WhatsApp button:

Example request

Example request to send a contacts message with two physical addresses, two email addresses, two phone numbers, and two website URLs.
curl 'https://graph.facebook.com/v24.0/106540352242922/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
\{
  "messaging_product": "whatsapp",
  "to": "+16505551234",
  "type": "contacts",
  "contacts": [\
    {\
      "addresses": [\
        {\
          "street": "1 Lucky Shrub Way",\
          "city": "Menlo Park",\
          "state": "CA",\
          "zip": "94025",\
          "country": "United States",\
          "country_code": "US",\
          "type": "Office"\
        },\
        {\
          "street": "1 Hacker Way",\
          "city": "Menlo Park",\
          "state": "CA",\
          "zip": "94025",\
          "country": "United States",\
          "country_code": "US",\
          "type": "Pop-Up"\
        }\
      ],\
      "birthday": "1999-01-23",\
      "emails": [\
        {\
          "email": "[email protected]",\
          "type": "Work"\
        },\
        {\
          "email": "[email protected]",\
          "type": "Work (old)"\
        }\
      ],\
      "name": {\
        "formatted_name": "Barbara J. Johnson",\
        "first_name": "Barbara",\
        "last_name": "Johnson",\
        "middle_name": "Joana",\
        "suffix": "Esq.",\
        "prefix": "Dr."\
      },\
      "org": {\
        "company": "Lucky Shrub",\
        "department": "Legal",\
        "title": "Lead Counsel"\
      },\
      "phones": [\
        {\
          "phone": "+16505559999",\
          "type": "Landline"\
        },\
        {\
          "phone": "+19175559999",\
          "type": "Mobile",\
          "wa_id": "19175559999"\
        }\
      ],\
      "urls": [\
        {\
          "url": "https://www.luckyshrub.com",\
          "type": "Company"\
        },\
        {\
          "url": "https://www.facebook.com/luckyshrubplants",\
          "type": "Company (FB)"\
        }\
      ]\
    }\
  ]
}'

Example response

\{
  "messaging_product": "whatsapp",
  "contacts": [\
    {\
      "input": "+16505551234",\
      "wa_id": "16505551234"\
    }\
  ],
  "messages": [\
    {\
      "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1RjQyNUE3NEYxMzAzMzQ5MkEA"\
    }\
  ]
}
Did you find this page helpful? Thumbs up icon Thumbs down icon ON THIS PAGE Request syntax Request parameters Button behavior Example request Example response