Install
openclaw skills install billionverify-skillVerify email addresses using the BillionVerify API. Use when user wants to verify single emails, batch verify email lists, upload files for bulk verification, check credit balance, or manage webhooks.
openclaw skills install billionverify-skillCall the BillionVerify API to verify email addresses — single, batch, or bulk file processing.
API key must be set in environment variable BILLIONVERIFY_API_KEY.
Get your API key at: https://billionverify.com/auth/sign-in?next=/home/api-keys
https://api.billionverify.com
All requests require an API key header:
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY"
curl -X POST "https://api.billionverify.com/v1/verify/single" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"check_smtp": true
}'
Response includes: status (valid/invalid/unknown/risky/disposable/catchall/role), score (0-1), is_deliverable, is_disposable, is_catchall, is_role, is_free, domain, domain_age, mx_records, domain_reputation, smtp_check, reason, suggestion, response_time, credits_used.
curl -X POST "https://api.billionverify.com/v1/verify/bulk" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emails": ["user1@example.com", "user2@example.com"],
"check_smtp": true
}'
Upload CSV, Excel (.xlsx/.xls), or TXT files (max 20MB, 100,000 emails):
curl -X POST "https://api.billionverify.com/v1/verify/file" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY" \
-F "file=@/path/to/emails.csv" \
-F "check_smtp=true" \
-F "email_column=email" \
-F "preserve_original=true"
Returns task_id for tracking the async job.
Supports long-polling with timeout parameter (0-300 seconds):
curl -X GET "https://api.billionverify.com/v1/verify/file/{task_id}?timeout=30" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY"
Status values: pending, processing, completed, failed.
Without filters returns redirect to full result file. With filters returns CSV of matching emails (filters combined with OR logic):
curl -X GET "https://api.billionverify.com/v1/verify/file/{task_id}/results?valid=true&invalid=true" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY" \
-L -o results.csv
Filter parameters: valid, invalid, catchall, role, unknown, disposable, risky.
curl -X GET "https://api.billionverify.com/v1/credits" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY"
curl -X POST "https://api.billionverify.com/v1/webhooks" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/webhooks/billionverify",
"events": ["file.completed", "file.failed"]
}'
The secret is only returned on creation — store it securely.
curl -X GET "https://api.billionverify.com/v1/webhooks" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY"
curl -X DELETE "https://api.billionverify.com/v1/webhooks/{webhook_id}" \
-H "BV-API-KEY: $BILLIONVERIFY_API_KEY"
curl -X GET "https://api.billionverify.com/health"
| Endpoint | Limit |
|---|---|
| Single Verification | 6,000/min |
| Batch Verification | 1,500/min |
| File Upload | 300/min |
| Other endpoints | 200/min |
$ARGUMENTS