### Single Email Verification Response Example Source: https://bounceban.com/public/doc/api.html This is an example of a successful response from the single email verification API. It includes details about the verification status, score, and credit consumption. ```json { "id": "wf502abcde", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "mode": "regular", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1.000, "credits_remaining": 375214.000 } ``` -------------------------------- ### GET /v1/check Source: https://bounceban.com/public/doc/api.html Swiftly verifies fundamental details about an email or domain, including domain type, email type, and syntax validation. ```APIDOC ## GET /v1/check ### Description Swiftly verifies fundamental details about an email or domain, including domain type (disposable, free, or work), email type (personal or role), and syntax validation. ### Method GET ### Endpoint /v1/check ### Parameters #### Query Parameters - **email** (string) - Optional - The email address to check. - **domain** (string) - Optional - The domain to check. ### Response #### Success Response (200) - **email_type** (string) - Type of the email (e.g., "personal", "role"). - **domain_type** (string) - Type of the domain (e.g., "disposable", "free", "work"). - **is_syntax_valid** (boolean) - Indicates if the email syntax is valid. #### Response Example ```json { "email_type": "personal", "domain_type": "free", "is_syntax_valid": true } ``` ``` -------------------------------- ### GET /v1/verify/bulk/dump Source: https://bounceban.com/public/doc/api.html Retrieves verification results for a bulk task. Supports pagination with `page_size` and `retrieve_all` parameters. ```APIDOC ## GET /v1/verify/bulk/dump ### Description Retrieves verification results for a bulk task. This endpoint provides access to a comprehensive list of emails that have been verified, even if the bulk verification task is in progress. Supports pagination with `page_size` and `retrieve_all` parameters. ### Method GET ### Endpoint /v1/verify/bulk/dump ### Parameters #### Query Parameters - **task_id** (string) - Required - The ID of the bulk verification task. - **page_size** (integer) - Optional - The number of results per page. - **retrieve_all** (boolean) - Optional - If true, retrieves all results without pagination. ### Response #### Success Response (200) - **emails** (array of objects) - A list of verified emails and their statuses. - **email** (string) - The verified email address. - **status** (string) - The verification status. - **task_status** (string) - The current status of the verification task. #### Response Example ```json { "emails": [ { "email": "test1@example.com", "status": "deliverable" }, { "email": "test2@example.com", "status": "undeliverable" } ], "task_status": "completed" } ``` ``` -------------------------------- ### Get Credits Balance & Rate Limits Source: https://bounceban.com/public/doc/api.html Retrieves your account information, including current credits balance and API rate limits. ```APIDOC ## GET /v1/account ### Description You can use this API to get account information, including credits balance and rate limits. If you need a higher rate limit, please contact us via the online chat or email us at dev@bounceban.com. ### Method GET ### Endpoint https://api.bounceban.com/v1/account ### Response #### Success Response (200) - **credits_balance** (integer) - Your current credits balance. - **rate_limit** (integer) - Your current API rate limit. #### Response Example ```json { "credits_balance": 100, "rate_limit": 60 } ``` ``` -------------------------------- ### GET /v1/verify/bulk/export Source: https://bounceban.com/public/doc/api.html Exports the results of a bulk verification task. Includes a `keep_all_rows` parameter. ```APIDOC ## GET /v1/verify/bulk/export ### Description Exports the results of a bulk verification task. Includes a `keep_all_rows` parameter to control whether to include all rows or only verified ones. ### Method GET ### Endpoint /v1/verify/bulk/export ### Parameters #### Query Parameters - **task_id** (string) - Required - The ID of the bulk verification task. - **keep_all_rows** (boolean) - Optional - If true, includes all rows from the original file; otherwise, only verified rows are included. ### Response #### Success Response (200) - **file_url** (string) - A URL to download the exported results file. #### Response Example ```json { "file_url": "https://cdn.bounceban.com/exports/task_a1b2c3d4-e5f6-7890-1234-567890abcdef.csv" } ``` ``` -------------------------------- ### Single Email Verification API Response Example Source: https://bounceban.com/public/doc/api.html This is a detailed JSON response for a single email verification request, including MX records and credit consumption details. It is returned upon successful verification or when the verification is still in progress. ```json { "id": "502abcde", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1.000, "credits_remaining": 375214.000 } ``` -------------------------------- ### Get Account Credits Balance and Rate Limits Response Source: https://bounceban.com/public/doc/api.html This API endpoint returns account information, including the current credits balance and rate limits. Contact support for higher rate limits. -------------------------------- ### Get Bulk Email Verification Status Response Source: https://bounceban.com/public/doc/api.html Response sample for retrieving the status of a bulk email verification task. It provides task details, counts, and credit information. ```json { "id": "6374973d2307debafb85a58d", "status": "finished", "total_count": 2, "deliverable_count": 2, "undeliverable_count": 0, "risky_count": 0, "unknown_count": 0, "credits_consumed": 2, "credits_remaining": 14973 } ``` -------------------------------- ### GET /v1/verify/bulk/emails Source: https://bounceban.com/public/doc/api.html Retrieves verification results for specific emails from a bulk verification task. The response includes a `status` field indicating the task's current state. ```APIDOC ## GET /v1/verify/bulk/emails ### Description Retrieves verification results for specific emails from a bulk verification task. The response includes a `status` field indicating the task's current state. Supports `url_finished` for webhook notifications. ### Method GET ### Endpoint /v1/verify/bulk/emails ### Parameters #### Query Parameters - **task_id** (string) - Required - The ID of the bulk verification task. - **emails** (array of strings) - Optional - Specific emails to retrieve results for. If omitted, results for all emails in the task are returned. - **url_finished** (string) - Optional - A webhook URL to receive a notification when the task is complete. ### Response #### Success Response (200) - **task_id** (string) - The ID of the bulk verification task. - **status** (string) - The current state of the verification task. - **results** (array of objects) - Verification results for the requested emails. - **email** (string) - The email address. - **status** (string) - The verification status. #### Response Example ```json { "task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "status": "processing", "results": [ { "email": "test1@example.com", "status": "deliverable" } ] } ``` ``` -------------------------------- ### Request Verification Results for Specific Emails Payload Source: https://bounceban.com/public/doc/api.html Payload example for requesting verification results for specific emails from a bulk task. Requires task ID and a list of emails. ```json { "id": "string", "emails": [ "string" ] } ``` -------------------------------- ### Get bulk email verification status Source: https://bounceban.com/public/doc/api.html Retrieves the current progress and statistics for a bulk email verification task using its unique task ID. ```APIDOC ## GET /v1/verify/bulk/status ### Description Get the latest progress and stats for a bulk email verification task using a task ID. ### Method GET ### Endpoint https://api.bounceban.com/v1/verify/bulk/status ### Parameters #### Query Parameters - **id** (string) - Required - Bulk email verification task id. ### Responses #### Success Response (200) Indicates the request is successful. #### Response Example ```json { "id": "6374973d2307debafb85a58d", "status": "finished", "total_count": 2, "deliverable_count": 2, "undeliverable_count": 0, "risky_count": 0, "unknown_count": 0, "credits_consumed": 2, "credits_remaining": 14973 } ``` #### Error Responses - **400**: Invalid parameter. - **401**: Authorization information is missing or invalid. - **405**: The account is blocked. - **429**: Rate limited. - **500**: Unexpected error. ``` -------------------------------- ### Account Information and Rate Limits Source: https://bounceban.com/public/doc/api.html This snippet shows a sample response for account information, including the owner's email, available credits, and rate limits for different API endpoints. ```APIDOC ## GET /account ### Description Retrieves account information, including available credits and API rate limits. ### Method GET ### Endpoint /account ### Response #### Success Response (200) - **owner_email** (string) - The email address of the account owner. - **available_credits** (integer) - The number of credits currently available in the account. - **rate_limit** (array) - A list of objects, each detailing the rate limit for a specific API endpoint. - **api** (string) - The API endpoint path. - **limit** (string) - The rate limit for the specified API endpoint (e.g., "25 per second"). ### Response Example ```json { "owner_email": "dev@bounceban.com", "available_credits": 375215, "rate_limit": [ { "api": "/verify/single", "limit": "25 per second" }, { "api": "/verify/single/status", "limit": "25 per second" }, { "api": "/verify/bulk", "limit": "3 per second" }, { "api": "/verify/bulk/status", "limit": "25 per second" }, { "api": "/verify/bulk/export", "limit": "25 per second" }, { "api": "/verify/bulk/dump", "limit": "25 per second" }, { "api": "/account", "limit": "5 per second" } ] } ``` ``` -------------------------------- ### POST /v1/verify/bulk/file Source: https://bounceban.com/public/doc/api.html Creates a bulk verification task by uploading a CSV file. The `file` parameter must be placed at the end of all parameters. ```APIDOC ## POST /v1/verify/bulk/file ### Description Creates a bulk verification task by uploading a CSV file. The `file` parameter must be placed at the end of all parameters. Supports `greylisting_bypass` and `mode_column` for DeepVerify. ### Method POST ### Endpoint /v1/verify/bulk/file ### Parameters #### Query Parameters - **disable_catchall_verify** (boolean) - Optional - Controls whether to run catchall verification. - **greylisting_bypass** (boolean) - Optional - Controls the email verification retry strategy. - **mode_column** (string) - Optional - Enables DeepVerify support for bulk file verification. - **file** (file) - Required - The CSV file containing emails to verify. Must be the last parameter. ### Request Example ``` --boundary Content-Disposition: form-data; name="disable_catchall_verify" false --boundary Content-Disposition: form-data; name="greylisting_bypass" true --boundary Content-Disposition: form-data; name="mode_column" email --boundary Content-Disposition: form-data; name="file"; filename="emails.csv" Content-Type: text/csv email test1@example.com test2@example.com --boundary-- ``` ### Response #### Success Response (200) - **task_id** (string) - The ID of the bulk verification task. - **credits_consumed** (float) - Credits consumed for this task. - **credits_remaining** (float) - Credits remaining after this task. #### Response Example ```json { "task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "credits_consumed": 2.00, "credits_remaining": 98.00 } ``` ``` -------------------------------- ### POST /v1/verify/bulk Source: https://bounceban.com/public/doc/api.html Initiates a bulk verification task. This endpoint has been optimized for performance and can process larger batch sizes. ```APIDOC ## POST /v1/verify/bulk ### Description Initiates a bulk verification task. This endpoint has been optimized for performance and can process larger batch sizes. It also supports a `greylisting_bypass` parameter to control retry strategy. ### Method POST ### Endpoint /v1/verify/bulk ### Parameters #### Query Parameters - **emails** (array of strings) - Required - A list of email addresses to verify. - **disable_catchall_verify** (boolean) - Optional - Controls whether to run catchall verification. - **greylisting_bypass** (boolean) - Optional - Controls the email verification retry strategy to balance performance and accuracy. ### Request Example ```json { "emails": ["test1@example.com", "test2@example.com"], "disable_catchall_verify": false, "greylisting_bypass": true } ``` ### Response #### Success Response (200) - **task_id** (string) - The ID of the bulk verification task. - **credits_consumed** (float) - Credits consumed for this task. - **credits_remaining** (float) - Credits remaining after this task. #### Response Example ```json { "task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "credits_consumed": 2.00, "credits_remaining": 98.00 } ``` ``` -------------------------------- ### Upload a file for bulk email verification Source: https://bounceban.com/public/doc/api.html Initiates a bulk email verification task by uploading a file containing email addresses. Returns a task ID to track the verification progress. ```APIDOC ## POST /v1/verify/bulk/file ### Description Uploads a file for bulk email verification. ### Method POST ### Endpoint https://api.bounceban.com/v1/verify/bulk/file ### Content Type application/json ### Request Example ```json { "id": "6374973d2307debafb85a58d", "credits_remaining": 14973 } ``` ### Responses #### Success Response (200) Indicates the request is successful. #### Error Responses - **400**: Invalid parameter. - **401**: Authorization information is missing or invalid. - **403**: Insufficient credits. - **405**: The account is blocked. - **429**: Rate limited. - **500**: Unexpected error. ``` -------------------------------- ### Get single email verification result Source: https://bounceban.com/public/doc/api.html Retrieves the verification result for a single email. This request does not consume credits and results are stored for 90 days. ```APIDOC ## Get single email verification result ### Description Get the verification result for single email verification. Requests to this endpoint don’t cost verification credits. The result will be available for 90 days after verification. ### Method GET ### Endpoint `https://api.bounceban.com/v1/verify/single/status` ### Parameters #### Query Parameters - **id** (string) - Required - The unique id returned by every successful request to the /v1/verify/single endpoint. ### Response #### Success Response (200) - **id** (string) - The unique identifier for the verification task. - **status** (string) - The current status of the verification (e.g., "success", "verifying"). - **email** (string) - The email address that was verified. - **result** (string) - The verification result (e.g., "deliverable"). - **score** (integer) - A score indicating the deliverability of the email. - **is_disposable** (boolean) - Indicates if the email address is from a disposable email provider. - **is_accept_all** (boolean) - Indicates if the email provider accepts all emails. - **is_role** (boolean) - Indicates if the email address is a role-based address (e.g., admin@, support@). - **is_free** (boolean) - Indicates if the email address is from a free email provider. - **mx_records** (array of strings) - A list of MX records for the email domain. - **smtp_provider** (string) - The SMTP provider of the email address. - **verify_at** (string) - The timestamp when the verification was performed. - **credits_consumed** (integer) - The number of credits consumed for this verification. - **credits_remaining** (integer) - The number of credits remaining on the account. ### Response Example ```json { "id": "502abcde", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1, "credits_remaining": 375214 } ``` ``` -------------------------------- ### Check Domain or Email Source: https://bounceban.com/public/doc/api.html Swiftly determines the type of an email domain (free, disposable, work) or retrieves basic information about an email address (personal, role-based, syntax validity). ```APIDOC ## GET /v1/check ### Description This API enables you to swiftly determine the type of email domain (whether it's free, disposable, or work-related) or obtain basic information about an email address (such as whether it's a personal or role-based address, and if the email format is valid). It proves valuable in preventing unwanted emails, for instance, by blocking disposable emails during sign-up processes or free emails for demo request forms. Cost: Each successful request will deduct 1 credit from your Check Plan. Please note that this is separate from the credits you use for verifying email addresses. To check your remaining credits for each type, kindly visit the following page: https://bounceban.com/app/account/billing ### Method GET ### Endpoint https://api.bounceban.com/v1/check ### Query Parameters - **email** (string) - Optional - Please provide the email that needs to be checked. If both the `email` and `domain` parameters are provided, the system will only consider the `email` parameter. - **domain** (string) - Optional - Please provide the domain that needs to be checked. If both the `email` and `domain` parameters are provided, the system will only consider the `email` parameter. ### Response #### Success Response (200) - **status** (string) - The status of the request (e.g., 'success'). - **domain_type** (string) - The type of the domain (e.g., 'work', 'free', 'disposable'). - **username_type** (string) - The type of the username (e.g., 'personal', 'role'). - **syntax_valid** (boolean) - Indicates if the email syntax is valid. - **credits_consumed** (integer) - The number of credits consumed by this request. - **credits_remaining** (integer) - The number of credits remaining in your account. #### Response Example ```json { "status": "success", "domain_type": "work", "username_type": "role", "syntax_valid": true, "credits_consumed": 1, "credits_remaining": 5 } ``` ``` -------------------------------- ### Account and Rate Limit Response Source: https://bounceban.com/public/doc/api.html This JSON response details your account's available credits and the rate limits imposed on different API endpoints. It's useful for understanding usage constraints. ```json { "owner_email": "dev@bounceban.com", "available_credits": 375215, "rate_limit": [ { "api": "/verify/single", "limit": "25 per second" }, { "api": "/verify/single/status", "limit": "25 per second" }, { "api": "/verify/bulk", "limit": "3 per second" }, { "api": "/verify/bulk/status", "limit": "25 per second" }, { "api": "/verify/bulk/export", "limit": "25 per second" }, { "api": "/verify/bulk/dump", "limit": "25 per second" }, { "api": "/account", "limit": "5 per second" } ] } ``` -------------------------------- ### Get Single Email Verification Result Source: https://bounceban.com/public/doc/api.html Retrieve the verification status for a single email using its unique ID. This endpoint does not consume verification credits. Results are stored for 90 days. ```json { "id": "502abcde", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1, "credits_remaining": 375214 } ``` ```json { "id": "2hYWlK", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1, "credits_remaining": 375214 } ``` -------------------------------- ### Sample Success Response for Email Verification Source: https://bounceban.com/public/doc/api.html This JSON object represents a successful email verification response, detailing the email's deliverability status, score, and associated metadata. ```json { "id": "wf502abcde", "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "mode": "regular", "verify_at": "2022-11-16T07:21:24.943Z", "credits_consumed": 1, "credits_remaining": 375214 } ``` -------------------------------- ### Retrieve Bulk Email Verification Results Source: https://bounceban.com/public/doc/api.html Use this endpoint to retrieve the results of a bulk email verification task. You can filter results by state or retrieve all emails if `retrieve_all` is set to '1'. Note that `page_size` and `cursor` are ignored when `retrieve_all` is enabled. The `retrieve_all` parameter is only effective for tasks with up to 20,000 emails. ```json { "cursor": null, "items": [ { "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:37.480Z" }, { "status": "success", "email": "support@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:38.438Z" } ], "result": "ok" } ``` -------------------------------- ### Export Bulk Email Verification Results to CSV Source: https://bounceban.com/public/doc/api.html This endpoint generates a downloadable CSV file of bulk email verification results. The link expires after 4 hours. Ensure the task is completed before requesting an export, as incomplete tasks will return an error. The export is only available for results within 90 days of verification. ```json { "id": "string", "keep_all_rows": true, "criteria": { "state": "deliverable", "is_disposable": false } } ``` -------------------------------- ### POST /v1/verify/single Source: https://bounceban.com/public/doc/api.html Verifies a single email address. This endpoint supports an optional `url` parameter for webhook notifications upon completion. ```APIDOC ## POST /v1/verify/single ### Description Verifies a single email address. This endpoint supports an optional `url` parameter for webhook notifications upon completion. ### Method POST ### Endpoint /v1/verify/single ### Parameters #### Query Parameters - **email** (string) - Required - The email address to verify. - **disable_catchall_verify** (boolean) - Optional - Controls whether to run catchall verification. - **url** (string) - Optional - A webhook URL to receive a notification when verification is complete. ### Request Example ```json { "email": "test@example.com", "disable_catchall_verify": false, "url": "https://your-webhook.com/callback" } ``` ### Response #### Success Response (200) - **email** (string) - The verified email address. - **status** (string) - The verification status (e.g., "deliverable", "undeliverable", "risky"). - **credits_consumed** (float) - Credits consumed for this verification. - **credits_remaining** (float) - Credits remaining after this verification. #### Response Example ```json { "email": "test@example.com", "status": "deliverable", "credits_consumed": 1.00, "credits_remaining": 99.00 } ``` ``` -------------------------------- ### Request Verification Results for Specific Emails Response Source: https://bounceban.com/public/doc/api.html Response sample for requesting verification results for specific emails. Includes status, email details, and verification results. ```json { "items": [ { "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:37.480Z" }, { "status": "success", "email": "support@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:38.438Z" } ], "result": "ok" } ``` -------------------------------- ### Bulk email verification Source: https://bounceban.com/public/doc/api.html Submit a list of emails for verification in batches. Recommended to keep batches under 500,000 emails for optimal performance. ```APIDOC ## Bulk email verification ### Description The API allows you to submit a list of emails for verification in batches. While there is no strict limit on the number of emails you can submit per task, we recommend keeping it under 500,000 emails per task for optimal performance. If you need to submit a larger list, please contact our support team. Additionally, there is a soft limit on the total number of concurrent emails in the verifying state (excluding pending emails from the same task) across all tasks from the same account. This limit is dynamic and depends on the global system load to ensure optimal performance for all users. If you have specific requirements, our support team is available to assist you. ### Authorizations _api_key_auth_ ``` -------------------------------- ### Export Bulk Email Verification Results to CSV Source: https://bounceban.com/public/doc/api.html Exports the results of a bulk email verification task to a downloadable CSV file. The link expires after 4 hours. ```APIDOC ## POST /v1/verify/bulk/dump/export ### Description Exports bulk email verification results to a CSV file. A downloadable public link will be returned upon successful request. The link expires after 4 hours. This endpoint is designed to export verified results only after the entire task has been completed. ### Method POST ### Endpoint https://api.bounceban.com/v1/verify/bulk/dump/export ### Parameters #### Request Body - **id** (string) - Required - The unique identifier of a completed bulk email verification task. - **keep_all_rows** (boolean) - Optional - When set to `true`, all rows from the source .CSV file, including those without an email address, will be included in the downloaded .CSV file. Email verification results will not be provided for emails that do not meet your specified filters. This feature only applies to tasks created through the /v1/verify/bulk/file endpoint. Default value is `false`. - **criteria** (object) - Optional - Specifies emails to retrieve based on verification state (`deliverable`, `undeliverable`, `risky`, or `unknown`) and attributes. ### Request Example ```json { "id": "your_task_id", "keep_all_rows": false, "criteria": { "state": "deliverable" } } ``` ### Response #### Success Response (200) - **download_link** (string) - A public URL to the generated CSV file. This link expires after 4 hours. #### Response Example ```json { "download_link": "https://example.com/path/to/your/download.csv" } ``` #### Error Responses - **400** Invalid parameter. - **401** Authorization information is missing or invalid. - **405** The account is blocked. - **429** Rate limited. - **500** Unexpected error. ### Important Notes - Generating the download link usually takes a few seconds. For larger tasks, the process may take longer (e.g., 100,000 emails ≈ 30 seconds; 400,000 emails ≈ 2 minutes). - If the download link is unavailable after your initial request, wait a few seconds and try again. - To prevent excessive requests, limit attempts for the same export to 15 requests within a 15-minute period. - Results for bulk email verification are available for only 90 days after verification. Ensure the file is generated within this period. ``` -------------------------------- ### Export Bulk Verification Task Source: https://bounceban.com/public/doc/api.html Initiates the export of a bulk verification task. This allows you to retrieve the results of a previously submitted bulk verification job. ```APIDOC ## POST /v1/verify/bulk/export ### Description Exports a bulk verification task. ### Method POST ### Endpoint https://api.bounceban.com/v1/verify/bulk/export ### Request Body - **id** (string) - Required - The ID of the bulk verification task to export. - **keep_all_rows** (boolean) - Optional - If true, all rows are kept. If false, only rows with issues are kept. - **criteria** (object) - Optional - Filtering criteria for the export. - **free** (boolean) - Optional - Filter by free email addresses. - **role** (boolean) - Optional - Filter by role-based email addresses. - **accept_all** (boolean) - Optional - Filter by accept all email addresses. - **disposable** (boolean) - Optional - Filter by disposable email addresses. - **deliverable** (boolean) - Optional - Filter by deliverable email addresses. - **risky** (boolean) - Optional - Filter by risky email addresses. - **risky_score** (string) - Optional - Filter by risky score (e.g., "50"). - **undeliverable** (boolean) - Optional - Filter by undeliverable email addresses. - **unknown** (boolean) - Optional - Filter by unknown email addresses. ### Request Example ```json { "id": "string", "keep_all_rows": true, "criteria": { "free": true, "role": true, "accept_all": true, "disposable": false, "deliverable": true, "risky": false, "risky_score": "50", "undeliverable": false, "unknown": false } } ``` ### Response #### Success Response (200) - **result** (string) - Indicates the export was successful ('ok'). - **download_url** (string) - A URL to download the exported CSV file. #### Response Example ```json { "result": "ok", "download_url": "https://bounceban.s3.us-west-2.amazonaws.com/export/bulk/laHkQ.csv?AWSAccessKeyId=AKIAJCYBEUYE2IDLGSCA&Expires=1668599837&Signature=EGlNgOVKOYfvU1gnpQjHM5wu%2B%2FY%3D&response-content-disposition=attachment%3B%20filename%3D%22API-2%20emails-deliverable%2Cfree%2Crole%2Caccept-all-20221116.csv%22" } ``` ``` -------------------------------- ### Bulk email verification by email list Source: https://bounceban.com/public/doc/api.html Verify a list of emails in bulk. This endpoint accepts a JSON payload containing a list of email addresses. ```APIDOC ## POST /v1/verify/bulk ### Description Verifies a list of emails provided in a JSON payload. ### Method POST ### Endpoint https://api.bounceban.com/v1/verify/bulk ### Request Body - **emails** (array[string]) - Required - A list of email addresses to verify. ### Request Example ```json { "emails": [ "dev@bounceban.com", "support@bounceban.com" ] } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the verification job. - **credits_remaining** (integer) - The number of credits remaining on the account. #### Response Example ```json { "id": "6374973d2307debafb85a58d", "credits_remaining": 14973 } ``` ### Error Handling - **400** - Invalid parameter. - **401** - Authorization information is missing or invalid. - **403** - Insufficient credits. - **405** - The account is blocked. - **429** - Rate limited. - **500** - Unexpected error. ``` -------------------------------- ### Retrieve Bulk Email Verification Results Source: https://bounceban.com/public/doc/api.html Fetches the results of a bulk email verification task. Supports filtering by email state and pagination. ```APIDOC ## GET /v1/verify/bulk/dump ### Description Retrieves the results of a bulk email verification task. This endpoint allows for filtering by email state and pagination to manage large result sets. ### Method GET ### Endpoint https://api.bounceban.com/v1/verify/bulk/dump ### Parameters #### Query Parameters - **id** (string) - Required - Bulk email verification task ID. - **state** (string) - Optional - Specifies emails to retrieve based on verification state (`deliverable`, `risky`, `undeliverable`, or `unknown`). If not set, all emails will be returned. When making a request with the `state` parameter included, you might not receive all the verified results if the task is not yet finished. To obtain a comprehensive list of the verified emails that have been processed so far, you should omit the `state` parameter from your request. - **cursor** (string) - Optional - Provide this parameter to retrieve results from the next page. You can obtain the cursor value from the previous request response. If `retrieve_all` is set to `1`, the `page_size` and `cursor` parameters will be ignored. - **page_size** (integer) - Optional - Specify the number of emails to return per request. Default: 100. Maximum: 3,000. Minimum: 100. If `retrieve_all` is set to `1`, the `page_size` and `cursor` parameters will be ignored. - **retrieve_all** (string) - Optional - Retrieve all emails for the task by setting this parameter to `1`. Default: Disabled (empty). If `retrieve_all` is set to `1`, the `page_size` and `cursor` parameters will be ignored. This parameter is only effective if the total number of emails for the task is less than or equal to 20,000. ### Response #### Success Response (200) - **cursor** (string) - A cursor for paginating through results. - **items** (array) - A list of email verification results. - **status** (string) - The status of the verification. - **email** (string) - The verified email address. - **result** (string) - The verification result (e.g., 'deliverable', 'undeliverable'). - **score** (integer) - The verification score. - **is_disposable** (boolean) - Indicates if the email is from a disposable domain. - **is_accept_all** (boolean) - Indicates if the email address is an accept-all address. - **is_role** (boolean) - Indicates if the email address is a role-based address. - **is_free** (boolean) - Indicates if the email address is from a free email provider. - **mx_records** (array) - A list of MX records for the domain. - **smtp_provider** (string) - The SMTP provider for the email address. - **verify_at** (string) - The timestamp when the email was verified. - **result** (string) - The overall result status of the request. #### Response Example ```json { "cursor": null, "items": [ { "status": "success", "email": "dev@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:37.480Z" }, { "status": "success", "email": "support@bounceban.com", "result": "deliverable", "score": 99, "is_disposable": false, "is_accept_all": false, "is_role": true, "is_free": false, "mx_records": [ "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com", "alt3.aspmx.l.google.com", "alt4.aspmx.l.google.com", "aspmx.l.google.com" ], "smtp_provider": "Google", "verify_at": "2022-11-16T07:54:38.438Z" } ], "result": "ok" } ``` #### Error Responses - **400** Invalid parameter. - **401** Authorization information is missing or invalid. - **405** The account is blocked. - **429** Rate limited. - **500** Unexpected error. ``` -------------------------------- ### Check Domain or Email Response Source: https://bounceban.com/public/doc/api.html This JSON response provides information about a checked email or domain. It includes status, domain type, username type, syntax validity, and credit consumption details. ```json { "status": "success", "domain_type": "work", "username_type": "role", "syntax_valid": true, "credits_consumed": 1, "credits_remaining": 5 } ```