API Endpoints

Email Finder (Bulk)

Use this endpoint to find the email for multiple contacts in a single request

Endpoint

Headers

Key

Value

Required

Content-Type

application/json

Yes

Authorization

Bearer <YOUR_API_KEY>

Yes

Request Body

{
  "webhook_url": "https://your-site.com/webhook",
  "inputs": [
    {
      "custom_id": "contact_001",
      "first_name": "John",
      "last_name": "Smith",
      "domain": "acme.com",
      "company_name": "Acme Corp",
      "linkedin_profile_url": "https://www.linkedin.com/in/johnsmith"
    },
    {
      "custom_id": "contact_002",
      "first_name": "Jane",
      "last_name": "Doe",
      "domain": "globex.com",
      "company_name": "Globex",
      "linkedin_profile_url": null
    }
  ]
}
{
  "webhook_url": "https://your-site.com/webhook",
  "inputs": [
    {
      "custom_id": "contact_001",
      "first_name": "John",
      "last_name": "Smith",
      "domain": "acme.com",
      "company_name": "Acme Corp",
      "linkedin_profile_url": "https://www.linkedin.com/in/johnsmith"
    },
    {
      "custom_id": "contact_002",
      "first_name": "Jane",
      "last_name": "Doe",
      "domain": "globex.com",
      "company_name": "Globex",
      "linkedin_profile_url": null
    }
  ]
}
{
  "webhook_url": "https://your-site.com/webhook",
  "inputs": [
    {
      "custom_id": "contact_001",
      "first_name": "John",
      "last_name": "Smith",
      "domain": "acme.com",
      "company_name": "Acme Corp",
      "linkedin_profile_url": "https://www.linkedin.com/in/johnsmith"
    },
    {
      "custom_id": "contact_002",
      "first_name": "Jane",
      "last_name": "Doe",
      "domain": "globex.com",
      "company_name": "Globex",
      "linkedin_profile_url": null
    }
  ]
}

Top-level fields

Field

Type

Required

webhook_url

string

Yes

inputs

array

Yes

Option 1: Name + Company name or Domain

Field

Type

Required

custom_id

string

No

first_name

string

Yes

last_name

string

Yes

domain

string

Only if: company_name is empty

company_name

string

Only if: domain is empty

linkedin_profile_url

string

No

Option 2: LinkedIn profile URL

Field

Type

Required

custom_id

string

No

linkedin_profile_url

string

Yes

first_name

string

No

last_name

string

No

domain

string

No

company_name

string

No

Response

Successful Immediate Response (200)

{ "status": "accepted", "count": 2 }
{ "status": "accepted", "count": 2 }
{ "status": "accepted", "count": 2 }

Async Webhook (email found)

{
  "custom_id": "contact_001",
  "status": "success",
  "email": "john.smith@acme.com",
  "email_status": "valid",
  "provider": "Prospeo",
  "verifier": "Bounceban"
}
{
  "custom_id": "contact_001",
  "status": "success",
  "email": "john.smith@acme.com",
  "email_status": "valid",
  "provider": "Prospeo",
  "verifier": "Bounceban"
}
{
  "custom_id": "contact_001",
  "status": "success",
  "email": "john.smith@acme.com",
  "email_status": "valid",
  "provider": "Prospeo",
  "verifier": "Bounceban"
}

Async Webhook (email not found)

{
  "custom_id": "contact_002",
  "status": "not_found",
  "email": null
}
{
  "custom_id": "contact_002",
  "status": "not_found",
  "email": null
}
{
  "custom_id": "contact_002",
  "status": "not_found",
  "email": null
}

Example Usage

cURL

curl -X POST "https://api.airscale.io/v1/email-bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
          {
            "custom_id": "contact_001",
            "first_name": "Victor",
            "last_name": "Detraz",
            "domain": "airscale.io",
            "company_name": "Airscale",
            "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
          }
        ]
      }'
curl -X POST "https://api.airscale.io/v1/email-bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
          {
            "custom_id": "contact_001",
            "first_name": "Victor",
            "last_name": "Detraz",
            "domain": "airscale.io",
            "company_name": "Airscale",
            "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
          }
        ]
      }'
curl -X POST "https://api.airscale.io/v1/email-bulk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
          {
            "custom_id": "contact_001",
            "first_name": "Victor",
            "last_name": "Detraz",
            "domain": "airscale.io",
            "company_name": "Airscale",
            "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
          }
        ]
      }'

Python

import requests

response = requests.post(
    "https://api.airscale.io/v1/email-bulk",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
            {
                "custom_id": "contact_001",
                "first_name": "Victor",
                "last_name": "Detraz",
                "domain": "airscale.io",
                "company_name": "Airscale",
                "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
            }
        ]
    }
)
print(response.status_code, response.json())
import requests

response = requests.post(
    "https://api.airscale.io/v1/email-bulk",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
            {
                "custom_id": "contact_001",
                "first_name": "Victor",
                "last_name": "Detraz",
                "domain": "airscale.io",
                "company_name": "Airscale",
                "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
            }
        ]
    }
)
print(response.status_code, response.json())
import requests

response = requests.post(
    "https://api.airscale.io/v1/email-bulk",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "webhook_url": "https://your-site.com/webhook",
        "inputs": [
            {
                "custom_id": "contact_001",
                "first_name": "Victor",
                "last_name": "Detraz",
                "domain": "airscale.io",
                "company_name": "Airscale",
                "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/"
            }
        ]
    }
)
print(response.status_code, response.json())

JavaScript (Fetch)

fetch("https://api.airscale.io/v1/email-bulk", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    webhook_url: "https://your-site.com/webhook",
    inputs: [
      {
        custom_id: "contact_001",
        first_name: "Victor",
        last_name: "Detraz",
        domain: "airscale.io",
        company_name: "Airscale",
        linkedin_profile_url: "https://www.linkedin.com/in/vdetraz/"
      }
    ]
  })
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error("Error:", err));
fetch("https://api.airscale.io/v1/email-bulk", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    webhook_url: "https://your-site.com/webhook",
    inputs: [
      {
        custom_id: "contact_001",
        first_name: "Victor",
        last_name: "Detraz",
        domain: "airscale.io",
        company_name: "Airscale",
        linkedin_profile_url: "https://www.linkedin.com/in/vdetraz/"
      }
    ]
  })
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error("Error:", err));
fetch("https://api.airscale.io/v1/email-bulk", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    webhook_url: "https://your-site.com/webhook",
    inputs: [
      {
        custom_id: "contact_001",
        first_name: "Victor",
        last_name: "Detraz",
        domain: "airscale.io",
        company_name: "Airscale",
        linkedin_profile_url: "https://www.linkedin.com/in/vdetraz/"
      }
    ]
  })
})
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error("Error:", err));

PHP

<?php
$ch = curl_init("https://api.airscale.io/v1/email-bulk");

curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST           => true,
  CURLOPT_HTTPHEADER     => [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode([
    "webhook_url" => "https://your-site.com/webhook",
    "inputs" => [
      [
        "custom_id"            => "contact_001",
        "first_name"           => "Victor",
        "last_name"            => "Detraz",
        "domain"               => "airscale.io",
        "company_name"         => "Airscale",
        "linkedin_profile_url" => "https://www.linkedin.com/in/vdetraz/"
      ]
    ]
  ])
]);

echo curl_exec($ch);
curl_close($ch);
<?php
$ch = curl_init("https://api.airscale.io/v1/email-bulk");

curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST           => true,
  CURLOPT_HTTPHEADER     => [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode([
    "webhook_url" => "https://your-site.com/webhook",
    "inputs" => [
      [
        "custom_id"            => "contact_001",
        "first_name"           => "Victor",
        "last_name"            => "Detraz",
        "domain"               => "airscale.io",
        "company_name"         => "Airscale",
        "linkedin_profile_url" => "https://www.linkedin.com/in/vdetraz/"
      ]
    ]
  ])
]);

echo curl_exec($ch);
curl_close($ch);
<?php
$ch = curl_init("https://api.airscale.io/v1/email-bulk");

curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST           => true,
  CURLOPT_HTTPHEADER     => [
    "Authorization: Bearer YOUR_API_KEY",
    "Content-Type: application/json"
  ],
  CURLOPT_POSTFIELDS => json_encode([
    "webhook_url" => "https://your-site.com/webhook",
    "inputs" => [
      [
        "custom_id"            => "contact_001",
        "first_name"           => "Victor",
        "last_name"            => "Detraz",
        "domain"               => "airscale.io",
        "company_name"         => "Airscale",
        "linkedin_profile_url" => "https://www.linkedin.com/in/vdetraz/"
      ]
    ]
  ])
]);

echo curl_exec($ch);
curl_close($ch);

Go

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "io/ioutil"
  "net/http"
)

func main() {
  payload, _ := json.Marshal(map[string]interface{}{
    "webhook_url": "https://your-site.com/webhook",
    "inputs": []map[string]string{
      {
        "custom_id":            "contact_001",
        "first_name":           "Victor",
        "last_name":            "Detraz",
        "domain":               "airscale.io",
        "company_name":         "Airscale",
        "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/",
      },
    },
  })

  req, _ := http.NewRequest("POST", "https://api.airscale.io/v1/email-bulk", bytes.NewBuffer(payload))
  req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
  req.Header.Set("Content-Type", "application/json")

  resp, err := (&http.Client{}).Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  body, _ := ioutil.ReadAll(resp.Body)
  fmt.Println(string(body

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "io/ioutil"
  "net/http"
)

func main() {
  payload, _ := json.Marshal(map[string]interface{}{
    "webhook_url": "https://your-site.com/webhook",
    "inputs": []map[string]string{
      {
        "custom_id":            "contact_001",
        "first_name":           "Victor",
        "last_name":            "Detraz",
        "domain":               "airscale.io",
        "company_name":         "Airscale",
        "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/",
      },
    },
  })

  req, _ := http.NewRequest("POST", "https://api.airscale.io/v1/email-bulk", bytes.NewBuffer(payload))
  req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
  req.Header.Set("Content-Type", "application/json")

  resp, err := (&http.Client{}).Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  body, _ := ioutil.ReadAll(resp.Body)
  fmt.Println(string(body

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "io/ioutil"
  "net/http"
)

func main() {
  payload, _ := json.Marshal(map[string]interface{}{
    "webhook_url": "https://your-site.com/webhook",
    "inputs": []map[string]string{
      {
        "custom_id":            "contact_001",
        "first_name":           "Victor",
        "last_name":            "Detraz",
        "domain":               "airscale.io",
        "company_name":         "Airscale",
        "linkedin_profile_url": "https://www.linkedin.com/in/vdetraz/",
      },
    },
  })

  req, _ := http.NewRequest("POST", "https://api.airscale.io/v1/email-bulk", bytes.NewBuffer(payload))
  req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
  req.Header.Set("Content-Type", "application/json")

  resp, err := (&http.Client{}).Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  body, _ := ioutil.ReadAll(resp.Body)
  fmt.Println(string(body

On this page

© 2026

Airscale · All rights reserved