curl --request GET \
--url https://api.openpulse.cloud/v1/accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.openpulse.cloud/v1/accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.openpulse.cloud/v1/accounts', 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.openpulse.cloud/v1/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openpulse.cloud/v1/accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openpulse.cloud/v1/accounts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openpulse.cloud/v1/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "<string>",
"orgId": "<string>",
"accountKey": "<string>",
"aliasKeys": [
"<string>"
],
"name": "<string>",
"signalCount": 123,
"signalCount30d": 123,
"topScore": 50,
"topClassification": "high_intent",
"themes": [
"<string>"
],
"sources": [
"x"
],
"listenerIds": [
"<string>"
],
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2023-11-07T05:31:56Z",
"lastRolledUpAt": "2023-11-07T05:31:56Z",
"domain": "<string>",
"website": "<string>",
"rivalKey": "<string>",
"placeKeys": [
"<string>"
],
"region": {
"label": "<string>",
"confidence": "exact"
},
"ownerUserId": "<string>"
}
],
"nextCursor": "<string>"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}{
"message": "<string>",
"code": "plan_required",
"plan": "op_go"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}List accounts
Companies Open Pulse has found signals about, cursor-paginated. One row per company rather than per post, which is usually the shape a sales question wants.
Requires a plan that includes account intelligence; a workspace without it gets a 403 naming the plan rather than an empty list.
curl --request GET \
--url https://api.openpulse.cloud/v1/accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.openpulse.cloud/v1/accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.openpulse.cloud/v1/accounts', 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.openpulse.cloud/v1/accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.openpulse.cloud/v1/accounts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openpulse.cloud/v1/accounts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openpulse.cloud/v1/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "<string>",
"orgId": "<string>",
"accountKey": "<string>",
"aliasKeys": [
"<string>"
],
"name": "<string>",
"signalCount": 123,
"signalCount30d": 123,
"topScore": 50,
"topClassification": "high_intent",
"themes": [
"<string>"
],
"sources": [
"x"
],
"listenerIds": [
"<string>"
],
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2023-11-07T05:31:56Z",
"lastRolledUpAt": "2023-11-07T05:31:56Z",
"domain": "<string>",
"website": "<string>",
"rivalKey": "<string>",
"placeKeys": [
"<string>"
],
"region": {
"label": "<string>",
"confidence": "exact"
},
"ownerUserId": "<string>"
}
],
"nextCursor": "<string>"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}{
"message": "<string>",
"code": "plan_required",
"plan": "op_go"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}{
"message": "<string>",
"code": "<string>",
"detail": "<unknown>"
}Authorizations
A workspace API key, created in workspace settings and sent as Authorization: Bearer op_live_…. Session cookies are not accepted. Scopes: signals:read, accounts:read, listeners:read, listeners:analyse, pipeline:read, pipeline:write, collections:write, export:read.
Query Parameters
Page size, 1–200. Defaults to 50. Values outside the range are clamped rather than rejected.
1 <= x <= 200nextCursor from the previous page. An unreadable cursor is ignored and the first page is returned, so check nextCursor for null rather than looping until a page comes back empty.
Only accounts assigned to this member, by Clerk user id.
Only accounts whose region.label is exactly this.
Response
Accounts strongest first, by the best score across each company's signals — the question this answers is "who is worth my morning", and the newest account is rarely the answer.
One page of accounts, newest or strongest first depending on the endpoint.
Was this page helpful?