curl --request POST \
--url https://api.pubrio.com/expansions/companies/compare \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"companies": [
"stripe.com",
"https://www.linkedin.com/company/airbnb",
"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70"
],
"domains": [
"pubrio.com"
],
"linkedin_urls": [
"https://www.linkedin.com/company/pubrio"
],
"transitioned_dates": [
"2026-04-01",
"2026-06-29"
],
"window_days": 90,
"seed_target": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"is_include_established": false,
"is_include_metadata": true
}
'import requests
url = "https://api.pubrio.com/expansions/companies/compare"
payload = {
"companies": ["stripe.com", "https://www.linkedin.com/company/airbnb", "b7d92a56-31f8-4c0b-ae43-19c8e5f24b70"],
"domains": ["pubrio.com"],
"linkedin_urls": ["https://www.linkedin.com/company/pubrio"],
"transitioned_dates": ["2026-04-01", "2026-06-29"],
"window_days": 90,
"seed_target": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"is_include_established": False,
"is_include_metadata": True
}
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({
companies: [
'stripe.com',
'https://www.linkedin.com/company/airbnb',
'b7d92a56-31f8-4c0b-ae43-19c8e5f24b70'
],
domains: ['pubrio.com'],
linkedin_urls: ['https://www.linkedin.com/company/pubrio'],
transitioned_dates: ['2026-04-01', '2026-06-29'],
window_days: 90,
seed_target: '8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c',
is_include_established: false,
is_include_metadata: true
})
};
fetch('https://api.pubrio.com/expansions/companies/compare', 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/compare",
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([
'companies' => [
'stripe.com',
'https://www.linkedin.com/company/airbnb',
'b7d92a56-31f8-4c0b-ae43-19c8e5f24b70'
],
'domains' => [
'pubrio.com'
],
'linkedin_urls' => [
'https://www.linkedin.com/company/pubrio'
],
'transitioned_dates' => [
'2026-04-01',
'2026-06-29'
],
'window_days' => 90,
'seed_target' => '8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c',
'is_include_established' => false,
'is_include_metadata' => true
]),
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/compare"
payload := strings.NewReader("{\n \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\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/compare")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/expansions/companies/compare")
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 \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"seeded_peers": [
"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c"
]
},
"data": {
"companies": [
{
"domain_search_id": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"home_country_code": "SG",
"firmographics": {
"company_name": "Example Corp",
"country_code": "SG",
"company_size": 350,
"founded_year": 2015,
"industry": "Software Development",
"publicly_traded_symbol": null,
"estimated_revenue": 25000000
},
"markets_summary": [
{
"country_code": "US",
"stage_slug": "committing",
"signal_count": 12,
"distinct_type_count": 4,
"first_signal_at": "2026-04-02T08:00:00.000Z",
"latest_signal_at": "2026-06-28T10:15:22.000Z",
"last_transition_at": "2026-06-25T14:30:00.000Z",
"expansion_score": 0.685,
"signals": [
{
"signal_type_slug": "EXEC",
"signal_subtype_slug": "country_manager",
"event_date": "2026-06-20T14:00:00.000Z",
"display_label": "Hired Regional VP for North America"
}
]
}
]
}
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Comparar expansiones de empresas
Compara la huella de expansión de varias empresas en paralelo, con pares comparables opcionales para una empresa objetivo.
curl --request POST \
--url https://api.pubrio.com/expansions/companies/compare \
--header 'Content-Type: application/json' \
--header 'pubrio-api-key: <api-key>' \
--data '
{
"companies": [
"stripe.com",
"https://www.linkedin.com/company/airbnb",
"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70"
],
"domains": [
"pubrio.com"
],
"linkedin_urls": [
"https://www.linkedin.com/company/pubrio"
],
"transitioned_dates": [
"2026-04-01",
"2026-06-29"
],
"window_days": 90,
"seed_target": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"is_include_established": false,
"is_include_metadata": true
}
'import requests
url = "https://api.pubrio.com/expansions/companies/compare"
payload = {
"companies": ["stripe.com", "https://www.linkedin.com/company/airbnb", "b7d92a56-31f8-4c0b-ae43-19c8e5f24b70"],
"domains": ["pubrio.com"],
"linkedin_urls": ["https://www.linkedin.com/company/pubrio"],
"transitioned_dates": ["2026-04-01", "2026-06-29"],
"window_days": 90,
"seed_target": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"is_include_established": False,
"is_include_metadata": True
}
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({
companies: [
'stripe.com',
'https://www.linkedin.com/company/airbnb',
'b7d92a56-31f8-4c0b-ae43-19c8e5f24b70'
],
domains: ['pubrio.com'],
linkedin_urls: ['https://www.linkedin.com/company/pubrio'],
transitioned_dates: ['2026-04-01', '2026-06-29'],
window_days: 90,
seed_target: '8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c',
is_include_established: false,
is_include_metadata: true
})
};
fetch('https://api.pubrio.com/expansions/companies/compare', 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/compare",
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([
'companies' => [
'stripe.com',
'https://www.linkedin.com/company/airbnb',
'b7d92a56-31f8-4c0b-ae43-19c8e5f24b70'
],
'domains' => [
'pubrio.com'
],
'linkedin_urls' => [
'https://www.linkedin.com/company/pubrio'
],
'transitioned_dates' => [
'2026-04-01',
'2026-06-29'
],
'window_days' => 90,
'seed_target' => '8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c',
'is_include_established' => false,
'is_include_metadata' => true
]),
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/compare"
payload := strings.NewReader("{\n \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\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/compare")
.header("pubrio-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/expansions/companies/compare")
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 \"companies\": [\n \"stripe.com\",\n \"https://www.linkedin.com/company/airbnb\",\n \"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70\"\n ],\n \"domains\": [\n \"pubrio.com\"\n ],\n \"linkedin_urls\": [\n \"https://www.linkedin.com/company/pubrio\"\n ],\n \"transitioned_dates\": [\n \"2026-04-01\",\n \"2026-06-29\"\n ],\n \"window_days\": 90,\n \"seed_target\": \"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c\",\n \"is_include_established\": false,\n \"is_include_metadata\": true\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"seeded_peers": [
"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c"
]
},
"data": {
"companies": [
{
"domain_search_id": "8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c",
"home_country_code": "SG",
"firmographics": {
"company_name": "Example Corp",
"country_code": "SG",
"company_size": 350,
"founded_year": 2015,
"industry": "Software Development",
"publicly_traded_symbol": null,
"estimated_revenue": 25000000
},
"markets_summary": [
{
"country_code": "US",
"stage_slug": "committing",
"signal_count": 12,
"distinct_type_count": 4,
"first_signal_at": "2026-04-02T08:00:00.000Z",
"latest_signal_at": "2026-06-28T10:15:22.000Z",
"last_transition_at": "2026-06-25T14:30:00.000Z",
"expansion_score": 0.685,
"signals": [
{
"signal_type_slug": "EXEC",
"signal_subtype_slug": "country_manager",
"event_date": "2026-06-20T14:00:00.000Z",
"display_label": "Hired Regional VP for North America"
}
]
}
]
}
]
}
}{
"code": 40001,
"message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
"details": {}
}{
"error": "Request rate limit exceeded. Please wait and try again later."
}{
"error": "An unexpected error occurred on the server."
}Autorizaciones
Un token de API único que representa las acciones que realizas a través de la API, junto con los permisos y operaciones correspondientes. Puedes crearlo en la sección Configuración.
Cuerpo
Limita el alcance a empresas específicas mediante cualquier combinación de domain_search_id, dominio de la empresa o URL de perfil de red social de la empresa. Los dominios y las URL se resuelven a la empresa mejor clasificada.
[
"stripe.com",
"https://www.linkedin.com/company/airbnb",
"b7d92a56-31f8-4c0b-ae43-19c8e5f24b70"
]
Lista de dominios de empresa utilizada para operaciones de búsqueda de empresas y personas. Si recibimos una URL como www.pubrio.com o https://docs.pubrio.com/, el sistema la convertirá a pubrio.com para su procesamiento.
["pubrio.com"]
La URL completa del perfil de LinkedIn de la empresa. La URL debe empezar por http y contener linkedin.com/company/
["https://www.linkedin.com/company/pubrio"]
Rango de fechas ISO [from, to] para la ventana de señales/transiciones. Tiene prioridad sobre window_days cuando se proporcionan ambos.
["2026-04-01", "2026-06-29"]
Opcional. Tamaño de la ventana móvil en días. Se usa cuando no se proporciona un rango explícito de transitioned_dates; si se omiten ambos, se usa una ventana predeterminada.
90
La empresa dentro de companies que se debe tratar como referencia. El resto se clasifica por volumen de señales y confianza, y los principales pares se devuelven en metadata.seeded_peers. Selecciona de la lista que envías; no busca empresas nuevas.
"8f3c1b04-2e7a-4d19-9c55-6ab21f0e7d3c"
Incluye la etapa established (operadores consolidados sin señales de expansión activas). Por defecto es false.
false
Devuelve la carga útil de detalle completa. El tráfico con clave de API es ligero por defecto: el bloque model, las cifras de confianza (stage.confidence en el detalle de expansión de empresa, confidence_score en other_markets[] y en markers[] de Rankings) y los campos established_min / share_of_detected / has_known_office se omiten a menos que esto sea true.
true

