Identity, redaction and leads logo

SaaS Pricing & Competitor Battlecard Spy

$1.50 USDC per call · Business, finance and compliance · POST /api/v1/competitor-battlecard · Id competitor-battlecard

Reads up to 3 competitor sites (homepage and pricing page, fetched in parallel) and returns a deal battlecard in under a minute: a verdict headline with confidence, pricing tiers whose amounts are checked against the page text, a scenario cost comparison computed in code, hidden fees and limits, landmine questions, objection handling, wedge features and a talk track. If a site or model step fails you get a signed partial result that names what is missing. Pricing is only as current as the public pages; unverified prices are flagged.

What you get

A live battlecard before a competitive deal replaces hours of analyst research and arms reps with questions that expose the rival's limits.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/competitor-battlecard. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/competitor-battlecard \
  -H 'content-type: application/json' \
  -d '{"ourProductDescription":"Acme Support is an AI-first help desk with usage-based pricing ($0.40 per resolved ticket), SSO on every plan, and native Slack and Shopify integrations.","competitorUrls":["https://www.zendesk.com","https://www.intercom.com","https://www.freshworks.com/freshdesk/"]}'

Input

FieldTypeRequiredDescription
ourProductDescriptionstring; length 20..4000yes
competitorUrlsarray<string; length 3..2048>; max 3 itemsyesCompetitor homepage or pricing URLs. A same-site pricing page is discovered automatically.
scenarioobjectnoOptional deal size used to compute monthly and annual cost per verified tier: seats for per-seat prices, monthlyVolume for usage prices.

Example request body

{
  "ourProductDescription": "Acme Support is an AI-first help desk with usage-based pricing ($0.40 per resolved ticket), SSO on every plan, and native Slack and Shopify integrations.",
  "competitorUrls": [
    "https://www.zendesk.com",
    "https://www.intercom.com",
    "https://www.freshworks.com/freshdesk/"
  ]
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
our_positioningstringyes
competitorsarray<object>yes
talk_trackstringyesA 3-5 sentence opener for a live deal against these competitors.
evidence_gapsarray<string>yesWhat could not be verified from the scraped pages.
pricing_comparisonstringyesComputed in code from prices verified on the scraped pages; the model does not write it.
pricing_scenarioobjectyesMonthly and annual cost per verified tier at the scenario. assumed is true when no scenario was given and 10 seats / 1,000 monthly units were used.
statusstring; one of "complete", "partial"yespartial when a fetch or model step failed; missing lists what.
headlinestringyesOne-paragraph verdict: competitors analyzed, pricing published, verified-tier count, lowest verified cost at the scenario.
confidencestring; one of "high", "medium", "low"yeshigh only when every priced tier was verified against the page and nothing is missing.
next_stepsarray<string>yes
missingarray<string>yesSections that could not be produced (failed fetches or model steps); empty when status is complete.
elapsedMsintegeryes
priceVerificationarray<object>yesPer model-written tier: verified | unverified | no_amount against the scraped text.
pricingEvidencearray<object>yesPer competitor: whether any price or structured offer was found (pricingPublished).
pagesScrapedarray<string>yes
fetchFailuresarray<object>yes
generatedAtstringyes

Pay and connect

Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.

Machine-readable