curl --request POST \
--url https://api.glasser.ai/v1/solutions/gtm/company_intelligence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'idempotency-key: <idempotency-key>' \
--data '
{
"domain": "<string>",
"industries": [
"<string>"
],
"headcounts": [],
"company_types": [],
"offset": 5000,
"page": 250,
"country": "<string>",
"query": "<string>",
"limit": 50,
"task_id": "<string>",
"metadata": {}
}
'import requests
url = "https://api.glasser.ai/v1/solutions/gtm/company_intelligence"
payload = {
"domain": "<string>",
"industries": ["<string>"],
"headcounts": [],
"company_types": [],
"offset": 5000,
"page": 250,
"country": "<string>",
"query": "<string>",
"limit": 50,
"task_id": "<string>",
"metadata": {}
}
headers = {
"idempotency-key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'idempotency-key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: '<string>',
industries: ['<string>'],
headcounts: [],
company_types: [],
offset: 5000,
page: 250,
country: '<string>',
query: '<string>',
limit: 50,
task_id: '<string>',
metadata: {}
})
};
fetch('https://api.glasser.ai/v1/solutions/gtm/company_intelligence', 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.glasser.ai/v1/solutions/gtm/company_intelligence",
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([
'domain' => '<string>',
'industries' => [
'<string>'
],
'headcounts' => [
],
'company_types' => [
],
'offset' => 5000,
'page' => 250,
'country' => '<string>',
'query' => '<string>',
'limit' => 50,
'task_id' => '<string>',
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"idempotency-key: <idempotency-key>"
],
]);
$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.glasser.ai/v1/solutions/gtm/company_intelligence"
payload := strings.NewReader("{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("idempotency-key", "<idempotency-key>")
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.glasser.ai/v1/solutions/gtm/company_intelligence")
.header("idempotency-key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.glasser.ai/v1/solutions/gtm/company_intelligence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["idempotency-key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {},
"output": {
"total_matches": 123,
"items": [
{
"name": "<string>",
"website": "<string>",
"description": "<string>",
"industry": "<string>",
"employees": 123,
"employee_range_min": 123,
"employee_range_max": 123,
"founded_year": 123,
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>",
"linkedin_url": "<string>",
"phone": "<string>",
"total_funding_usd": 123,
"revenue_usd": 123,
"revenue_range_min_usd": 123,
"revenue_range_max_usd": 123,
"ownership": "public",
"ticker": "<string>",
"latest_funding_date": "<string>",
"domain": "<string>"
}
]
},
"provider_response": {
"http_status": 349,
"error": null
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {},
"action": "search",
"result_status": "success",
"error": {
"code": "<string>",
"message": "<string>"
},
"runs": [
{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {
"omitted": true
},
"output": {
"omitted": true
},
"provider_response": {
"http_status": 349
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {}
}
],
"result_url": "<string>"
}{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {},
"output": {
"total_matches": 123,
"items": [
{
"name": "<string>",
"website": "<string>",
"description": "<string>",
"industry": "<string>",
"employees": 123,
"employee_range_min": 123,
"employee_range_max": 123,
"founded_year": 123,
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>",
"linkedin_url": "<string>",
"phone": "<string>",
"total_funding_usd": 123,
"revenue_usd": 123,
"revenue_range_min_usd": 123,
"revenue_range_max_usd": 123,
"ownership": "public",
"ticker": "<string>",
"latest_funding_date": "<string>",
"domain": "<string>"
}
]
},
"provider_response": {
"http_status": 349,
"error": null
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {},
"action": "search",
"result_status": "success",
"error": {
"code": "<string>",
"message": "<string>"
},
"runs": [
{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {
"omitted": true
},
"output": {
"omitted": true
},
"provider_response": {
"http_status": 349
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {}
}
],
"result_url": "<string>"
}{
"error": {
"code": "validation_failed",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "unauthorized",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "insufficient_balance",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "endpoint_not_permitted",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "idempotency_conflict",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "rate_limited",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "service_unavailable",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}公司信息
按域名研究公司资料、技术栈、流量、竞争对手、融资、新闻、职位和广告,或搜索目标公司。
curl --request POST \
--url https://api.glasser.ai/v1/solutions/gtm/company_intelligence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'idempotency-key: <idempotency-key>' \
--data '
{
"domain": "<string>",
"industries": [
"<string>"
],
"headcounts": [],
"company_types": [],
"offset": 5000,
"page": 250,
"country": "<string>",
"query": "<string>",
"limit": 50,
"task_id": "<string>",
"metadata": {}
}
'import requests
url = "https://api.glasser.ai/v1/solutions/gtm/company_intelligence"
payload = {
"domain": "<string>",
"industries": ["<string>"],
"headcounts": [],
"company_types": [],
"offset": 5000,
"page": 250,
"country": "<string>",
"query": "<string>",
"limit": 50,
"task_id": "<string>",
"metadata": {}
}
headers = {
"idempotency-key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'idempotency-key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: '<string>',
industries: ['<string>'],
headcounts: [],
company_types: [],
offset: 5000,
page: 250,
country: '<string>',
query: '<string>',
limit: 50,
task_id: '<string>',
metadata: {}
})
};
fetch('https://api.glasser.ai/v1/solutions/gtm/company_intelligence', 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.glasser.ai/v1/solutions/gtm/company_intelligence",
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([
'domain' => '<string>',
'industries' => [
'<string>'
],
'headcounts' => [
],
'company_types' => [
],
'offset' => 5000,
'page' => 250,
'country' => '<string>',
'query' => '<string>',
'limit' => 50,
'task_id' => '<string>',
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"idempotency-key: <idempotency-key>"
],
]);
$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.glasser.ai/v1/solutions/gtm/company_intelligence"
payload := strings.NewReader("{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("idempotency-key", "<idempotency-key>")
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.glasser.ai/v1/solutions/gtm/company_intelligence")
.header("idempotency-key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.glasser.ai/v1/solutions/gtm/company_intelligence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["idempotency-key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domain\": \"<string>\",\n \"industries\": [\n \"<string>\"\n ],\n \"headcounts\": [],\n \"company_types\": [],\n \"offset\": 5000,\n \"page\": 250,\n \"country\": \"<string>\",\n \"query\": \"<string>\",\n \"limit\": 50,\n \"task_id\": \"<string>\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {},
"output": {
"total_matches": 123,
"items": [
{
"name": "<string>",
"website": "<string>",
"description": "<string>",
"industry": "<string>",
"employees": 123,
"employee_range_min": 123,
"employee_range_max": 123,
"founded_year": 123,
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>",
"linkedin_url": "<string>",
"phone": "<string>",
"total_funding_usd": 123,
"revenue_usd": 123,
"revenue_range_min_usd": 123,
"revenue_range_max_usd": 123,
"ownership": "public",
"ticker": "<string>",
"latest_funding_date": "<string>",
"domain": "<string>"
}
]
},
"provider_response": {
"http_status": 349,
"error": null
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {},
"action": "search",
"result_status": "success",
"error": {
"code": "<string>",
"message": "<string>"
},
"runs": [
{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {
"omitted": true
},
"output": {
"omitted": true
},
"provider_response": {
"http_status": 349
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {}
}
],
"result_url": "<string>"
}{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {},
"output": {
"total_matches": 123,
"items": [
{
"name": "<string>",
"website": "<string>",
"description": "<string>",
"industry": "<string>",
"employees": 123,
"employee_range_min": 123,
"employee_range_max": 123,
"founded_year": 123,
"city": "<string>",
"region": "<string>",
"country": "<string>",
"country_code": "<string>",
"linkedin_url": "<string>",
"phone": "<string>",
"total_funding_usd": 123,
"revenue_usd": 123,
"revenue_range_min_usd": 123,
"revenue_range_max_usd": 123,
"ownership": "public",
"ticker": "<string>",
"latest_funding_date": "<string>",
"domain": "<string>"
}
]
},
"provider_response": {
"http_status": 349,
"error": null
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {},
"action": "search",
"result_status": "success",
"error": {
"code": "<string>",
"message": "<string>"
},
"runs": [
{
"id": "<string>",
"run_url": "<string>",
"provider": "<string>",
"endpoint": "<string>",
"endpoint_version": 123,
"status": "QUEUED",
"failure": {
"kind": "TIMED_OUT",
"message": "<string>"
},
"input": {
"omitted": true
},
"output": {
"omitted": true
},
"provider_response": {
"http_status": 349
},
"charge_usd": "<string>",
"charge_basis": {
"clause": "rule",
"quantity": 1
},
"stoppable": true,
"stop_requested_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"task_id": "<string>",
"metadata": {}
}
],
"result_url": "<string>"
}{
"error": {
"code": "validation_failed",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "unauthorized",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "insufficient_balance",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "endpoint_not_permitted",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "idempotency_conflict",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "rate_limited",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}{
"error": {
"code": "service_unavailable",
"message": "<string>",
"reason": "<string>",
"control": "<string>",
"retry_after_ms": 123,
"details": {}
},
"request_id": "<string>"
}各操作输出
各操作的规范化字段。原生输出保留在 Run 中,可通过 GET /v1/runs/:id 读取。未报告的值为 null;有效空结果保留操作结构,各字段为 null 或 items 为 [],result_status 为 no_result。金额为美元。员工数和营收为响应方自身估算,*_range_min / *_range_max 为其区间边界。自有模型分数带数据提供商名称,如 exa_similarity_score,其他家为 null。industry、categories、round、category 保留响应方词汇。- search: total_matches, items[]: domain 及公司资料字段;未报告的字段为 null
- lookup: total_matches, items[]: domain 及公司资料字段;名称有歧义时返回候选
- enrich: name, website, description, industry, employees, employee_range_min, employee_range_max, founded_year, city, region, country, country_code, linkedin_url, phone, total_funding_usd, revenue_usd, revenue_range_min_usd, revenue_range_max_usd, ownership, ticker, latest_funding_date
- tech_stack: items[]: name, categories[], detection_source, predictleads_confidence, first_detected_date, last_detected_date
- traffic: monthly_visits, organic_traffic, paid_traffic, organic_keywords, paid_keywords, organic_traffic_value_usd, similarweb_global_rank, bounce_rate, pages_per_visit, avg_visit_duration_seconds
- competitors: items[]: domain, name, page_title, position, predictleads_similarity_score, exa_similarity_score, reason
- funding: total_funding_usd, items[]: round_date, round, amount_usd, investors[], source_url
- news: items[]: title, url, source, published_at, event_date, date_text, category, snippet
- jobs: items[]: title, url, location, seniority, categories[], contract_types[], salary_min_usd, salary_max_usd, salary_period, posted_at, first_seen_at, last_seen_at
- ads: total_ads, items[]: creative_id, advertiser_id, advertiser_name, format, ad_url, image_url, first_shown_at, last_shown_at
{
"action": "enrich",
"provider": "apollo",
"status": "COMPLETED",
"result_status": "success",
"output": {
"name": "Stripe", "website": "http://www.stripe.com", "industry": "information technology & services",
"employees": 9400, "employee_range_min": null, "employee_range_max": null, "founded_year": 2010,
"city": "South San Francisco", "region": "California", "country": "United States", "country_code": "US",
"linkedin_url": "http://www.linkedin.com/company/stripe", "phone": "+1 415-298-5539",
"total_funding_usd": 9443867423, "revenue_usd": 6935000000, "revenue_range_min_usd": null, "revenue_range_max_usd": null,
"ownership": null, "ticker": null, "latest_funding_date": "2026-03-01",
"description": "Stripe, Inc. is a global financial technology company…"
},
"charge_usd": "0.026",
"runs": [{ "provider": "apollo", "status": "COMPLETED", "charge_usd": "0.026" }],
"result_url": "/v1/solutions/gtm/company_intelligence/result?token=…"
}
请求头
为每次预期执行生成唯一值,推荐使用 UUID。使用同一个键和执行参数重试,可读取原 Run,避免再次扣费。使用同一个键但修改执行参数会返回 409;修改 task_id 或 metadata 不会更新原 Run。
1请求体
默认为 enrich。search 需要 query 或结构化筛选;lookup 需要 query,即公司名称;其他操作均需要 domain。
- search:按行业、员工区间、国家或公司类型发现公司,使用 offset 分页。结构化筛选使用 Hunter 词汇;query 只表达这些筛选能表示的条件。其他 ICP 条件需另行检查。
- lookup:按名称查找候选公司,使用 page 分页;名称有歧义时不要猜测。
- enrich:公司资料和企业属性。
- tech_stack、traffic、funding、news:对应公司数据。
- jobs:公司自有招聘页面上的在招职位;limit 限制行数,默认及最大均为 25,因此返回行数不是公司职位总数。
- ads:域名背后广告主在 Google Ads Transparency Center 中的广告素材;country 限定地区,省略则包含所有地区。
- competitors:相似企业。查询 Google 结果中的竞争域名时,使用 SEO 研究的 organic_competitors。
search, lookup, enrich, tech_stack, traffic, competitors, funding, news, jobs, ads 默认为 auto,按 Glasser 偏好顺序选择第一家符合条件的数据提供商。指定的数据提供商必须支持请求且获得当前 API Key 的允许,不会切换到其他家。可用值见下方。
auto, apollo, pdl, hunter, prospeo, predictleads, leadmagic, builtwith, dataforseo, ahrefs, apify, exa, serper, scrapecreators 网站域名,例如 stripe.com。也接受完整 URL,并提取主机名。
3 - 2531 - 20 elements11 - 8 elements1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+ 1 - 10 elementseducational, educational institution, government agency, non profit, partnership, privately held, public company, self employed, self owned, sole proprietorship 0 <= x <= 100001 <= x <= 500国家,使用两位 ISO 代码或名称,例如 us、gb、de、Germany。默认为 us。支持代码:us、gb、ca、au、nz、ie、in、sg、de、at、ch、fr、be、es、mx、ar、it、nl、pt、br、jp、kr、cn、hk、tw、ru、pl、se、no、dk、fi、tr、id、th、vn、ph、my、za、ae、il、sa、eg、ng、ua、cz、gr、hu、ro、co、cl、pe、lu。可用范围还取决于操作和数据提供商。不支持的国家会在创建 Run 前被拒绝。不要为了绕过错误而更换国家,这会改变请求的数据。
2 - 60search:发现公司的提示词。lookup:公司名称。通过 Serper 查询 news 时:使用公司名称,不使用域名。
1 - 200返回条数。请从较少条数开始:路由到的接口可能据此计费。各能力还会进一步限制上限。
1 <= x <= 100将相关 Run,包括自动切换产生的 Run,归入同一个 Task。复用稳定字符串,并通过 Task 筛选 Run 列表。
可选追踪字段,随 Run 返回,也可用于筛选。不会发送给数据提供商,也不影响路由、价格或幂等。
- 最多 20 个键:小写字母、数字和下划线,以字母开头,最长 40 个字符。
- 值:长度为 1–500 的字符串。
- user_id:终端用户的不透明 ID,不得使用邮箱或姓名。
无效条目整体丢弃,不截断。请求继续执行,Run 返回实际保存的字段。
Show child attributes
Show child attributes
响应
成功
在控制台打开 Run,需要工作空间成员权限。
^[a-z0-9][a-z0-9-]*$^\/.+$QUEUED 或 RUNNING 表示仍在执行。COMPLETED 表示已有数据提供商响应,包括非 2xx 响应。FAILED 请读取 failure。STOPPED 表示分派前停止。charge_usd 与状态分别检查。
QUEUED, RUNNING, COMPLETED, FAILED, STOPPED Run 失败原因,仅在 status 为 FAILED 时非 null。
Show child attributes
Show child attributes
各操作的规范化字段。原生输出保留在 Run 中,可通过 GET /v1/runs/:id 读取。未报告的值为 null;有效空结果保留操作结构,各字段为 null 或 items 为 [],result_status 为 no_result。金额为美元。员工数和营收为响应方自身估算,*_range_min / *_range_max 为其区间边界。自有模型分数带数据提供商名称,如 exa_similarity_score,其他家为 null。industry、categories、round、category 保留响应方词汇。
- search: total_matches, items[]: domain 及公司资料字段;未报告的字段为 null
- lookup: total_matches, items[]: domain 及公司资料字段;名称有歧义时返回候选
- enrich: name, website, description, industry, employees, employee_range_min, employee_range_max, founded_year, city, region, country, country_code, linkedin_url, phone, total_funding_usd, revenue_usd, revenue_range_min_usd, revenue_range_max_usd, ownership, ticker, latest_funding_date
- tech_stack: items[]: name, categories[], detection_source, predictleads_confidence, first_detected_date, last_detected_date
- traffic: monthly_visits, organic_traffic, paid_traffic, organic_keywords, paid_keywords, organic_traffic_value_usd, similarweb_global_rank, bounce_rate, pages_per_visit, avg_visit_duration_seconds
- competitors: items[]: domain, name, page_title, position, predictleads_similarity_score, exa_similarity_score, reason
- funding: total_funding_usd, items[]: round_date, round, amount_usd, investors[], source_url
- news: items[]: title, url, source, published_at, event_date, date_text, category, snippet
- jobs: items[]: title, url, location, seniority, categories[], contract_types[], salary_min_usd, salary_max_usd, salary_period, posted_at, first_seen_at, last_seen_at
- ads: total_ads, items[]: creative_id, advertiser_id, advertiser_name, format, ad_url, image_url, first_shown_at, last_shown_at
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
Show child attributes
Show child attributes
仅在 status 为 COMPLETED 时非 null。
- 2xx 响应:output 为任意结构的数据提供商原生 JSON;正文为空时为 null。
- 非 2xx 响应:error 包含数据提供商错误正文,output 为 null。
两种正文均会移除敏感字段。
Show child attributes
Show child attributes
此 Solution 响应所含 runs 的总费用,全部 Run 结算前为 null。每个 Run 保留各自费用;失败也可能收费。
^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$单个 Run 的计费依据;多个 Run 汇总时为 null。各项费用请查看 runs[].charge_basis。
Show child attributes
Show child attributes
当前是否可接受停止请求。不保证能在分派前停止 Run。
请求停止的时间。如果已开始分派,Run 仍可能继续。
ISO 8601 UTC 时间戳。
ISO 8601 UTC 时间戳。
ISO 8601 UTC 时间戳。
已保存的追踪字段,可用于筛选 Run,不发送给数据提供商,不影响路由、价格或幂等。
- 最多 20 个键:小写字母、数字和下划线,以字母开头,最长 40 个字符。
- 值:长度为 1–500 的字符串。
- user_id:终端用户的不透明 ID,不得使用邮箱或姓名。
Show child attributes
Show child attributes
search, lookup, enrich, tech_stack, traffic, competitors, funding, news, jobs, ads 业务交付状态,与 status 中的最终 Run 生命周期独立。no_result 为有效空结果;error 表示数据提供商输出无法交付。
success, no_result, error, pending Show child attributes
Show child attributes
Show child attributes
Show child attributes
通过认证读取规范化结果和总费用的只读 URL 路径,配合 API 服务地址使用。不创建 Run,也不恢复切换。GET /v1/runs/:id 仍返回原生单个 Run。