Skip to content

Twitter/X Email Checker API: Bulk Email Verification

Check whether emails in your file are registered with Twitter/X. Uses task_type twitter_email and the same batch polling flow as other email-based services.

Upload detection file — example:

Terminal window
curl --location 'https://api.checknumber.ai/v1/tasks' \
--header 'X-API-Key: API-KEY' \
--form 'file=@"./emails.txt"' \
--form 'task_type="twitter_email"'

Check task status — example:

Terminal window
curl --location 'https://api.checknumber.ai/v1/gettasks' \
--header 'X-API-Key: API-KEY' \
--form 'task_id="task_id"'

Response after upload succeeds

{
"task_id": "d4g8o46p2jvh04o9uolg",
"status": "pending",
"total": 2049,
"estimated_amount": {
"amount": "0.500000",
"currency": "USD"
},
"message": "Task created successfully",
"created_at": "2025-11-21T15:58:08.916446594Z"
}

Response while processing

{
"created_at": "2025-11-21T08:27:09.933Z",
"updated_at": "2025-11-21T08:27:10.241Z",
"task_id": "d4g24nep2jvh04o9uoh0",
"user_id": "wfi7wGPS4B4PdtTMox5Y",
"status": "processing",
"total": 2049,
"success": 1024,
"failure": 0
}

Response when finished (exported)

{
"created_at": "2025-11-21T08:27:09.933Z",
"updated_at": "2025-11-21T08:27:10.241Z",
"task_id": "d4g24nep2jvh04o9uoh0",
"user_id": "wfi7wGPS4B4PdtTMox5Y",
"status": "exported",
"total": 2049,
"success": 2049,
"failure": 0,
"result_url": "https://example-link-to-results.zip",
"actual_amount": {
"amount": "2.000000",
"currency": "USD"
}
}

Upload file request URL

POST https://api.checknumber.ai/v1/tasks

Upload file request parameters

ParameterDescription
filefile, one email address per line
task_typestring, set to twitter_email

Check task status request URL

POST https://api.checknumber.ai/v1/gettasks

Check task status request parameters

ParameterDescription
task_idstring, Task ID returned from task creation

Result fields

FieldDescription
EmailEmail address
twitterWhether the email is registered on Twitter/X

Response format

FieldDescription
created_atTimestamp when task was created
updated_atTimestamp of last task status update
task_idUnique task identifier
user_idUser ID
statuspending · processing · exported · failed (refunded automatically)
totalTotal emails processed
successEmails successfully verified
failureRows that failed processing
result_urlDownload URL when status is exported
actual_amount(Optional) Actual charged amount, returned after the task is settled
estimated_amount(Create response) Estimated amount for the task; the final charge is settled when the task completes

Status codes

StatusDescription
200free, Request successful (e.g. status query)
202charge, Task created successfully; the estimated amount is deducted
400free, Bad request: invalid parameters or file format, unsupported task type, or fewer valid entries than the minimum batch size
401free, Missing or invalid API key
402free, Insufficient account balance
404free, Task not found
413free, Uploaded file too large
500free, Internal server error, retry later