SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
seo

Add a competitor to compare against.

Adding one does not read their site. Call the crawl endpoint afterwards, then read the gaps back from `GET /sites/{site_id}/competitors`. Their robots.txt is respected and a site that asks not to be read is refused.

POSThttps://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.

Body Params

domainstring

Their domain, with or without the scheme.

labelstring | null

What you call them.

crawl_budgetinteger | null

How many of their pages to read at most, 1 to 2000.

Response

Response Body

idstringThe competitor id.
domainstringTheir domain.
labelstring | nullWhat you call them.
statusstringactive, paused or removed.
crawl_budgetintegerHow many of their pages will be read at most.
robots_allowsboolean | nullWhether their robots.txt lets us read the site. Null until first read.
pages_crawledintegerPages read last time.
last_crawled_atstring | nullWhen they were last read.
last_errorstring | nullWhy the last read did not finish, when it did not.

Request

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

Credentials

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

Response · 200

{
"data": {
"id": "string",
"domain": "string",
"label": "string",
"status": "string",
"crawl_budget": 0,
"robots_allows": true,
"pages_crawled": 0,
"last_crawled_at": "string",
"last_error": "string"
}
}