> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usebouncer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Process with email verification queue

> Synchronous Batch Email Verification API verifies one or multiple emails in a batch, offline manner.

If you need to verify multiple email addresses in a batch, but you prefer
synchronous integrations you can use our Synchronous Batch Email
Verification API.

Each request adds new emails to batch processing queue, and returns response when result is known.

**Speed**

Default settings allow our customers to verify 100k email addresses per
hour, however if your use case requires higher throughput, please let us
know and we will be able to adjust your configuration.

**Rate Limiting**

The Batch Sync Email Verification API is limited to 100 requests per minute
by default.

**Batch size recommendation**

Single request can hold up to 10,000 emails.

**Special considerations**

Requests should be sent sequentially with delay between requests of 5sec
to 10min.

Results are kept up to 24h in Bouncer. After that delay email will be
verified again and credits will be charged.


## OpenAPI

````yaml post /v1.1/email/verify/batch/sync
openapi: 3.0.0
info:
  title: Bouncer
  description: >-
    Bouncer Email Verification API lets you validate email address and verify
    its deliverability, in the way you want.


    It’s easy to integrate, powerful, robust, secure, ultrafast and affordable.


    Let Bouncer handle verification and validation of your email addresses, with
    Real-Time (synchronous), Batch (asynchronous), and a hybrid of those two
    Batch Synchronous end-points.


    If at any time you would need extra support from our side, you can reach us
    by email at :
    [support@usebouncer.com](https://mailto:support@usebouncer.com)
  version: 1.0.0
servers:
  - url: https://api.usebouncer.com
security:
  - apikeyAuth: []
tags:
  - name: domain
    description: >-
      You can use Bouncer’s Domain Verification API to check domain information.


      It can be usefull to verify is domain has valid MX records and if it
      behaves as a "catch all" domain.
paths:
  /v1.1/email/verify/batch/sync:
    post:
      tags:
        - batch-sync
      summary: Process with email verification queue
      description: >-
        Synchronous Batch Email Verification API verifies one or multiple emails
        in a batch, offline manner.
      operationId: verifyBatchSync
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              example:
                - jane@usebouncer.com
                - john@usebouncer.com
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmailRecord'
              example:
                - email: jane@usebouncer.com
                  status: undeliverable
                  reason: rejected_email
                  domain:
                    name: usebouncer.com
                    acceptAll: 'no'
                    disposable: 'no'
                    free: 'no'
                  account:
                    role: 'no'
                    disabled: 'no'
                    fullMailbox: 'no'
                  dns:
                    type: MX
                    record: aspmx.l.google.com.
                  provider: google.com
                  score: 0
                  toxic: unknown
                  toxicity: 0
        '400':
          description: Bad Request
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                status: '404'
                error: Bad Request
                message: too many emails
        '402':
          description: Payment Required
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                status: '402'
                error: Payment Required
                message: 13 credits left
        '429':
          description: Too Many Requests
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                type: object
              example:
                status: 429
                error: Too Many Requests
                message: too many requests
components:
  schemas:
    EmailRecord:
      type: object
      additionalProperties: false
      required:
        - email
        - status
        - reason
      properties:
        email:
          type: string
        status:
          enum:
            - deliverable
            - risky
            - undeliverable
            - unknown
        reason:
          enum:
            - accepted_email
            - low_deliverability
            - low_quality
            - invalid_email
            - invalid_domain
            - rejected_email
            - dns_error
            - unavailable_smtp
            - unsupported
            - timeout
            - unknown
        domain:
          type: object
          additionalProperties: false
          required:
            - name
            - acceptAll
            - disposable
            - free
          properties:
            name:
              type: string
            acceptAll:
              enum:
                - 'yes'
                - 'no'
                - unknown
            disposable:
              enum:
                - 'yes'
                - 'no'
                - unknown
            free:
              enum:
                - 'yes'
                - 'no'
                - unknown
        account:
          type: object
          additionalProperties: false
          required:
            - role
            - disabled
            - fullMailbox
          properties:
            role:
              enum:
                - 'yes'
                - 'no'
                - unknown
            disabled:
              enum:
                - 'yes'
                - 'no'
                - unknown
            fullMailbox:
              enum:
                - 'yes'
                - 'no'
                - unknown
        dns:
          type: object
          additionalProperties: false
          required:
            - type
          properties:
            type:
              type: string
            record:
              type: string
        provider:
          type: string
        score:
          type: integer
          minimum: 0
          maximum: 100
        toxic:
          type: string
        toxicity:
          type: integer
          minimum: 0
          maximum: 5
        retryAfter:
          type: string
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````