Skip to main content

API Quick Start

The Dacard.ai API lets you score products, retrieve results, and manage your account programmatically. This guide walks you through authentication, your first API call, and key concepts.

Authentication

All authenticated endpoints accept a Bearer token in the Authorization header. You can obtain tokens in two ways:
Generate an API key under Settings > API Keys in the platform. API keys are long-lived and suitable for server-to-server integrations.
curl -H "Authorization: Bearer dac_your_api_key_here" \
  https://app.dacard.ai/api/scores
Never expose API keys in client-side code or public repositories. Use environment variables for all credentials.

Score a product

Send a POST request to /api/score with the product URL:
curl -X POST https://app.dacard.ai/api/score \
  -H "Authorization: Bearer dac_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://linear.app",
    "context": "Linear is a project management tool for software teams"
  }'
The response includes the full scoring result:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "url": "https://linear.app",
  "companyName": "Linear",
  "totalScore": 78,
  "stageName": "Leading",
  "dimensions": [
    {
      "dimensionId": "market_intelligence",
      "dimensionName": "Market Intelligence",
      "score": 4,
      "stageName": "Compounding",
      "evidence": "...",
      "confidence": "high",
      "reasoning": "..."
    }
  ],
  "strengths": ["delivery_velocity", "experience_design", "architecture_systems"],
  "gaps": ["cost_token_economics", "data_strategy_flywheel", "pricing_packaging"],
  "createdAt": "2026-04-07T12:00:00.000Z"
}
The optional context field helps the scoring engine understand the product better, especially for products with minimal public-facing content. Include a brief description of what the product does and who it serves.

Retrieve results

Scoring results are accessible by ID. This endpoint is public (no auth required), supporting shareable result URLs.
curl https://app.dacard.ai/api/score/550e8400-e29b-41d4-a716-446655440000
To list your score history:
curl -H "Authorization: Bearer dac_your_api_key_here" \
  https://app.dacard.ai/api/scores

F3 AI Product Assessment

Score a product using the F3 framework (AI-nativeness assessment):
curl -X POST https://app.dacard.ai/api/score/product \
  -H "Authorization: Bearer dac_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://linear.app",
    "context": "Linear is a project management tool with AI features"
  }'

Lifecycle assessment

Retrieve lifecycle stage definitions (public, no auth):
curl https://app.dacard.ai/api/lifecycle/stages
Submit a lifecycle self-assessment:
curl -X POST https://app.dacard.ai/api/lifecycle/assessment \
  -H "Authorization: Bearer dac_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "productId": "550e8400-e29b-41d4-a716-446655440000",
    "answers": {
      "task_define_problem": "completed",
      "task_user_research": "in_progress",
      "task_competitive_analysis": "not_started"
    }
  }'

Rate limits and credits

ResourceLimit
URL score10 credits per score
Chat message1 credit per message
API call0.1 credits per call
Rate limitPlan-dependent (see Settings > Usage)
Credits reset monthly. Monitor your usage with the usage endpoint:
curl -H "Authorization: Bearer dac_your_api_key_here" \
  https://app.dacard.ai/api/usage

Error codes

CodeStatusDescription
AUTH_REQUIRED401Missing or invalid authentication
FORBIDDEN403Insufficient permissions
NOT_FOUND404Resource not found
INVALID_URL400URL is malformed or unreachable
CRAWL_FAILED400Failed to crawl the target URL
QUOTA_EXCEEDED429Monthly credit limit reached
ANON_RATE_LIMIT429Anonymous rate limit (1 per IP per hour)

Health check

Verify the platform is operational:
curl https://app.dacard.ai/api/health
Returns component-level status for database, auth, billing, scoring, and environment checks.

Next steps

Full API Reference

Complete endpoint documentation with request/response schemas.

SDKs

Client libraries for TypeScript and other languages.