Positioning

Get latest positioning data

Get the latest positioning data for all competitors in a project. Returns homepage messaging, value propositions, CTAs, target audience, and competitive messaging analysis. Fields we could not measure are null, with a sibling availability object giving the reason; never read a null as zero, false or absent, and note that a measured 0 / false / empty list is reported as itself and is a real finding. For the messaging strings the distinction is sharp: a measured EMPTY STRING means we read the page and there is genuinely no call to action, which is a finding; a null means we never read it. A project with no completed run for this dimension yet answers 404 no_data_available — not a missing project and not a failed measurement, just nothing measured here so far; the project itself is fine and get_project still describes it. Distinguish it from project_not_found, which means the id is wrong.

get/v1/projects/{projectId}/positioning

Request

  • Base URL: https://api.competlab.com
  • URL: https://api.competlab.com/v1/projects/{projectId}/positioning
  • Auth: API key in header CL-API-Key

Path parameters

projectIdstring required
Example:507f1f77bcf86cd799439011

Project ID

Response

Example response

{
  "item": {
    "lastUpdatedAt": "2026-03-15T10:00:00.000Z",
    "summary": {
      "competitorsChecked": 6,
      "competitorsSuccessful": 5,
      "customer": {
        "domain": "yoursite.com",
        "messagingStrengthScore": 72,
        "hasSpecificHeadline": true,
        "hasStrongCta": true,
        "hasFreeTrial": true,
        "primaryCta": "Start Free Trial",
        "mainHeadline": "Ship Projects 10x Faster",
        "messagingAnalysisAvailable": {
          "reason": "homepage_fetch_failed"
        }
      },
      "topMessagingCompetitor": {
        "domain": "rival.com",
        "messagingStrengthScore": 88,
        "primaryCta": "Try It Free",
        "mainHeadline": "The Future of Work"
      },
      "ctaComparison": {
        "yourCta": "Start Free Trial",
        "strongestCompetitorCta": "Get Started — It's Free",
        "strongestCompetitorDomain": "rival.com"
      },
      "pricingComparison": {
        "competitorsShowingPrice": 3,
        "competitorsWithFreeTrial": 4,
        "youHaveFreeTrial": true
      },
      "messagingScoreGap": -16
    },
    "competitors": [
      {
        "domain": "competitor.com",
        "homepageUrl": "https://competitor.com",
        "content": {
          "pageTitle": "Acme - The #1 Project Management Tool",
          "pageDescription": "Manage projects, track tasks, and collaborate with your team.",
          "mainHeadline": "Ship Projects 10x Faster",
          "tagline": "The all-in-one platform for modern teams",
          "valueProposition": "Streamline your workflow with AI-powered project management",
          "primaryCTA": "Start Free Trial",
          "secondaryCTA": "Book a Demo",
          "keyOfferings": [
            "Task Management",
            "Time Tracking",
            "Team Collaboration"
          ],
          "targetAudience": "Product teams and agencies",
          "mainDifferentiator": "AI-powered automation that saves 5 hours per week",
          "pricingMentioned": true,
          "startingPrice": "$9/month",
          "hasFreeTrial": true,
          "freeTrialDuration": "14 days"
        }
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.