- Exa
/contents- Fetches the actual website content with live crawling - Exa
/answer- Analyzes the content to extract structured company information
How It Works
The two-step approach ensures accurate data extraction:- First, we fetch the website content using Exaβs
/contentsendpoint withlivecrawl: "fallback"to get fresh data - Then, we pass that content to Exaβs
/answerendpoint which uses an LLM to extract the company name, description, products, and target market in a structured format
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Competitor website URL |
Example Request
Example Response (Success)
Example Response (Limit Reached)
Example Response (Already Exists)
Response Fields
| Field | Type | Description |
|---|---|---|
status | string | "success" or "error" |
competitor | object | The added competitor (on success) |
error | string | Error message (on failure) |
Competitor Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique competitor ID (UUID) |
name | string | Company name (extracted via Exa /answer) |
url | string | Company website URL |
description | string | Brief description of the company |
favicon_url | string | URL to company favicon (via Googleβs favicon service) |
source | string | Always "user_added" for this endpoint |