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...
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