SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
seo

The competitors set up for a website, and the topic gaps between their pages and yours.

Gaps are only produced once a competitor has been read at least once and your own topics exist, so call `POST /sites/{site_id}/competitors/{competitor_id}/crawl` first if `crawled` is false. Topics come from your own Search Console queries, so a gap always sits on a topic you already have demand for.

GEThttps://app.softsolz.uk/api/v1/services/seo/sites/{site_id}/competitors

Recent Requests

Log in to see full request history
TimeStatusUser Agent
Make a request to see history.

Path Params

site_idstringrequired

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Response

Response Body

competitorsarray of objectsSet up for this website.
gapsarray of objectsLargest first.
crawledbooleanWhether any competitor has been read yet.
measurablebooleanFalse when gaps cannot be computed yet. Read reason to find out what is missing.
reasonstring | nullneeds_crawl when your own website has not been crawled, no_topics when your search data has not been clustered yet, null when gaps were computed.
revisioninteger | nullWhich build of your topics the gaps were computed against.
notestringWhat this data is and is not.

Request

import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.seo.listCompetitors('<site_id>');
console.log(result);

Credentials

Sent as a Bearer token. Stored only in your browser.

Response · 200

{
"data": {
"competitors": [],
"gaps": [],
"crawled": true,
"measurable": true,
"reason": "string",
"revision": 0,
"note": "string"
}
}