Skip to main content
POST
Submit a professional email batch
Submit up to 100 people and receive one asynchronous professional-email result per item at your webhook.
The limit is 3,000 input items per minute per workspace. Each item with status: "success" costs 2 credits; misses and timeouts are not charged.
The acceptance response only confirms that the batch was queued. Processing continues after that response, and each item is delivered separately to webhook_url.

Webhook callbacks

Every callback echoes custom_id. When the submitted value is omitted or null, Airscale uses that item’s zero-based input index.
  • A found email has status: "success", the resolved email, email_status: "valid", and the public provider and verifier labels.
  • An item skipped after the remaining batch balance drops below 2 credits has status: "error", error: "insufficient_credits", and email: null.
  • A miss or exhausted lookup has status: "not_found" or status: "timeout", respectively, with email: null.
Return a 2xx response promptly for every callback. Automatic webhook retries are not part of this operation’s contract, so persist callbacks and use custom_id to reconcile expected and received results.
Add credits before submitting skipped items again.

Next step

Use Email finder for a synchronous single-person lookup, or review Rate limits before batching requests.

Authorizations

Authorization
string
header
required

Use an Airscale workspace API key. Never expose the key in client-side code.

Body

application/json

Provide a webhook URL and between 1 and 100 inputs. Each input may include an optional custom_id and must identify a person by profile or by complete name and company information.

webhook_url
string
required
Minimum string length: 1
Pattern: ^http
inputs
object[]
required
Required array length: 1 - 100 elements

Response

The batch was accepted for asynchronous processing.

status
string
required
Allowed value: "accepted"
count
integer
required
Required range: 1 <= x <= 100