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
}
}请求规范
- 方法与路径: POST /apis/v1/hunter/domain-search
- 可用状态: enabled
- 请求 URL 模板:
https://api.aisa.one/apis/v1/hunter/domain-search - Runtime 事实版本: 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"
}
}
}
}
费用与请求规则
按用量计费;默认请求预估费用:$0.0243 USD(不是固定价格)。 声明的单位费率:每 provider_credit $0.000001 USD。 最终费用以账户适用价格及实际结算为准。 公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口,执行前请针对完整请求获取免费报价;执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。- 默认请求参考估价(USD): 0.0243
- 声明的单位费率(USD): 1e-06
- 计费单位: provider_credit
- 计费依据: response_units
- 公开参考倍率: 1.0
- 声明的最大计数或单位数: 10000000
- 结算证据来源: response_body
授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
请求体
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"]