API Reference
Complete API documentation for the Brandparser public API
The Brandparser API allows you to programmatically analyze brands and extract their visual identity, messaging, and guidelines.
Base URL
https://api.brandparser.comAuthentication
All API requests require authentication using an API key. Include your API key in the Authorization header:
Authorization: Bearer bp_prod_your_api_key_hereAPI keys are scoped to a workspace and environment:
- Production keys (
bp_prod_prefix): For production use - Staging keys (
bp_stag_prefix): For testing
Get your API keys from the API Keys page in your dashboard.
Quick Start
Parse a brand in just a few lines of code:
# Submit a URL for 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://example.com"}'Response:
{
"data": {
"brand_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"source_url": "https://example.com",
"message": "Analysis started. Poll GET /v1/api/brands/:brandId for results."
}
}Endpoints
Parsing
- POST /v1/api/parse - Submit a URL for brand analysis
Brands
- GET /v1/api/brands - List all brands in your workspace
- GET /v1/api/brands/:brandId - Get a specific brand and its analysis results
Rate Limits
Rate limits are enforced per workspace using a fixed-window algorithm. When a limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating when you can retry.
| Endpoint | Limit | Window |
|---|---|---|
POST /v1/api/parse (brand analysis) | 10 requests | 1 hour |
POST API key creation | 10 requests | 1 hour |
| Webhook mutations (create, update, delete) | 20 requests | 1 hour |
Read endpoints (GET) are not rate limited. Usage is tracked for billing purposes.
Errors
The API uses standard HTTP status codes:
| Status | Description |
|---|---|
200 | Success |
202 | Accepted (async processing started) |
400 | Bad Request - Invalid parameters |
401 | Unauthenticated - Invalid or missing API key |
404 | Not Found - Resource doesn't exist |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |
Error responses include a JSON body:
{
"error": "Not Found",
"message": "Brand not found"
}