Get pricing data for a specific run
Get full pricing intelligence data for a specific historical monitoring run, including per-competitor pricing plans, billing options, free tiers, and enterprise pricing. Competitors the run could not measure appear with a pricingDataAvailable reason instead of being omitted. Fields we could not measure are null; never read a null as zero, false or absent, and note that a measured 0 / false is reported as itself and is a real finding. A run that finished but produced no summary answers 404 run_not_summarized, which is a different fact from run_not_found: the run exists, it just has nothing to report. It used to answer 200 with an all-zero summary invented from the missing one.
Request
- Base URL: https://api.competlab.com
- URL: https://api.competlab.com/v1/projects/{projectId}/pricing/history/{runId}
- Auth: API key in header CL-API-Key
Path parameters
Run ID
Project ID
Response
Example response
{
"item": {
"runId": "507f1f77bcf86cd799439011",
"completedAt": "2026-03-15T10:00:00.000Z",
"summary": {
"competitorsChecked": 6,
"competitorsSuccessful": 5,
"customer": {
"domain": "yoursite.com",
"popularPlanPrice": 49,
"popularPlanCurrency": "USD",
"popularPlanUnit": "flat",
"popularPlanName": "Professional",
"pricingModel": "per-seat",
"hasFreeTrial": true,
"freeTrialDuration": "14 days",
"hasEnterprisePricing": true,
"tierCount": 3,
"pricingAnalysisAvailable": {
"reason": "pricing_fetch_failed"
}
},
"marketAvgPrice": 59,
"marketCurrency": "USD",
"marketPricingUnit": "flat",
"pricePositionPercent": 45,
"topPriceCompetitor": {
"domain": "rival.com",
"price": 99,
"planName": "Enterprise"
},
"lowestPriceCompetitor": {
"domain": "rival.com",
"price": 99,
"planName": "Enterprise"
},
"pricingSampleSize": 4,
"pricingIsReliable": true,
"competitorsWithFreePlan": 2,
"competitorsWithFreeTrial": 4,
"competitorsWithEnterprise": 3,
"activePromotionCount": 1,
"hasPriceGap": true,
"hasPromotionAlert": true
},
"competitors": [
{
"domain": "competitor.com",
"pricingUrl": "https://competitor.com/pricing",
"pricingLocationType": "crawled",
"content": {
"pageTitle": "Acme Pricing - Plans for Every Team",
"pageDescription": "Choose from flexible pricing plans starting at $9/month.",
"mainHeadline": "Simple, Transparent Pricing",
"pricingModel": "per-seat",
"plans": [
{
"name": "Professional",
"price": "$49/month",
"summary": "Best for growing teams with advanced features"
}
],
"popularPlanName": "Professional",
"hasFreePlan": true,
"freePlanName": "Starter",
"hasFreeTrial": true,
"freeTrialDuration": "14 days",
"billingCycleOffered": "monthly, annual",
"annualDiscountAmount": "20%",
"moneyBackGuarantee": "30-day money-back guarantee",
"hasEnterpriseCustomPricing": true,
"enterprisePlanCTA": "Contact Sales",
"pricingPageFeatures": "Unlimited projects, Priority support, SSO"
},
"pricingDataAvailable": {
"reason": "no_page_found"
}
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.