BrandparserInvite Only

Getting Started

Quick start guide for the Brandparser API

This guide walks you through making your first API call to analyze a brand.

Prerequisites

  1. A Brandparser account
  2. An API key from your workspace settings

Step 1: Get Your API Key

  1. Log in to your Brandparser dashboard
  2. Navigate to Settings > API Keys
  3. Click Create API Key
  4. Choose an environment (staging for testing, production for live use)
  5. Copy your key - it won't be shown again

Your key will look like: bp_prod_xxxxxxxxxxxxxxxxxxxx

Step 2: Submit a URL for Analysis

Use the /v1/api/parse endpoint to submit a website for brand analysis:

curl -X POST https://api.brandparser.com/v1/api/parse \
  -H "Authorization: Bearer bp_prod_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://stripe.com"}'

Response:

{
  "data": {
    "brand_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "queued",
    "source_url": "https://stripe.com",
    "message": "Analysis started. Poll GET /v1/api/brands/:brandId for results."
  }
}

Step 3: Check Analysis Status

Poll the brand endpoint to check if analysis is complete:

curl https://api.brandparser.com/v1/api/brands/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer bp_prod_your_api_key"

Response while processing:

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "stripe.com",
    "source_url": "https://stripe.com",
    "analysis_status": "running",
    "analysis_started_at": "2024-01-15T10:30:00Z",
    "analysis": null
  }
}

Step 4: Retrieve Results

Once analysis_status is "completed", the full analysis is available:

{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Stripe",
    "source_url": "https://stripe.com",
    "analysis_status": "completed",
    "analysis_started_at": "2024-01-15T10:30:00Z",
    "analysis_completed_at": "2024-01-15T10:32:45Z",
    "analysis": {
      "colors": {
        "primary": "#635BFF",
        "palette": [...]
      },
      "typography": {
        "headings": {...},
        "body": {...}
      },
      "logos": [...],
      "mission": {...},
      "tone": {...}
    }
  }
}

Complete Example (Node.js)

const API_KEY = "bp_prod_your_api_key";
const BASE_URL = "https://api.brandparser.com";

async function analyzeBrand(url) {
  // Submit URL for analysis
  const parseRes = await fetch(`${BASE_URL}/v1/api/parse`, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ url }),
  });

  const { data } = await parseRes.json();
  const brandId = data.brand_id;

  // Poll until complete
  while (true) {
    const brandRes = await fetch(`${BASE_URL}/v1/api/brands/${brandId}`, {
      headers: { Authorization: `Bearer ${API_KEY}` },
    });

    const brand = await brandRes.json();

    if (brand.data.analysis_status === "completed") {
      return brand.data;
    }

    if (brand.data.analysis_status === "failed") {
      throw new Error("Analysis failed");
    }

    // Wait 5 seconds before polling again
    await new Promise((resolve) => setTimeout(resolve, 5000));
  }
}

// Usage
const brand = await analyzeBrand("https://stripe.com");
console.log(brand.analysis);

Next Steps

On this page