Product guidance
Beyond Webhooks: Synchronous WhatsApp Number Verification
Learn how to replace complex WhatsApp call webhook integration with a synchronous REST API for real-time account-presence signals and CRM routing workflows.

Replace complex event-driven webhook architectures with a synchronous REST API to retrieve WhatsApp account-presence signals in real time.
When evaluating a whatsapp call webhook integration for number verification, you do not need to implement complex event-driven infrastructure to check WhatsApp account status. By using a synchronous REST API, you can submit an E.164 formatted phone number and receive the registration, avatar, or business account status in the exact same HTTP response. This synchronous approach removes the need for polling, asynchronous state management, or dedicated webhook listeners, providing immediate data to inform your CRM enrichment or routing workflows.
The Complexity of Event-Driven Verification
Event-driven architectures are common in messaging platforms, but relying on a whatsapp call webhook integration for simple number verification introduces significant overhead. Webhooks require dedicated infrastructure to listen for incoming payloads, process events, and acknowledge receipt to the originating server. For development teams, this means maintaining public-facing endpoints, managing asynchronous state, and handling potential delivery retries or payload parsing errors. When the goal is simply to confirm an account-presence signal before routing a record, event-driven models often introduce unnecessary latency and maintenance burdens. Instead of waiting for an asynchronous callback to confirm if a number is registered, teams can streamline their architecture by requesting the exact status they need and receiving it immediately.
The Synchronous Advantage
A synchronous API model provides a more efficient alternative to managing webhook listeners. With WA Lookup, results are synchronous, meaning the verification data is returned in the same HTTP response as the initial request. This model completely removes the need for webhook endpoints, continuous polling, or asynchronous state management. WA Lookup consolidates its verification checks into a single synchronous endpoint. By adjusting the requested service type, developers can retrieve different levels of account-presence signals without altering their network architecture. The platform supports three distinct checks through this single endpoint:
ws: Confirms whether a submitted phone number is registered on WhatsApp.ws_avatar: Checks WhatsApp registration and adds avatar availability and anavatar_urlfield, which is empty when no URL is available.ws_business: Checks WhatsApp registration and indicates whether the account uses WhatsApp Business.
Because the request and response occur within a single connection, teams can integrate these checks directly into sequential data pipelines or lead-scoring logic without pausing for external events.
Implementing WhatsApp Verification via REST API
Integrating a synchronous check requires a straightforward HTTP request rather than a complex event listener. The API guidance describes a POST request to the /api/v1/check endpoint. Authentication is handled by including an X-API-Key header.
The documented request contract requires a JSON body containing two fields: a service_type value (ws, ws_avatar, or ws_business) and an identifier. The identifier must be a phone number submitted in the E.164 format (for example, +17253100591).
For a completed WhatsApp check, the returned data contains service_type, identifier, and registered; ws_avatar also includes avatar and avatar_url, while ws_business includes business. Internal record, transaction, status, and billing fields are not returned.
To support ongoing management, the WA Lookup dashboard provides tools for API key management, balance tracking, check history, product-level reporting, recent checks, balance spend, and account activity.
Best Practices for Data Enrichment and Routing
Contextualizing verification data within a broader business workflow helps teams prioritize outreach and manage records efficiently. Using a synchronous API to check registration status can be one input alongside other checks to clean lead lists before initiating outreach campaigns.
When enriching CRM records, teams can use the ws_avatar or ws_business service types to inform internal routing rules. For example, identifying a WhatsApp Business account might route a record to a B2B sales queue, while an avatar URL can provide additional context for customer support teams.
It is important to understand the boundaries of an account-presence signal. A registered result reports the WhatsApp status fields available at the exact time of the check. It does not report live presence, message history, contact consent, or whether the number can be contacted. The signal simply supports internal review and routing decisions based on platform presence.
Failed, timed-out, and undetermined checks do not retain the charge. See the pricing page for current billing details.
FAQ
Do I need to set up a webhook to use the WA Lookup API?
No. WA Lookup results are synchronous, meaning they are returned in the same HTTP response as your request. You do not need to configure webhook endpoints, event listeners, or polling mechanisms to receive the verification data.
What is the difference between the ws, ws_avatar, and ws_business service types?
All three use the same synchronous endpoint but return different fields. The ws service type returns only the registration status. The ws_avatar type adds an avatar boolean and an avatar_url field, which is empty when no URL is available. The ws_business type adds a boolean indicating if the account uses WhatsApp Business.
How are failed or undetermined checks handled in the billing model?
Failed, timed-out, and undetermined checks do not retain the charge. See the pricing page for current billing details.
Does a 'registered' status mean I have consent to contact the user?
No. A registered result only provides an account-presence signal at the time of the check. It does not check contact consent, online status, message history, or whether the number can be contacted.