wbiztool-com Number verification API
Check whether numbers are on WhatsApp. Uses a Bearer header.
Check whether numbers are on WhatsApp. Uses a Bearer header.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/wbiztool-com:wbiztool-com-number-verification-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: WbizTool Number verification API
version: 1.0.0
summary: Send WhatsApp messages from your own number over a REST API.
description: 'The WbizTool REST API sends WhatsApp messages (text, images and files, to numbers and groups, now or scheduled) from your own WhatsApp number, linked to WbizTool the way WhatsApp Web is linked to a phone. It is not the official WhatsApp Business API. Most endpoints authenticate with `client_id` and `api_key` sent in the request body (JSON or form fields), never in a header; the number verification endpoints use an `Authorization: Bearer` header instead. Always read the JSON body and check its `status` field, because some errors come back with HTTP 200. Guides, examples in cURL, Python, Node.js and PHP, and every error message: https://wbiztool.com/docs/'
termsOfService: https://wbiztool.com/terms/
contact:
name: WbizTool support
email: info@wbiztool.com
url: https://wbiztool.com/contact-us/
servers:
- url: https://wbiztool.com/api/v1
description: Production
tags:
- name: Number verification
description: Check whether numbers are on WhatsApp. Uses a Bearer header.
paths:
/verification/create/:
post:
operationId: createVerification
tags:
- Number verification
summary: Create a number verification task
description: 'Check whether phone numbers are registered on WhatsApp. Returns a `campaign_id` at once; a connected WhatsApp number of the workspace then checks the numbers in the background. Authenticates with `Authorization: Bearer YOUR_API_KEY` (no `client_id`); the body must be JSON. Needs a plan with number verification, which also limits numbers per request and per billing period.'
externalDocs:
description: Full documentation
url: https://wbiztool.com/docs/verification-create-api/
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVerificationRequest'
examples:
leads:
value:
campaign_name: Website leads - September
numbers:
- '919876543210'
- +91 98765 43211
- '14155550123'
responses:
'200':
description: Task created; every accepted number starts as `pending`.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationCreated'
examples:
created:
value:
status: success
message: Verification task created successfully
campaign_id: 4521
numbers_count: 3
numbers_submitted:
- '919876543210'
- '919876543211'
- '14155550123'
'400':
description: '`Numbers array is required`, `No valid phone numbers found`, `Request contains N numbers but your plan allows only M verifications`, or the billing period quota (`code: quota_exceeded`).'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
noValid:
value:
status: error
message: No valid phone numbers found
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
missing:
value:
status: error
message: API key required
invalid:
value:
status: error
message: Invalid API key
'403':
description: Plan without number verification.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
noPlan:
value:
status: error
message: Verification feature not available for your plan
'405':
description: Not a POST request.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
method:
value:
status: error
message: Only POST method allowed
'500':
description: '`Internal server error: …` (often an invalid JSON body or a non-numeric parameter).'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
/verification/status/:
get:
operationId: getVerificationStatus
tags:
- Number verification
summary: Get verification task status
description: Progress of a verification task and the result of every number in it (no pagination). Poll every 30 to 60 seconds until `overall_status` is `completed`. Bearer header (or an `api_key` query parameter).
externalDocs:
description: Full documentation
url: https://wbiztool.com/docs/verification-status-api/
security:
- bearerAuth: []
- apiKeyQuery: []
parameters:
- name: campaign_id
in: query
required: true
schema:
type: integer
description: The `campaign_id` from Create verification.
example: 4521
responses:
'200':
description: Task progress and results.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationStatus'
examples:
processing:
value:
status: success
campaign_id: 4521
campaign_name: Website leads - September
overall_status: processing
progress:
total: 3
pending: 1
verified: 1
invalid: 1
completed_percentage: 66.67
results:
- number: '14155550123'
status: pending
checked_at: null
created_at: '2026-09-16T10:15:00.483101+00:00'
- number: '919876543210'
status: verified
checked_at: '2026-09-16T10:16:12.204551+00:00'
created_at: '2026-09-16T10:15:00.482913+00:00'
- number: '919876543211'
status: invalid
checked_at: '2026-09-16T10:16:19.915372+00:00'
created_at: '2026-09-16T10:15:00.483020+00:00'
created_at: '2026-09-16T10:15:00.471820+00:00'
last_updated: '2026-09-16T10:15:00.471820+00:00'
'400':
description: '`campaign_id is required`'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
missing:
value:
status: error
message: API key required
invalid:
value:
status: error
message: Invalid API key
'404':
description: '`Campaign not found` (or `Task not found`).'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
notFound:
value:
status: error
message: Campaign not found
'405':
description: Not a GET request (`Only GET method allowed`).
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
'500':
description: '`Internal server error: …` (often an invalid JSON body or a non-numeric parameter).'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
/verification/results/:
get:
operationId: getVerificationResults
tags:
- Number verification
summary: List verification results
description: Verification results page by page (newest first), optionally for one task and one status, including tasks started in the dashboard. Increase `offset` by `limit` until `has_more` is `false`. Bearer header (or an `api_key` query parameter).
externalDocs:
description: Full documentation
url: https://wbiztool.com/docs/verification-results-api/
security:
- bearerAuth: []
- apiKeyQuery: []
parameters:
- name: campaign_id
in: query
schema:
type: integer
example: 4521
- name: status
in: query
schema:
type: string
enum:
- pending
- verified
- invalid
description: Case-sensitive; any other value applies no filter.
- name: limit
in: query
schema:
type: integer
minimum: 1
default: 100
- name: offset
in: query
schema:
type: integer
minimum: 0
default: 0
responses:
'200':
description: One page of results.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationResults'
examples:
verified:
value:
status: success
total_count: 2
returned_count: 2
limit: 100
offset: 0
has_more: false
results:
- id: 88215
campaign_id: 4521
campaign_name: Website leads - September
number: '14155550123'
status: verified
checked_at: '2026-09-16T10:16:26.730114+00:00'
created_at: '2026-09-16T10:15:00.483101+00:00'
- id: 88213
campaign_id: 4521
campaign_name: Website leads - September
number: '919876543210'
status: verified
checked_at: '2026-09-16T10:16:12.204551+00:00'
created_at: '2026-09-16T10:15:00.482913+00:00'
'401':
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
examples:
missing:
value:
status: error
message: API key required
invalid:
value:
status: error
message: Invalid API key
'404':
description: '`Campaign not found`'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
'405':
description: Not a GET request (`Only GET method allowed`).
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
'500':
description: '`Internal server error: …` (often an invalid JSON body or a non-numeric parameter).'
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationError'
components:
schemas:
VerificationStatus:
type: object
properties:
status:
type: string
enum:
- success
campaign_id:
type: integer
campaign_name:
type: string
overall_status:
type: string
enum:
- pending
- processing
- completed
progress:
type: object
properties:
total:
type: integer
pending:
type: integer
verified:
type: integer
invalid:
type: integer
completed_percentage:
type: number
results:
type: array
items:
type: object
properties:
number:
type: string
status:
$ref: '#/components/schemas/VerificationNumberStatus'
checked_at:
type:
- string
- 'null'
format: date-time
created_at:
type: string
format: date-time
created_at:
type: string
format: date-time
last_updated:
type: string
format: date-time
VerificationNumberStatus:
type: string
enum:
- pending
- verified
- invalid
- unknown
description: '`pending` waiting, `verified` on WhatsApp, `invalid` not on WhatsApp / not a valid number / check failed, `unknown` check cancelled by support.'
CreateVerificationRequest:
type: object
required:
- numbers
properties:
numbers:
type: array
minItems: 1
items:
type: string
description: Numbers with their country code. Spaces, `+`, `-`, brackets and one leading `0` are removed; results with fewer than 10 digits or other characters are dropped. Duplicates are kept.
campaign_name:
type: string
maxLength: 500
description: Defaults to `API Verification <date time IST>`. Do not send `null`.
VerificationCreated:
type: object
required:
- status
- message
- campaign_id
- numbers_count
- numbers_submitted
properties:
status:
type: string
enum:
- success
message:
type: string
campaign_id:
type: integer
numbers_count:
type: integer
numbers_submitted:
type: array
items:
type: string
VerificationError:
type: object
required:
- status
- message
properties:
status:
type: string
enum:
- error
message:
type: string
code:
type: string
enum:
- quota_exceeded
description: Only when the billing period's verifications are used up.
used:
type: integer
limit:
type: integer
VerificationResults:
type: object
properties:
status:
type: string
enum:
- success
total_count:
type: integer
returned_count:
type: integer
limit:
type: integer
offset:
type: integer
has_more:
type: boolean
results:
type: array
items:
type: object
properties:
id:
type: integer
campaign_id:
type:
- integer
- 'null'
campaign_name:
type:
- string
- 'null'
number:
type: string
status:
$ref: '#/components/schemas/VerificationNumberStatus'
checked_at:
type:
- string
- 'null'
format: date-time
created_at:
type: string
format: date-time
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Number verification endpoints only: `Authorization: Bearer YOUR_API_KEY` (a key from Settings → API keys). Other endpoints take `client_id` and `api_key` in the body (see the `Credentials` schema).'
apiKeyQuery:
type: apiKey
in: query
name: api_key
description: Alternative for the GET number verification endpoints; the header keeps the key out of logs.
externalDocs:
description: WbizTool API documentation
url: https://wbiztool.com/docs/