wbiztool-com Number verification API

Check whether numbers are on WhatsApp. Uses a Bearer header.

Operations 3

POST /verification/create/ Create a number verification task #
GET /verification/status/ Get verification task status #
GET /verification/results/ List verification results #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wbiztool-com:wbiztool-com-number-verification-api"
All apis
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.

Get an API 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 Specification

wbiztool-com-number-verification-api-openapi.yml Raw ↑
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/