Skip to main content
GET
The competitor account list in one response: the rows List Competitor Accounts pages through with scope, with the same period, competitor_id, yours, customer_of, in_crm, activity_only, owner, order, types, pitch and open_deal, and no paging. Accounts are ranked by interactions over the period. scope is required: attack for the accounts that are not your customers, defense for your customers that competitors touched (customer means your client list), all for both plus every company that is a customer of a competitor you watch. period is the ranking window, 7d, 30d (the default) or 90d, up to 365d, or all for every account a competitor ever touched. Repeat competitor_id to keep some competitors only. With scope=all, yours (true or false), customer_of (any, or a competitor id), in_crm (true or false), activity_only (true) and owner (an account owner’s email) narrow the list as they do the list endpoint. On every scope, order=standing, types (like, comment) and pitch=true order and narrow it as on the list.

JSON or CSV

By default the response is JSON, each account under accounts as the list returns it. Add format=csv to get a CSV file instead, the one the app’s Export button downloads:
  • UTF-8 with a byte order mark, so Excel reads accented names correctly.
  • Sent as an attachment named clustr-competitor-attack-accounts-<YYYY-MM-DD>.csv, clustr-competitor-defense-accounts-<YYYY-MM-DD>.csv or, for scope=all, clustr-competitor-accounts-<YYYY-MM-DD>.csv (the date in UTC).
  • A cell that starts with =, +, - or @ gets a leading apostrophe, so a spreadsheet never runs it as a formula.
  • A file with no accounts is the header line alone, and X-Export-Rows is 0.
Any other format value is answered with a 400. With period=all the period column is interactions_all_time.

At most 50,000 rows

Every response, JSON or CSV, carries X-Export-Total (accounts that matched), X-Export-Rows (accounts in this response) and X-Export-Truncated (true when more matched than this response holds). In JSON, data.total and data.truncated say the same.

Authorizations

Authorization
string
header
required

The API key you created on the API settings page of the Clustr app.

Query Parameters

account
string

Keeps the rows of this account, by its name. Repeat it for several accounts (a name may hold a comma, so it is never split).

scope
enum<string>
required

attack (accounts that are not your customers), defense (your customers) or all (both, plus the companies your competitors sell to). Your customers are the companies on your client list.

Available options:
attack,
defense,
all
period
string

The ranking window, from 1d to 365d, or all for every account a competitor ever touched. Defaults to 30d.

competitor_id
string

Keeps the accounts touched by this tracked competitor, by its Clustr ID (cmp_…). Repeat the parameter for several competitors. The id from earlier responses also works.

yours
boolean

With scope=all only: true keeps the accounts on your client list, false the others.

customer_of
string

With scope=all only. any keeps the companies that are a customer of a competitor you watch, and a competitor's Clustr ID (cmp_…) keeps that competitor's customers. The competitor id from earlier responses also works.

in_crm
boolean

With scope=all only: true keeps the companies in your CRM, false the others.

activity_only
boolean

With scope=all only: true keeps only the accounts with an interaction in the period, dropping the customer-only entries.

owner
string

With scope=all only: keeps the companies this person owns in your CRM, by their email address.

cs_owner
string

With scope=all only: keeps the companies this person looks after as CS owner, by their email address: the CS owner set in Clustr, or else the one in your CRM.

order
enum<string>

Pass standing to rank your customers first, then the companies in your CRM, then the rest, with the accounts that have a pitch in the period first inside each group, then by interactions. Leave it out for the ranking by interactions.

Available options:
standing
types
string

Which interactions count, like (every kind except comments) or comment. Send a comma-separated list or repeat the parameter. Leave it out to count both.

pitch
boolean

Pass true to count only pitches, the interactions Clustr gave an intent label or flagged critical.

in_market
boolean

Pass true to keep only the accounts in market, as on the list.

intent
enum<string>

Keeps the accounts with buying intent in the period, any or one intent, as on the list.

Available options:
any,
hiring_for,
evaluating,
migrating,
rfp,
budget_or_project
open_deal
boolean

Pass true to keep only the accounts with an open deal in your CRM, as on the list.

format
enum<string>
default:json

json (the default) or csv. CSV is UTF-8 with a byte order mark, served as an attachment named clustr-competitor-<scope>-accounts-<YYYY-MM-DD>.csv (clustr-competitor-accounts-<YYYY-MM-DD>.csv for scope=all); a cell that starts with = + - @ gets a leading apostrophe so a spreadsheet reads it as text. Any other value answers 400.

Available options:
json,
csv

Response

The ranked accounts

The CSV file, when format=csv.