Skip to main content
POST
Analyze Competitor Endpoint

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

brand_id
string<uuid>
required
comp_id
string<uuid>
required

Response

Successful Response

A competitor entry merged from SEO discoveries and brand-kit names.

Brand-kit-sourced entries lack id, website_url, description, notes, and timestamps — they're synthesized from a string in BrandKit.competitors. The frontend should branch on source to decide which actions to expose (star/edit/delete only work on entries with an id).

source defaults to "seo_discovery" so this schema can also be returned directly from add/update routes that operate on the brand_competitors table — those endpoints always produce SEO rows.

brand_id
string<uuid>
required
name
string
required
id
string<uuid> | null
advertiser_id
string<uuid> | null
website_url
string | null
homepage_url
string | null
website_header_image_url
string | null
description
string | null
notes
string | null
industry
string | null
brand_classification
BrandClassification · object | null

A versioned multi-label brand classification.

Industries describe what the brand sells or does. Business models describe how it operates independently of industry. Keeping those dimensions separate prevents the historical E-Commerce pseudo-industry from replacing the brand's real product industry.

country
string | null
content_url
string | null
youtube_channel_url
string | null
is_starred
boolean
default:false
analysis_data
Analysis Data · object
brand_intelligence_advertiser_id
string<uuid> | null
active_paid_media_platforms
string[]
created_at
string<date-time> | null
updated_at
string<date-time> | null
source
enum<string>
default:seo_discovery
Available options:
seo_discovery,
brand_kit