curl --request POST \
--url https://api.aisa.one/apis/v1/hunter/domain-search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"limit": 10,
"domain": "stripe.com"
}
'import requests
url = "https://api.aisa.one/apis/v1/hunter/domain-search"
payload = {
"limit": 10,
"domain": "stripe.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({limit: 10, domain: 'stripe.com'})
};
fetch('https://api.aisa.one/apis/v1/hunter/domain-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/hunter/domain-search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'limit' => 10,
'domain' => 'stripe.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/hunter/domain-search"
payload := strings.NewReader("{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/hunter/domain-search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/hunter/domain-search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"webmail": true,
"accept_all": true,
"disposable": true,
"city": "<string>",
"state": "<string>",
"domain": "<string>",
"emails": [],
"street": "<string>",
"country": "<string>",
"pattern": "<string>",
"twitter": "<string>",
"youtube": "<string>",
"facebook": "<string>",
"industry": "<string>",
"linkedin": "<string>",
"headcount": "<string>",
"instagram": "<string>",
"description": "<string>",
"postal_code": "<string>",
"company_type": "<string>",
"organization": "<string>",
"technologies": [
"<string>"
],
"linked_domains": []
},
"meta": {
"limit": 123,
"offset": 123,
"params": {
"type": "<string>",
"domain": "<string>",
"company": "<string>",
"seniority": "<string>",
"department": "<string>",
"required_field": "<string>"
},
"results": 123
}
}Domain Search
curl --request POST \
--url https://api.aisa.one/apis/v1/hunter/domain-search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"limit": 10,
"domain": "stripe.com"
}
'import requests
url = "https://api.aisa.one/apis/v1/hunter/domain-search"
payload = {
"limit": 10,
"domain": "stripe.com"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({limit: 10, domain: 'stripe.com'})
};
fetch('https://api.aisa.one/apis/v1/hunter/domain-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/hunter/domain-search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'limit' => 10,
'domain' => 'stripe.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/hunter/domain-search"
payload := strings.NewReader("{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/hunter/domain-search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/hunter/domain-search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"limit\": 10,\n \"domain\": \"stripe.com\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"webmail": true,
"accept_all": true,
"disposable": true,
"city": "<string>",
"state": "<string>",
"domain": "<string>",
"emails": [],
"street": "<string>",
"country": "<string>",
"pattern": "<string>",
"twitter": "<string>",
"youtube": "<string>",
"facebook": "<string>",
"industry": "<string>",
"linkedin": "<string>",
"headcount": "<string>",
"instagram": "<string>",
"description": "<string>",
"postal_code": "<string>",
"company_type": "<string>",
"organization": "<string>",
"technologies": [
"<string>"
],
"linked_domains": []
},
"meta": {
"limit": 123,
"offset": 123,
"params": {
"type": "<string>",
"domain": "<string>",
"company": "<string>",
"seniority": "<string>",
"department": "<string>",
"required_field": "<string>"
},
"results": 123
}
}Request contract
- Method and path: POST /apis/v1/hunter/domain-search
- Availability: enabled
- Request URL template:
https://api.aisa.one/apis/v1/hunter/domain-search - Runtime facts: 9d6cd55f4883e0d802c7a28091c00738a9992688a6c242f0fae404a62c5146a1
{
"operationId": "hunter.domain-search",
"method": "POST",
"path": "/apis/v1/hunter/domain-search",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"examples": [
"personal"
],
"description": "Filter by email type. Either 'personal' or 'generic'."
},
"limit": {
"maximum": 100,
"minimum": 1,
"type": "integer",
"description": "Maximum number of email addresses to return. Default is 10, which is the maximum for free/basic plans. Values above 10 require a paid plan and will fail on free/basic tiers.",
"examples": [
10
]
},
"domain": {
"type": "string",
"description": "Domain name to search for. Required if company not provided.",
"examples": [
"stripe.com"
]
},
"offset": {
"type": "integer",
"minimum": 0,
"examples": [
0
],
"description": "Number of email addresses to skip. Defaults to 0. Paginate by incrementing offset in steps of limit; end of results when returned count is less than limit."
},
"company": {
"type": "string",
"examples": [
"stripe"
],
"description": "Company name to search for. Required if domain not provided."
},
"seniority": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"senior",
"executive"
]
],
"description": "Filter by one or more seniority levels: 'junior','senior','executive'."
},
"department": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"it",
"sales"
]
],
"description": "Filter by one or more departments, e.g., 'executive','it','finance', etc."
},
"required_field": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"full_name",
"position"
]
],
"description": "Filter by one or more required fields: 'full_name','position','phone_number'."
}
},
"required": [
"domain",
"limit"
]
}
}
}
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "response_units",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.0243,
"estimate_source": "profile_seed",
"evidence_source": "response_body",
"maximum_units": 10000000,
"unit": "provider_credit",
"unit_rate_usd": 1e-06
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Usage-based billing; Default request estimate: $0.0243 USD (not a fixed price). Declared unit rate: $0.000001 USD per provider_credit. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.0243
- Declared unit rate (USD): 1e-06
- Billing unit: provider_credit
- Cost contract: response_units
- Published reference multiplier: 1.0
- Declared maximum count/units: 10000000
- Settlement evidence source: response_body
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Maximum number of email addresses to return. Default is 10, which is the maximum for free/basic plans. Values above 10 require a paid plan and will fail on free/basic tiers.
1 <= x <= 10010
Domain name to search for. Required if company not provided.
"stripe.com"
Filter by email type. Either 'personal' or 'generic'.
"personal"
Number of email addresses to skip. Defaults to 0. Paginate by incrementing offset in steps of limit; end of results when returned count is less than limit.
x >= 00
Company name to search for. Required if domain not provided.
"stripe"
Filter by one or more seniority levels: 'junior','senior','executive'.
["senior", "executive"]
Filter by one or more departments, e.g., 'executive','it','finance', etc.
["it", "sales"]
Filter by one or more required fields: 'full_name','position','phone_number'.
["full_name", "position"]