API Documentation

Use the Similar Companies API to programmatically find competitors and lookalike companies for any domain, powered by multiple AI models.

Enterprise plan required. API access is available on the Enterprise plan ($100/month). Generate an API key from Account Settings → API Keys.

Authentication

All API requests require a Bearer token in the Authorization header.

Authorization: Bearer sk_live_your_api_key_here

Generate API keys from your account settings. Keys are prefixed with sk_live_ and shown only once at creation.

Errors

The API returns standard HTTP status codes. Error responses include an error field.

StatusMeaning
200Success
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
402Insufficient credits
429Rate limit exceeded
500Server error

Search Competitors

POST /api/competitors
Find similar companies and competitors for a domain using one or more AI models.

Request Body

ParameterTypeDescription
domain requiredstringDomain to search (e.g. stripe.com)
models requiredstring[]Array of model IDs to query. See available models.
resultCount optionalnumberResults per model: 10, 25, 50, or 100. Default: 100.

Example Request

curl -X POST https://yourapp.com/api/competitors \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "stripe.com",
    "models": ["spyfu-combined", "claude-sonnet-4-6", "gpt-5.4"],
    "resultCount": 100
  }'

Response

{
  "domain": "stripe.com",
  "totalCompetitors": 221,
  "likelyCompetitors": 221,
  "flaggedAsUnlikely": 0,
  "elapsedSeconds": 12.4,
  "enabledModels": ["spyfu-combined", "claude-sonnet-4-6", "gpt-5.4"],
  "competitors": [
    {
      "domain": "adyen.com",
      "company": "Adyen",
      "competitorScore": 97,
      "competitorType": "Direct",
      "confidenceScore": 98,
      "sourceCount": 3,
      "sources": ["spyfu-combined", "claude-sonnet-4-6", "gpt-5.4"],
      "likelyCompetitor": true,
      "reasons": ["High SEO overlap", "AI consensus: direct competitor"]
    }
  ],
  "perModelData": {
    "adyen.com": {
      "spyfu-combined": { "rank": 1, "confidence": "high" },
      "claude-sonnet-4-6": { "rank": 3, "confidence": "high" },
      "gpt-5.4": { "rank": 2, "confidence": "high" }
    }
  },
  "access": {
    "plan": "enterprise",
    "canDownload": true
  }
}

List Models

GET /api/models
Returns all available AI models with their credit costs and metadata.
curl https://yourapp.com/api/models \
  -H "Authorization: Bearer sk_live_..."

Search History

GET /api/history
Returns your recent searches.
ParameterTypeDescription
limit optionalnumberMax results (default 20, max 100)
offset optionalnumberPagination offset

Credits

GET /api/credits/balance
Returns your current credit balance.
GET /api/credits/transactions
Returns your credit transaction history.

Available Models

Model IDProviderCost (credits)
spyfu-combinedSpyFu4
spyfu-seoSpyFu4
spyfu-ppcSpyFu4
claude-opus-4-6Anthropic52
claude-sonnet-4-6Anthropic14
claude-haiku-4-5-20250918Anthropic3
gpt-5.4OpenAI17
gpt-5.4-miniOpenAI5
grok-4.20-0309-non-reasoningxAI6
gemini-2.5-proGoogle9
gemini-2.5-flashGoogle4
sonar-proPerplexity12
sonarPerplexity5

Rate Limits

The API is rate limited per API key:

LimitWindow
60 requestsPer minute
1,000 requestsPer day

Rate limit headers are returned with each response: X-RateLimit-Remaining, X-RateLimit-Reset.