Api Endpoint

wtsp.dev

Everything /v1/profile returns, plus the profile photo as a permanent URL and a content hash: an unchanged hash means an unchanged photo. The URL is null when the account has no photo or hides it. Query param: phone, with country code (e.g. +14155552671). Every answer is charged, “not on WhatsApp” included; a lookup WhatsApp does not answer is free.

Open interactive test console

Offering

Provider
wtsp.dev
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Social Intelligence
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://wtsp.dev/v1/profile/full
MIME type
application/json
First seen
2026-10-16T01:50:32.458Z
Last seen
Tags
whatsapp, phone-lookup, profile-photo, avatar, enrichment

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x539d036a305F78388dcA5FC49c27f9e29b83D315"
  }
]

Observed health

Status
Healthy
Latest latency
140 ms
Average latency
437 ms
HTTP status
402
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "properties": {
        "phone": {
          "type": "string",
          "description": "Phone number with its country code, e.g. +14155552671. The + is optional; spaces, dashes and a leading 00 are fine."
        }
      },
      "required": [
        "phone"
      ]
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "phone": {
              "description": "Phone number with its country code, e.g. +14155552671. The + is optional; spaces, dashes and a leading 00 are fine.",
              "type": "string"
            }
          },
          "required": [
            "phone"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "oneOf": [
            {
              "properties": {
                "accountType": {
                  "description": "`business` when WhatsApp published a business profile.",
                  "enum": [
                    "business",
                    "personal"
                  ],
                  "type": "string"
                },
                "business": {
                  "anyOf": [
                    {
                      "properties": {
                        "address": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "automatedType": {
                          "description": "Set when WhatsApp flags the account as automated (a bot).",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "businessType": {
                          "description": "`smb` for a small business, or an enterprise tier.",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "cartEnabled": {
                          "description": "Whether the account sells through a WhatsApp cart.",
                          "type": "boolean"
                        },
                        "categories": {
                          "description": "Every category the business picked; often more than one.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "commerceExperience": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "description": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "displayName": {
                          "description": "Public business name. Personal accounts publish no name at all.",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "email": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "hours": {
                          "description": "Opening hours per day.",
                          "items": {
                            "properties": {
                              "closeTime": {
                                "description": "Closing time, HH:MM.",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "day": {
                                "description": "Day of week, e.g. `mon`.",
                                "type": "string"
                              },
                              "mode": {
                                "description": "`specific_hours`, `open_24h` or `appointment_only` (times are null then).",
                                "type": "string"
                              },
                              "openTime": {
                                "description": "Opening time, HH:MM.",
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            },
                            "required": [
                              "day",
                              "mode",
                              "openTime",
                              "closeTime"
                            ],
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "latitude": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "linkedFacebookPage": {
                          "anyOf": [
                            {
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "likes": {
                                  "type": [
                                    "number",
                                    "null"
                                  ]
                                },
                                "name": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              },
                              "required": [
                                "id",
                                "name",
                                "likes"
                              ],
                              "type": "object"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "description": "Linked Facebook page and its follower count."
                        },
                        "longitude": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "memberSince": {
                          "description": "When the business joined, as WhatsApp words it: \"Joined in January, 2026\".",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "memberSinceTs": {
                          "description": "The same moment as a unix timestamp (seconds).",
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "timezone": {
                          "description": "IANA zone the opening hours are in.",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "verifiedLevel": {
                          "description": "Meta verification tier.",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "websites": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "displayName",
                        "description",
                        "categories",
                        "email",
                        "websites",
                        "address",
                        "latitude",
                        "longitude",
                        "timezone",
                        "hours",
                        "memberSince",
                        "memberSinceTs",
                        "businessType",
                        "verifiedLevel",
                        "cartEnabled",
                        "commerceExperience",
                        "automatedType",
                        "linkedFacebookPage"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Business profile; null for personal accounts."
                },
                "checkedAt": {
                  "description": "When this answer was fetched from WhatsApp (ISO 8601).",
                  "type": "string"
                },
                "devices": {
                  "description": "Absent on the rare occasion WhatsApp sends no device list.",
                  "properties": {
                    "count": {
                      "description": "Linked devices including the phone itself, so 1 means phone only.",
                      "type": "number"
                    },
                    "hosted": {
                      "description": "Served by the WhatsApp Business Platform (Cloud API) rather than a phone: a strong real-business signal.",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "count",
                    "hosted"
                  ],
                  "type": "object"
                },
                "hasWhatsApp": {
                  "const": true,
                  "description": "The number is a registered WhatsApp account.",
                  "type": "boolean"
                },
                "identity": {
                  "properties": {
                    "countryCode": {
                      "description": "Country WhatsApp reports for the account (ISO 3166-1 alpha-2), not one guessed from the prefix.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lid": {
                      "description": "WhatsApp's internal account id. Numbers that share one account share it.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "countryCode",
                    "lid"
                  ],
                  "type": "object"
                },
                "phone": {
                  "description": "The number looked up, in E.164.",
                  "type": "string"
                },
                "profile": {
                  "properties": {
                    "about": {
                      "description": "The \"about\" (status) text.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "aboutRestricted": {
                      "description": "True when an about text exists but privacy settings hide it, so `about` is empty.",
                      "type": "boolean"
                    },
                    "picHash": {
                      "description": "Content hash of the photo. Unchanged hash, unchanged photo.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "picUrl": {
                      "description": "Permanent URL of the profile photo; null when there is none or privacy settings hide it.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "about",
                    "aboutRestricted",
                    "picUrl",
                    "picHash"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "phone",
                "hasWhatsApp",
                "accountType",
                "identity",
                "profile",
                "business",
                "checkedAt"
              ],
              "type": "object"
            },
            {
              "properties": {
                "checkedAt": {
                  "description": "When this answer was fetched from WhatsApp (ISO 8601).",
                  "type": "string"
                },
                "hasWhatsApp": {
                  "const": false,
                  "description": "The number is not on WhatsApp: a definitive answer, not a failure.",
                  "type": "boolean"
                },
                "phone": {
                  "description": "The number looked up, in E.164.",
                  "type": "string"
                }
              },
              "required": [
                "phone",
                "hasWhatsApp",
                "checkedAt"
              ],
              "type": "object"
            }
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}