DEVELOPER API

Inboxiqo API Documentation

Integrate real-time email verification, credit checks, and queued TXT processing.

Get API access
REST API

Inboxiqo API reference

Verify single addresses, check credit balances, and process large TXT lists from your application.

Base URL api.inboxiqo.com Authentication API key Billing 1 credit per result

Unknown results are free. Inboxiqo automatically retries temporary failures before returning Unknown, and the credit is refunded.

GET Validate a single emailRecommended endpoint for real-time verification

Use the query endpoint for browser, server, automation, RapidAPI, and Apify integrations. Add the optional tag parameter to group and export related results.

Endpoint

GET https://api.inboxiqo.com/api/validate_single.php?apikey=API_KEY&email=example@example.com&tag=Spring%202026

Example request

curl "https://api.inboxiqo.com/api/validate_single.php?apikey=API_KEY&email=example@example.com&tag=Spring%202026"

Example response

{
  "email": "support@inboxiqo.com",
  "status": "Valid",
  "mailboxResult": "mailbox_exists",
  "freeEmail": "No",
  "account": "support",
  "domain": "inboxiqo.com",
  "mxFound": "Yes",
  "mxRecord": "inboxiqo.com"
}
Rate limit
Controlled by the limits assigned to your API plan.
Credits
One completed result costs one credit. Unknown results are refunded.
Status
ValidInvalidCatchAllDisposableSpamtrapUnknown
GET Validate a single email - path formatLegacy-compatible route for existing integrations

This route returns the same verification response as the recommended query endpoint. An optional ?tag=Spring%202026 query parameter is supported.

Endpoint

GET https://api.inboxiqo.com/verifier/validate_single/example@example.com/API_KEY

Example request

curl "https://api.inboxiqo.com/verifier/validate_single/example@example.com/API_KEY"

Example response

{
  "email": "support@inboxiqo.com",
  "status": "Valid",
  "mailboxResult": "mailbox_exists",
  "freeEmail": "No",
  "account": "support",
  "domain": "inboxiqo.com",
  "mxFound": "Yes",
  "mxRecord": "inboxiqo.com"
}
Status
ValidInvalidCatchAllDisposableSpamtrapUnknown
GET Get available creditsRead the current credit balance for an API key

Endpoint

GET https://api.inboxiqo.com/verifier/getcredits/API_KEY

Example request

curl "https://api.inboxiqo.com/verifier/getcredits/API_KEY"

Example response

{
  "credits": "7800"
}
Status
200 Success401 Invalid API key
POST Upload a TXT fileCreate an asynchronous bulk verification job

Upload one TXT file as multipart form data. The file can contain up to 100,000 unique email addresses, can be up to 50MB, and is processed in the background.

Endpoint

POST https://api.inboxiqo.com/verifier/upload_file
Form fieldTypeRequiredDescription
api_keystringYesYour Inboxiqo API key.
filenamefileYesA TXT file containing email addresses.
tagstringNoAn optional label, up to 100 characters, used to group and export results.

Example request

curl -F "filename=@/path/to/emails.txt" \
  -F "api_key=API_KEY" \
  -F "tag=Spring 2026" \
  "https://api.inboxiqo.com/verifier/upload_file"

Example response

{
  "status": true,
  "file_name": "emails.txt",
  "file_id": "2a7bb64c-f80c-4f4d-9280-54d4d149bd13",
  "tag": "Spring 2026",
  "msg": "File uploaded successfully."
}
Status
Queued400 Invalid file401 Invalid API key
GET Get file information and progressTrack processing, result counts, and download availability

Poll this endpoint every 30 seconds while a bulk file is processing. Stop polling when status_label becomes completed.

Endpoint

GET https://api.inboxiqo.com/verifier/file_info/API_KEY/FILE_ID

Key fields for progress tracking

FieldTypeDescription
Status
status_labelstringqueued processing completed Use this field to stop polling.
ready_for_downloadinteger0 queued, 3 processing, or 1 completed.
downloadablebooleanOnly true when report downloads are ready.
Overall progress
progress_percentinteger 0-100Main progress bar value.
total_emailsintegerTotal unique email rows accepted for processing.
processed_resintegerNumber of email rows processed so far.
Current progress
phasestringHuman-readable processing status.
Results and downloads
result_countsobjectCounts for Valid, Invalid, CatchAll, Unknown, Spamtrap, Disposable, and Duplicate.
credit_usedintegerProcessed results minus refunded Unknown results.
download_*_csvstring or nullCombined and status-filtered reports, available after completion.

Example request

curl "https://api.inboxiqo.com/verifier/file_info/API_KEY/2a7bb64c-f80c-4f4d-9280-54d4d149bd13"

Example response

{
  "status": true,
  "file": {
    "upload_id": "2a7bb64c-f80c-4f4d-9280-54d4d149bd13",
    "filename": "my-list.txt",
    "tag": "Spring 2026",
    "created_at": "2026-06-19T10:22:00Z",
    "ready_for_download": 1,
    "status": "finished",
    "status_label": "completed",
    "downloadable": true,
    "progress_percent": 100,
    "total_emails": 5000,
    "processed_res": 5000,
    "phase": "Validating emails",
    "total": 5000,
    "valid": 3800,
    "invalid": 750,
    "catchall": 320,
    "unknown": 80,
    "duplicates": 50,
    "spam_trap": 12,
    "disposable": 38,
    "credit_used": 4920,
    "result_counts": {
      "Valid": 3800,
      "Invalid": 750,
      "CatchAll": 320,
      "Unknown": 80,
      "Spamtrap": 12,
      "Disposable": 38,
      "Duplicate": 50
    },
    "download_all_csv": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/all.csv",
    "download_valid_csv": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/valid.csv",
    "download_invalid_csv": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/invalid.csv",
    "download_catchall_csv": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/catchall.csv",
    "download_unknown_csv": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/unknown.csv",
    "file_path": "https://api.inboxiqo.com/verifier/download/API_KEY/FILE_ID/all.csv",
    "download_xls": null,
    "xls_file_path": null
  }
}
Status
QueuedProcessingCompleted

Progress bar polling example

async function trackProgress(apiKey, fileId) {
  const url = `https://api.inboxiqo.com/verifier/file_info/${apiKey}/${fileId}`;

  while (true) {
    const response = await fetch(url);
    const { file } = await response.json();

    renderProgressBar(file.progress_percent);
    console.log('Phase:', file.phase);

    if (file.status_label === 'completed') {
      renderChart(file.result_counts);
      console.log('Download:', file.download_all_csv);
      break;
    }

    await new Promise(resolve => setTimeout(resolve, 30000));
  }
}