Quick audience reaction check: sentiment analysis and customer feedback simulation for a p
Quick audience reaction check: sentiment analysis and customer feedback simulation for a product launch, announcement, pricing change or decision from 3 stakeholder perspectives. POST JSON {prompt, context?}. Strict JSON: sentiment, objections, risks, fixes. $0.15 USDC on Base, ~10 s.
150000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-12
updated
Provider
reactionpulse-production.reactionpulse-x402.workers.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x5AE4864faD7C30A0A903BB7F7F807b9501e35AD8",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "150000",
"maxTimeoutSeconds": 120
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"context": "Mid-size legaltech vendor with 1,200 customers. Competitors charge $49-149/month. Existing customers were promised no price increases during 2026.",
"output_language": "en",
"perspectives": [
"customer",
"skeptical_customer",
"competitor",
"analyst"
],
"prompt": "Company X launches a $199/month AI note-taker for law firms next week, replacing its $99 plan and adding automatic matter summaries."
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"confidence": 0.72,
"controversy_score": 68,
"disclaimer": "Analytical multi-perspective simulation generated by a language model. It does not represent real people, a survey, or calibrated probabilities, and it does not predict future events with certainty.",
"failure_modes": [
{
"description": "Existing customers churn to $49-149 competitors citing the broken promise.",
"likelihood": "high"
},
{
"description": "Summaries produce errors in client matters, triggering distrust.",
"likelihood": "medium"
}
],
"generated_at": "2026-09-11T19:20:57.855Z",
"input_integrity": {
"notes": "",
"status": "clean"
},
"key_uncertainties": [
"Actual time saved per matter by the summaries.",
"Whether the new plan includes other upgrades not described."
],
"likely_objections": [
"The 2026 no-increase promise is being broken.",
"A 100% price increase is not justified by a single new feature.",
"$199 sits above the $49-149 competitor range."
],
"likely_positive_reactions": [
"Automatic matter summaries address a real time sink.",
"Positions Company X as an AI-forward legaltech vendor."
],
"market_implications": [
"Competitors launch switching campaigns targeting Company X customers.",
"Price anchors in legaltech move toward AI-tiered plans."
],
"meta": {
"latency_ms": 35339,
"model": "claude-haiku-4-5-20251001",
"network": "eip155:8453",
"price_usd": "0.49",
"provider": "anthropic",
"tokens_in": 1602,
"tokens_out": 1256
},
"negative_probability": 0.62,
"overall_sentiment": 42,
"perspectives": [
{
"headline": "Doubling costs without clear ROI justification.",
"reasoning": "Price doubles while value-add is one feature; partners will demand proof that matter summaries save billable time before accepting the increase.",
"role": "law_firm_partner",
"sentiment": 28,
"stance": "negative",
"top_appeal": "Automatic matter summaries could cut admin time",
"top_concern": "100% price increase against a 2026 no-increase promise"
},
{
"headline": "A broken promise, not an upgrade.",
"reasoning": "Existing customers were told prices would not rise in 2026; forcing a migration to $199 reads as bait-and-switch regardless of the new feature.",
"role": "skeptical_customer",
"sentiment": 22,
"stance": "negative",
"top_appeal": "None unless grandfathering is offered",
"top_concern": "Trust erosion and forced migration"
},
{
"headline": "An opening to poach price-sensitive firms.",
"reasoning": "Rivals at $49-149 can run switching campaigns aimed at the 1,200 customers who feel misled by the increase.",
"role": "competitor",
"sentiment": 74,
"stance": "positive",
"top_appeal": "Immediate churn opportunity",
"top_concern": "Company X bundling more AI features later"
},
{
"headline": "Revenue upside real, churn risk underpriced.",
"reasoning": "Doubling ARPU lifts revenue only if churn stays below roughly 50%; a promise reversal makes that assumption fragile.",
"role": "analyst",
"sentiment": 46,
"stance": "mixed",
"top_appeal": "Higher ARPU and AI positioning",
"top_concern": "Churn among existing customers"
}
],
"positive_probability": 0.38,
"recommended_adjustments": [
"Honor the 2026 price lock for existing customers; grandfather them at $99.",
"Offer $199 as an optional AI tier with a 30-day accuracy trial."
],
"request_id": "30af5e94-8f21-430e-8b04-10868494e6a0",
"subject_summary": "Company X launches a $199/month AI note-taker for law firms, doubling the price from $99 while adding automatic matter summaries and replacing the previous plan tier.",
"version": "0.1.0"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"audience": {
"description": "Optional primary audience the subject targets.",
"maxLength": 200,
"type": "string"
},
"context": {
"description": "Optional background: company, market, target segment, constraints, prior history.",
"maxLength": 4000,
"type": "string"
},
"output_language": {
"default": "en",
"description": "ISO language code for the output text.",
"pattern": "^[a-z]{2}(-[A-Za-z]{2})?$",
"type": "string"
},
"perspectives": {
"description": "Optional preferred perspectives. Suggested values: customer, skeptical_customer, developer, investor, competitor, early_adopter, analyst, content_creator, regulatory_risk, market, employee, partner. Free-text roles are accepted.",
"items": {
"maxLength": 40,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"prompt": {
"description": "The subject to simulate reactions to: a product launch, announcement, price change, decision, news item, hypothesis, proposal or URL description. Plain text.",
"maxLength": 6000,
"minLength": 8,
"type": "string"
}
},
"required": [
"prompt"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"confidence": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"controversy_score": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"disclaimer": {
"type": "string"
},
"failure_modes": {
"items": {
"additionalProperties": false,
"properties": {
"description": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"likelihood": {
"enum": [
"low",
"medium",
"high"
],
"type": "string"
}
},
"required": [
"description",
"likelihood"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"generated_at": {
"description": "ISO 8601 timestamp (UTC).",
"type": "string"
},
"input_integrity": {
"additionalProperties": false,
"properties": {
"notes": {
"maxLength": 300,
"type": "string"
},
"status": {
"enum": [
"clean",
"suspicious"
],
"type": "string"
}
},
"required": [
"status",
"notes"
],
"type": "object"
},
"key_uncertainties": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"likely_objections": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"likely_positive_reactions": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"market_implications": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"meta": {
"properties": {
"latency_ms": {
"type": "integer"
},
"model": {
"type": "string"
},
"network": {
"type": "string"
},
"price_usd": {
"type": "string"
},
"provider": {
"type": "string"
},
"tokens_in": {
"type": "integer"
},
"tokens_out": {
"type": "integer"
}
},
"required": [
"model",
"provider",
"latency_ms",
"tokens_in",
"tokens_out",
"price_usd",
"network"
],
"type": "object"
},
"negative_probability": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"overall_sentiment": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"perspectives": {
"items": {
"additionalProperties": false,
"properties": {
"headline": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"reasoning": {
"maxLength": 900,
"minLength": 1,
"type": "string"
},
"role": {
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"sentiment": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"stance": {
"enum": [
"positive",
"mixed",
"negative",
"indifferent"
],
"type": "string"
},
"top_appeal": {
"maxLength": 300,
"type": "string"
},
"top_concern": {
"maxLength": 300,
"type": "string"
}
},
"required": [
"role",
"stance",
"sentiment",
"headline",
"reasoning",
"top_concern",
"top_appeal"
],
"type": "object"
},
"maxItems": 8,
"minItems": 3,
"type": "array"
},
"positive_probability": {
"maximum": 1,
"minimum": 0,
"type": "number"
},
"recommended_adjustments": {
"items": {
"maxLength": 300,
"minLength": 1,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"request_id": {
"description": "Server-generated UUID for this execution.",
"type": "string"
},
"subject_summary": {
"maxLength": 600,
"minLength": 1,
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"request_id",
"version",
"generated_at",
"subject_summary",
"overall_sentiment",
"positive_probability",
"negative_probability",
"controversy_score",
"perspectives",
"likely_objections",
"likely_positive_reactions",
"failure_modes",
"market_implications",
"recommended_adjustments",
"key_uncertainties",
"confidence",
"input_integrity",
"meta",
"disclaimer"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction/quick" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction/quick");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://reactionpulse-production.reactionpulse-x402.workers.dev/v1/reaction/quick")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/8188.json, and this resource appears in /discovery/resources and /discovery/search.