Score an outreach email on subject quality, body quality, predicted open rate, spam risk,
Score an outreach email on subject quality, body quality, predicted open rate, spam risk, tone, length, personalization, and CTA clarity. Returns top 3 specific improvement suggestions and a stronger rewritten subject line. Useful for sales/marketing/recruiting AI agents that need QA before sending. Powered by Claude Haiku 4.5 with senior-copywriter system prompt.
10000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-12
updated
Provider
power-pack-x402.fly.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x7861db4efc14a1ed5dd8c96c528a3796560f1393",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"body": "I noticed your team is scaling outbound. We built a lightweight scoring step that catches weak calls to action before an email is sent. Would a 15-minute walkthrough on Tuesday be useful?",
"recipient_context": "VP Sales at a B2B SaaS company",
"subject": "Quick question about your outbound workflow"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"ok": true,
"score": {
"body_score": 71,
"cta_clarity": 6,
"length_assessment": "too_long",
"personalization_score": 4,
"predicted_open_rate_pct": 28,
"rewritten_subject": "Saw your Q3 launch — one idea on the onboarding flow",
"spam_risk": 3,
"subject_score": 62,
"tone": "salesy",
"top_improvements": [
{
"area": "subject",
"fix": "Reference their specific company milestone",
"issue": "Generic 'Quick question'"
},
{
"area": "opening",
"fix": "Open with the prospect-specific hook",
"issue": "Starts with 'I hope this finds you well'"
},
{
"area": "cta",
"fix": "Propose a specific 15-min slot",
"issue": "Vague 'let me know'"
}
],
"verdict": "revise_then_send"
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"body": {
"description": "Email body copy",
"minLength": 20,
"type": "string"
},
"recipient_context": {
"description": "Optional recipient role, company, or relevant context",
"type": "string"
},
"subject": {
"description": "Email subject line",
"minLength": 3,
"type": "string"
}
},
"required": [
"subject",
"body"
],
"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": {
"additionalProperties": false,
"properties": {
"ok": {
"const": true
},
"score": {
"additionalProperties": false,
"properties": {
"body_score": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"cta_clarity": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"length_assessment": {
"enum": [
"too_short",
"ideal",
"too_long"
]
},
"personalization_score": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"predicted_open_rate_pct": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"rewritten_subject": {
"type": "string"
},
"spam_risk": {
"maximum": 10,
"minimum": 0,
"type": "integer"
},
"subject_score": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"tone": {
"enum": [
"professional",
"casual",
"aggressive",
"friendly",
"robotic",
"salesy",
"authentic"
]
},
"top_improvements": {
"items": {
"additionalProperties": false,
"properties": {
"area": {
"enum": [
"subject",
"opening",
"body",
"cta",
"signoff"
]
},
"fix": {
"type": "string"
},
"issue": {
"type": "string"
}
},
"required": [
"area",
"issue",
"fix"
],
"type": "object"
},
"maxItems": 3,
"minItems": 3,
"type": "array"
},
"verdict": {
"enum": [
"send_as_is",
"revise_then_send",
"rewrite_completely"
]
}
},
"required": [
"subject_score",
"body_score",
"predicted_open_rate_pct",
"spam_risk",
"tone",
"length_assessment",
"personalization_score",
"cta_clarity",
"top_improvements",
"rewritten_subject",
"verdict"
],
"type": "object"
}
},
"required": [
"ok",
"score"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://power-pack-x402.fly.dev/api/score-email" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://power-pack-x402.fly.dev/api/score-email");
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://power-pack-x402.fly.dev/api/score-email")
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/15168.json, and this resource appears in /discovery/resources and /discovery/search.