API Reference

Complete documentation for the Pondral REST API v1 — Enterprise Edition

POST/api/v1/analyze

Run Analysis

Execute a single analysis on a question to determine brand citation rates across AI engines.

Parameters

NameTypeRequiredDescription
project_idstringYesThe project ID to analyze within
questionstringYesThe search question (max 500 chars)
enginestringNoAI engine: claude, chatgpt, perplexity, or gemini
brandstringNoBrand name (uses project default if omitted)
websitestringNoBrand website URL
industrystringNoIndustry classification
competitorstringNoCompetitor name
comp_websitestringNoCompetitor website URL

Request Body

{
  "project_id": "proj_abc123",
  "question": "What are the best tools for content optimization?",
  "engine": "claude",
  "brand": "Pondral",
  "website": "https://pondral.com"
}

Response

{
  "data": {
    "id": "result_xyz789",
    "run_id": "run_def456",
    "result": {
      "ai_answer": "Several tools are excellent for content optimization...",
      "sources_found": [
        "example.com",
        "blog.example.com"
      ],
      "brand_analysis": {
        "cited": true,
        "mentioned": true,
        "citation_context": "Pondral is known for...",
        "citation_strength": 85,
        "content_found": "Brand page about optimization strategies",
        "recommendation": "Increase content depth around AI citations"
      },
      "competitor_analysis": {
        "cited": true,
        "mentioned": true,
        "citation_context": "Similar solutions include...",
        "citation_strength": 72
      },
      "engine": "claude"
    }
  }
}

Code Examples

curl -X POST https://api.pondral.com/api/v1/analyze \
  -H "Authorization: Bearer sk_live_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "proj_abc123",
    "question": "What are the best tools for content optimization?",
    "engine": "claude"
  }'

Authentication

All requests require authentication via Bearer token in the Authorization header:

Authorization: Bearer sk_live_abc123def456

API keys are created in your account settings. Keep your API keys secure and regenerate them if compromised. Keys are hashed and never stored in plaintext.

Rate Limits by Tier

TierRequests/MinMonthly AnalysesMonitoringReports
Free10100
Starter601000
Growth30010000
Agency100050000
Enterprise5000Unlimited

Rate limit status is returned in response headers as X-RateLimit-Remaining. When limit is reached (status 429), retry after the seconds specified in the Retry-After header.

Error Codes

CodeStatusDescription
INVALID_API_KEY401API key is missing or invalid
INSUFFICIENT_SCOPE403API key does not have required permissions
RATE_LIMIT_EXCEEDED429Rate limit exceeded. Retry after specified seconds.
VALIDATION_ERROR400Invalid request parameters
NOT_FOUND404Resource not found
FORBIDDEN403Access denied to resource
BILLING_LIMIT_EXCEEDED403Monthly analysis quota reached
ENGINE_FAILURE502AI engine temporarily unavailable
DATABASE_ERROR500Database operation failed
INTERNAL_ERROR500Internal server error

Best Practices

Security

  • Rotate API keys regularly
  • Never commit keys to version control
  • Use environment variables for secrets
  • Regenerate compromised keys immediately

Performance

  • Implement exponential backoff for retries
  • Cache results when appropriate
  • Use pagination for large datasets
  • Monitor rate limit headers

Ready to Get Started?

Generate an API key in your account settings and start making requests. Enterprise tier provides 5000 requests/minute and unlimited monthly analyses.