
SaaS Pricing & Competitor Battlecard Spy
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
| Field | Type | Required | Description |
|---|---|---|---|
ourProductDescription | string; length 20..4000 | yes | |
competitorUrls | array<string; length 3..2048>; max 3 items | yes | Competitor homepage or pricing URLs. A same-site pricing page is discovered automatically. |
scenario | object | no | Optional 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.
| Field | Type | Required | Description |
|---|---|---|---|
our_positioning | string | yes | |
competitors | array<object> | yes | |
talk_track | string | yes | A 3-5 sentence opener for a live deal against these competitors. |
evidence_gaps | array<string> | yes | What could not be verified from the scraped pages. |
pricing_comparison | string | yes | Computed in code from prices verified on the scraped pages; the model does not write it. |
pricing_scenario | object | yes | Monthly 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. |
status | string; one of "complete", "partial" | yes | partial when a fetch or model step failed; missing lists what. |
headline | string | yes | One-paragraph verdict: competitors analyzed, pricing published, verified-tier count, lowest verified cost at the scenario. |
confidence | string; one of "high", "medium", "low" | yes | high only when every priced tier was verified against the page and nothing is missing. |
next_steps | array<string> | yes | |
missing | array<string> | yes | Sections that could not be produced (failed fetches or model steps); empty when status is complete. |
elapsedMs | integer | yes | |
priceVerification | array<object> | yes | Per model-written tier: verified | unverified | no_amount against the scraped text. |
pricingEvidence | array<object> | yes | Per competitor: whether any price or structured offer was found (pricingPublished). |
pagesScraped | array<string> | yes | |
fetchFailures | array<object> | yes | |
generatedAt | string | yes |
Pay and connect
Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent