Back to app

BounceZip API

Connect BounceZip to your website, app or backend to verify emails in real time, or send entire lists for bulk verification — all over a simple JSON HTTP API.

Base URLs

GEThttps://api.bouncezip.com/v1/verify— Real-time API
GEThttps://api.bouncezip.com/v1/catchall— Catch-All API
POSThttps://api.bouncezip.com/v1— Bulk API
All requests must be made over HTTPS. Responses are JSON. Verification credit costs are controlled by the administrator and may change.

Authentication

Users authenticate API requests with an API key. Include the key as a query parameter on every request. You can create and manage keys under API → API keys in the dashboard.

API key parameters

APIQuery parameterExample
Real-time APIapi?api=YOUR_API_KEY
Catch-All APIapi?api=YOUR_API_KEY
Bulk APIkey?key=YOUR_API_KEY
curl "https://api.bouncezip.com/v1/verify?api=YOUR_API_KEY&email=name@example.com"
# Create a sandbox key under Dashboard → API. Never hardcode a production key.
bz_test_YOUR_SANDBOX_KEY
Keep API keys secure. API keys must be stored securely and must not be exposed in public frontend code, browser JavaScript, public repositories or client-side environment variables. For production apps, route requests through your backend so the key stays private.

Real-time API

Verify a single email address in real time — perfect for validating sign-ups at the point of entry. Results return in about a second.

GET/v1/verify

Query parameters

ParameterTypeDescription
apirequiredstringRequired API key.
emailrequiredstringRequired email address to verify. URL-encode special characters.
timeoutintegerOptional value from 2 to 60 seconds. Default is 20 seconds.

Request

curl "https://api.bouncezip.com/v1/verify?api=YOUR_API_KEY&email=name@example.com&timeout=10"

Response

{
  "email": "name@example.com",
  "quality": "good",
  "result": "ok",
  "result_code": 1,
  "sub_result": "deliverable",
  "free": false,
  "role": false,
  "did_you_mean": "",
  "credits": 107255,
  "execution_time": 2,
  "error": ""
}

Expected response fields

FieldDescription
emailThe email address that was verified.
qualitygood risky bad — a quick deliverability signal.
resultPrimary verification result. One of ok, catch_all, unknown, disposable, invalid.
result_codeNumeric code for the result value.
sub_resultReason detail, e.g. deliverable, accept_all, bad_domain, bad_syntax.
freetrue for free providers (Gmail, Outlook…).
roletrue for role addresses (info@, support@…).
did_you_meanSuggested correction for a likely typo, if any.
creditsCredits remaining on your account.
execution_timeTime taken to process the request.
errorError message if the request could not be completed, otherwise empty.

Possible result values

CodeResultMeaning
1okValid, deliverable mailbox.
2catch_allDomain accepts all mail — deliverability uncertain.
3unknownServer did not respond in time.
4disposableTemporary / throwaway address.
6invalidMailbox or domain does not exist.

Catch-All API

Deep-check a single catch-all or uncertain email address and return deliverability, recommendation, confidence, score, and supporting verification details.

GET/v1/catchall

Query parameters

ParameterTypeDescription
apirequiredstringRequired API key.
emailrequiredstringRequired email address to deep-check. URL-encode special characters.
timeoutintegerOptional value from 2 to 60 seconds. Default is 20 seconds.

Request

curl "https://api.bouncezip.com/v1/catchall?api=YOUR_API_KEY&email=name@example.com&timeout=10"

Response

{
  "email": "name@example.com",
  "status": "catchall",
  "result": "catch_all",
  "result_code": 2,
  "quality": "risky",
  "deliverability": "uncertain",
  "score": 72,
  "recommendation": "send_with_caution",
  "confidence": "medium",
  "risk_level": "medium",
  "mx": {},
  "smtp": {},
  "checks": {},
  "credits": 107250,
  "execution_time": 2.4,
  "error": ""
}

Expected response fields

FieldDescription
emailThe email address that was checked.
statusNormalized BounceZip status such as valid, catchall, unknown, or invalid.
resultAPI-compatible result value such as ok, catch_all, unknown, disposable, or invalid.
deliverabilityHuman-readable deliverability signal: deliverable, undeliverable, or uncertain.
scoreDeliverability score from 0 to 100 when available.
recommendationSuggested next action such as send, send_with_caution, retry_or_verify_later, or do_not_send.
confidenceConfidence level for the result.
mx, smtp, checksAdditional verification details returned by the verification engine.
creditsCredits remaining after the request.
execution_timeTime taken to process the request.
errorError message if the request could not be completed, otherwise empty.

Bulk API

Send entire lists for verification: upload a file, poll for progress, then download the results. Ideal for cleaning large databases.

Bulk API flow

1

Upload a file

Submit a CSV or spreadsheet file and receive a file_id. Use verification_type=catchall for bulk Catch-All checks.

2

Check progress

Poll the file status until processing is finished.

3

Download results

Export all rows or a filtered result set.

4

Stop a job

Stop a running job if it is no longer needed.

Endpoints

MethodEndpointDescription
POST/v1/uploadUpload a file for standard or catch-all bulk verification.
GET/v1/fileinfoCheck job status, progress and summary counts.
GET/v1/downloadDownload complete or filtered results.
GET/v1/stopStop a running bulk verification job.

1 · Upload a file

POST/v1/upload
curl -X POST "https://api.bouncezip.com/v1/upload?key=YOUR_API_KEY"   -F "verification_type=email"   -F "file_contents=@/path/to/list.csv"
For bulk Catch-All verification, send verification_type=catchall with the same /v1/upload endpoint. Standard aliases include email, standard, or normal; catch-all aliases include catchall, catch_all, or catch-all.
{
  "file_id": "940",
  "file_name": "list.csv",
  "status": "in_progress",
  "total_rows": 12500,
  "percent": 0,
  "estimated_time_sec": 320
}

2 · Check progress

GET/v1/fileinfo?key=YOUR_API_KEY&file_id=940
{
  "file_id": "940",
  "status": "finished",
  "percent": 100,
  "total_rows": 12500,
  "ok": 9750,
  "catch_all": 1250,
  "invalid": 1000,
  "unknown": 500,
  "credit": 12500
}

3 · Download results

GET/v1/download?key=YOUR_API_KEY&file_id=940&filter=all

Use the filter parameter to download the exact result set you need.

Download filters

FilterDescription
okOnly valid / deliverable emails.
ok_and_catch_allValid emails plus catch-all results.
unknownEmails where verification could not be confirmed.
invalidInvalid or undeliverable emails.
allAll verification results.

4 · Stop a running job

GET/v1/stop?key=YOUR_API_KEY&file_id=940
Stop a running job when needed. Results for already-verified emails stay downloadable, and unused credits are never spent.

Credits API

Check your available credit balance programmatically. The response shows available credits, bulk credits, and the current plan.

GET/v1/credits
curl "https://api.bouncezip.com/v1/credits?api=YOUR_API_KEY"
{
  "credits": 107255,
  "bulk_credits": 107255,
  "plan": "pro"
}

Zapier Guidance

Use BounceZip with Zapier to verify emails from forms, CRMs, spreadsheets, and other no-code workflows. A Zap can send each email to the Real-time API, then route the contact based on the verification result.

1

Choose a trigger

Start from a form submission, CRM contact, spreadsheet row, or any Zapier-supported app.

2

Call BounceZip

Use a Zapier webhook or approved BounceZip action to send the email and API key securely.

3

Verify & route

Use the result field to keep valid emails, tag catch-all or unknown contacts, and skip invalid addresses.

Suggested Zapier actions

  • Verify an email — call the Real-time API and return the full result for a single address.
  • Deep-check catch-all — call the Catch-All API when a contact needs a higher-confidence deliverability decision.
  • Check credits — read the remaining balance before running a workflow.
Zapier publication note. This documentation provides guidance for using BounceZip with Zapier. Actual Zapier app publication will depend on client approval and Zapier account access.
Loading...