PlunkPlunk
API Reference

Verify email address

Verify an email address for validity, check if it's from a disposable domain or personal email provider, verify MX records, and detect potential typos with suggestions.

POST
/v1/verify

Authorization

ApiKeyAuth

AuthorizationBearer <token>

API Key authentication. The project is automatically derived from the key.

/v1/track requires a public key (pk_*) — it is the one endpoint intended for client-side use, and a secret key is rejected there with 401.

Every other endpoint requires a secret key (sk_*) and rejects public keys with 401.

So the two key types are not interchangeable in either direction: pick the key that matches the endpoint you are calling.

In: header

Request Body

application/json

email*string

Email address to verify

Formatemail

Response Body

application/json

application/json

application/json

curl -X POST "https://api.plunk.jimster.dev/v1/verify" \  -H "Content-Type: application/json" \  -d '{    "email": "user@gmail.com"  }'

{
  "success": true,
  "data": {
    "email": "user@gmail.com",
    "valid": true,
    "isDisposable": false,
    "isAlias": false,
    "isTypo": false,
    "isPlusAddressed": false,
    "isPersonalEmail": true,
    "domainExists": true,
    "hasWebsite": true,
    "hasMxRecords": true,
    "reasons": [
      "Email appears to be valid"
    ]
  }
}

{
  "success": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "Invalid secret API key. This endpoint requires a secret key (sk_*), not a public key.",
    "statusCode": 401,
    "requestId": "8f14e45f-ceea-467a-9575-1f0f38e0b1c2"
  },
  "timestamp": "2025-01-15T10:30:00.000Z"
}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Request validation failed",
    "statusCode": 422,
    "requestId": "8f14e45f-ceea-467a-9575-1f0f38e0b1c2",
    "errors": [
      {
        "field": "to",
        "message": "Invalid email",
        "code": "invalid_string"
      }
    ],
    "suggestion": "Please check the API documentation for the correct request format."
  },
  "timestamp": "2025-01-15T10:30:00.000Z"
}