Chat
List contacts
Lists every synced contact or queries a specific number
GET
List contacts
Auth:
TokenAccount or TokenInstance • Rate-limit: Global (100/min) • Idempotent: yes
Description
Returns the list of contacts synced in the WhatsMeowContactStore, these are the contacts coming from the main phone’s address book: name, push name, business name, and redacted phone number.
If ?number= is provided, returns a single contact. If the number is not in the address book, the response is still 200 OK with contact.found = false.
Read-only operation against the local store, does not generate any WhatsApp traffic.
Examples
List all
Without query params, returns every contact synced in the instance’s localContactStore, with total indicating the size of the list.
Specific number
Filters by?number=5511999999999 (international phone). Returns the single contact object, with found=false when the number is not in the synced address book.
Full JID
Accepts the entire JID in?number=5511999999999@s.whatsapp.net when you already have the full identifier (from a webhook or another API response), avoiding manually building the suffix.
Success response
Without?number, returns contacts (array) with every contact synced from the address book + total. With ?number=..., returns only contact (a single object). Each item carries jid, lid (when applicable), the available names (first_name, full_name, push_name, business_name), and redacted_phone for cases where we only know the LID. The found field indicates whether the entry came from the store.
200 OK
Path parameters
Instance name (e.g.,
$Instance_Name).Headers
| Name | Required | Example | Description |
|---|---|---|---|
token | yes (or Authorization) | a1b2c3d4-... | TokenAccount or TokenInstance. |
Query params
International phone (
5511999999999) or JID (5511999999999@s.whatsapp.net, ...@lid). If provided, returns only this contact.Notes and gotchas
found=falsewith emptypush_nameand emptyredacted_phoneusually means the number does not have WhatsApp or never exchanged messages with you.business_nameis only filled for verified WhatsApp Business accounts.- Operations involving more than a thousand contacts may take a few seconds because of the
context.WithTimeout(30s)applied toGetAllContacts.
Error responses
| HTTP | error.message | When it happens |
|---|---|---|
| 400 | Instance name is required | Empty :instance. |
| 401 | Invalid token | See Authentication. |
| 404 | Instance not found | The instance does not exist on the account. |
| 500 | WhatsApp client not found for instance | Client deallocated. |
| 500 | WhatsApp client is not connected | Disconnected instance. |
| 500 | contact store not available (use a store that implements ContactStore, e.g. sqlstore) | Store not supported. |
| 500 | invalid number: <...> | Malformed ?number=. |
| 500 | failed to get contacts: <...> / failed to get contact: <...> | Internal WhatsMeow error. |
Error 400