跳转到主要内容
POST
/
expansions
/
companies
/
pulse_events
公司信号事件
curl --request POST \
  --url https://api.pubrio.com/expansions/companies/pulse_events \
  --header 'Content-Type: application/json' \
  --header 'pubrio-api-key: <api-key>' \
  --data '
{
  "domain_search_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "signal_types": [
    "EXEC",
    "HIRE"
  ],
  "country_codes": [
    "JP",
    "SG"
  ],
  "transitioned_dates": [
    "2026-04-01",
    "2026-06-29"
  ],
  "window_days": 90,
  "query": "We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.",
  "is_explain_match": true,
  "domain": "pubrio.com",
  "linkedin_url": "https://www.linkedin.com/company/pubrio",
  "page": 1,
  "per_page": 25,
  "profile_id": 123
}
'
import requests

url = "https://api.pubrio.com/expansions/companies/pulse_events"

payload = {
"domain_search_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"signal_types": ["EXEC", "HIRE"],
"country_codes": ["JP", "SG"],
"transitioned_dates": ["2026-04-01", "2026-06-29"],
"window_days": 90,
"query": "We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.",
"is_explain_match": True,
"domain": "pubrio.com",
"linkedin_url": "https://www.linkedin.com/company/pubrio",
"page": 1,
"per_page": 25,
"profile_id": 123
}
headers = {
"pubrio-api-key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
domain_search_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
signal_types: ['EXEC', 'HIRE'],
country_codes: ['JP', 'SG'],
transitioned_dates: ['2026-04-01', '2026-06-29'],
window_days: 90,
query: 'We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.',
is_explain_match: true,
domain: 'pubrio.com',
linkedin_url: 'https://www.linkedin.com/company/pubrio',
page: 1,
per_page: 25,
profile_id: 123
})
};

fetch('https://api.pubrio.com/expansions/companies/pulse_events', 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.pubrio.com/expansions/companies/pulse_events",
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_search_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'signal_types' => [
'EXEC',
'HIRE'
],
'country_codes' => [
'JP',
'SG'
],
'transitioned_dates' => [
'2026-04-01',
'2026-06-29'
],
'window_days' => 90,
'query' => 'We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.',
'is_explain_match' => true,
'domain' => 'pubrio.com',
'linkedin_url' => 'https://www.linkedin.com/company/pubrio',
'page' => 1,
'per_page' => 25,
'profile_id' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"pubrio-api-key: <api-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.pubrio.com/expansions/companies/pulse_events"

payload := strings.NewReader("{\n \"domain_search_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"signal_types\": [\n \"EXEC\",\n \"HIRE\"\n ],\n \"country_codes\": [\n \"JP\",\n \"SG\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"query\": \"We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.\",\n \"is_explain_match\": true,\n \"domain\": \"pubrio.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pubrio\",\n \"page\": 1,\n \"per_page\": 25,\n \"profile_id\": 123\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("pubrio-api-key", "<api-key>")
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.pubrio.com/expansions/companies/pulse_events")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"domain_search_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"signal_types\": [\n \"EXEC\",\n \"HIRE\"\n ],\n \"country_codes\": [\n \"JP\",\n \"SG\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"query\": \"We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.\",\n \"is_explain_match\": true,\n \"domain\": \"pubrio.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pubrio\",\n \"page\": 1,\n \"per_page\": 25,\n \"profile_id\": 123\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.pubrio.com/expansions/companies/pulse_events")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domain_search_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"signal_types\": [\n \"EXEC\",\n \"HIRE\"\n ],\n \"country_codes\": [\n \"JP\",\n \"SG\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"query\": \"We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity.\",\n \"is_explain_match\": true,\n \"domain\": \"pubrio.com\",\n \"linkedin_url\": \"https://www.linkedin.com/company/pubrio\",\n \"page\": 1,\n \"per_page\": 25,\n \"profile_id\": 123\n}"

response = http.request(request)
puts response.read_body
{
  "metadata": {
    "filters": {
      "domain_search_id": "550e8400-e29b-41d4-a716-446655440002"
    }
  },
  "data": {
    "pagination": {
      "page": 1,
      "per_page": 25,
      "total_entries": 42,
      "total_pages": 2,
      "total_display_pages": 2,
      "is_timeout": false
    },
    "events": [
      {
        "signal_type_slug": "EXEC",
        "stage_slug": "expanding",
        "country_code": "US",
        "signal_subtype_slug": "country_manager",
        "source_type": "linkedin",
        "polarity": "expansion",
        "display_label": "Hired Country Manager",
        "evidence_url": "https://linkedin.com/company/example-corp",
        "event_date": "2026-06-20T14:00:00.000Z"
      }
    ],
    "summary": {
      "text": "Example Corp is hiring across Tokyo[1] and just added a Japan Country Manager[2], yet has no legal entity on file — it is staffing the market before incorporating, which is exactly your window.",
      "citations": [
        {
          "n": 1,
          "type": "HIRE",
          "label": "Tokyo software & field-ops roles",
          "country": "JP",
          "date": "2026-06",
          "url": null
        },
        {
          "n": 2,
          "type": "EXEC",
          "label": "Country Manager, Japan",
          "country": "JP",
          "date": "2026-06",
          "url": "https://linkedin.com/in/example"
        }
      ]
    }
  }
}

授权

pubrio-api-key
string
header
必填

一个唯一的 API 令牌,用于标识您通过 API 执行的操作以及相应的权限和操作。您可以在 设置 部分创建该令牌。

请求体

application/json
domain_search_id
string<uuid>
必填

用于公司检索操作的唯一标识符。

signal_types
enum<string>[]

筛选到特定的信号类型。

可用选项:
AD,
NEWS,
INFRA,
PARTNER,
EVENT_PLUS,
EXEC,
OFFICE,
HIRE,
SCALE,
PRODUCT
示例:
["EXEC", "HIRE"]
country_codes
string[]

可选。将信号流限定到一个或多个海外市场(ISO 3166-1 alpha-2,例如 ["JP","SG"])。未提供时返回所有海外市场(始终排除本土市场)。

示例:
["JP", "SG"]
transitioned_dates
string<date>[]

信号/转换窗口的 ISO [from, to] 日期范围。如果同时提供了 window_days,则此参数优先。

示例:
["2026-04-01", "2026-06-29"]
window_days
integer
默认值:90

可选。事件滚动时间窗口的天数。当本参数与 transitioned_dates 均未提供时,默认使用 90 天(标准展示窗口)。两者同时提供时以 transitioned_dates 为准。

示例:

90

query
string

用纯文本描述你所销售的产品,或你正在评估这家公司是否契合的目标买家画像。仅用于为 AI summary 提供依据(见 is_explain_match);与公司搜索不同,此处不会将其解析为筛选条件。

示例:

"We sell Employer-of-Record and local payroll; best-fit buyers hire in a new market before setting up a legal entity."

is_explain_match
boolean

当为 true 且提供了 query 时,data.summary 会返回一段针对该公司扩张活动、结合你的 query 生成的 AI 摘要,基于公司的真实信号并带有 [n] 引用标注。与公司搜索中逐公司的 match_summary 不同,此摘要基于该公司在时间窗口内的完整信号集(所有市场、全部信号)生成,因此不受 page / per_page 影响,结果保持稳定。

示例:

true

domain
string

用于公司检索操作的公司域名。如果收到的地址为 www.pubrio.comhttps://docs.pubrio.com/,系统会自动转换为 pubrio.com 进行处理。

示例:

"pubrio.com"

linkedin_url
string

LinkedIn 公司主页的完整 URL。URL 需以 http 开头且包含 linkedin.com/company/

示例:

"https://www.linkedin.com/company/pubrio"

page
integer

要检索的数据页码。

示例:

1

per_page
integer

每页应返回的搜索结果数量。限制每页结果数量可提升接口性能。

示例:

25

profile_id
integer

可选。发起请求的团队标识符。由于 API 密钥已包含您的工作区信息,此参数不再是必填项。如果提供,该 ID 有助于将查找与特定团队(工作区)关联,实现数据检索和额度追踪。

更多信息请参见团队标签下的 user details 端点。

响应

200 - application/json

分页的信号事件。 当 is_explain_match 为 true 且提供了 query 时,data.summary 包含一段针对公司完整信号集、结合查询生成的 AI 摘要({ text, citations });否则为 null

metadata
object
data
any