Brands

Create brands from URLs and extract structured data with AI.

List Brands

GET /v1/brands
X-API-Key: dist_YOUR_KEY

Returns all brands in your organization.

{
  "brands": [
    {
      "id": "brand_abc123",
      "domain": "acme.com",
      "name": "Acme Inc",
      "brandUrl": "https://acme.com",
      "logoUrl": "https://...",
      "elevatorPitch": "Enterprise analytics for startups",
      "createdAt": "2026-04-01T00:00:00Z"
    }
  ]
}

Get Brand

GET /v1/brands/:brandId
X-API-Key: dist_YOUR_KEY

Returns detailed brand info including bio, mission, location, and categories.

Create Brand

POST /v1/brands
Content-Type: application/json
X-API-Key: dist_YOUR_KEY

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

Creates a new brand by scraping and analyzing the provided URL. If a brand already exists for this domain, returns the existing brand.

{
  "brandId": "brand_abc123",
  "domain": "acme.com",
  "name": "Acme Inc",
  "created": true
}

Extract Fields

POST /v1/brands/extract-fields
Content-Type: application/json
X-API-Key: dist_YOUR_KEY

{
  "brandIds": ["brand_abc123"],
  "fields": [
    { "key": "industry", "description": "The brand's primary industry" },
    { "key": "target_audience", "description": "Who their product is for" }
  ]
}

Extracts structured data from brands using AI. Results are cached for 30 days — repeated calls with the same fields are near-instant.

List Extracted Fields

GET /v1/brands/:brandId/extracted-fields
X-API-Key: dist_YOUR_KEY

Returns all previously extracted fields for a brand with their cached values.

TypeScript Client

const { brands } = await client.listBrands();
const { brand } = await client.getBrand("brand_abc123");
const result = await client.createBrand("https://acme.com");
const fields = await client.extractBrandFields(
  ["brand_abc123"],
  [{ key: "industry", description: "Primary industry" }]
);