Skip to main content

Purpose

Adds a competitor to analyze in the Explore tab. Scrapes the competitor website using Exa API and stores the data.

Architecture

Request Body

{
  "url": "https://competitor.com"
}

Limits

  • Users can add up to 2 competitors manually
  • Auto-discovered competitors don’t count toward this limit
  • Duplicate URLs are rejected

Response Format

{
  "status": "success",
  "competitor": {
    "id": "uuid-...",
    "name": "Competitor Name",
    "url": "https://competitor.com",
    "description": "What they do...",
    "favicon_url": "https://...",
    "source": "user_added"
  }
}

Internal Services

ServicePurpose
scrape_competitor_with_exaScrapes and extracts competitor info

Code Location

src/app/apis/explore/add_competitor/
β”œβ”€β”€ routes.py
└── exa_scraper.py