← goecho.io

Echo API

Query AI-powered verdicts on any decision. Get structured signals with expert reasoning — free, no auth required.

Endpoint

GET https://goecho.io/api/v1/verdict?q=your+question+here

Parameters

ParamTypeRequiredDescription
qstringYesThe decision question (5-500 chars). URL-encode spaces as +.

Response

questionstringThe matched question
signal"go" | "caution" | "dont"The verdict signal
headlinestringOne-line verdict summary
for_countnumberExperts in favor
against_countnumberExperts against
expertsarrayExpert opinions: { role, stance, key_line }
urlstringLink to full verdict on Echo
powered_bystringAlways "goecho.io"

Signal values

go
Green light
caution
Think twice
dont
Hard no

Example response

{
  "question": "Should I quit my job to start a startup",
  "signal": "caution",
  "headline": "The math works, but only if you have 12 months runway.",
  "for_count": 4,
  "against_count": 3,
  "experts": [
    {
      "role": "Serial Entrepreneur (3 exits)",
      "stance": "support",
      "key_line": "The best time to start is when you can't stop thinking about it."
    },
    {
      "role": "Financial Planner (CFP, 15 years)",
      "stance": "oppose",
      "key_line": "Without 12 months of savings, you're gambling, not building."
    },
    {
      "role": "Startup Lawyer",
      "stance": "conditional",
      "key_line": "Check your non-compete before you write a single line of code."
    }
  ],
  "url": "https://goecho.io/s/abc123",
  "powered_by": "goecho.io"
}

Code examples

curl
curl "https://goecho.io/api/v1/verdict?q=Should+I+quit+my+job+to+start+a+startup"
JavaScript / TypeScript
const res = await fetch(
  "https://goecho.io/api/v1/verdict?q=" +
    encodeURIComponent("Should I quit my job to start a startup")
);
const data = await res.json();

console.log(data.signal);   // "go" | "caution" | "dont"
console.log(data.headline); // one-line verdict
console.log(data.experts);  // array of expert opinions
Python
import requests

r = requests.get(
    "https://goecho.io/api/v1/verdict",
    params={"q": "Should I quit my job to start a startup"},
)
data = r.json()

print(data["signal"])    # "go" | "caution" | "dont"
print(data["headline"])  # one-line verdict
print(data["experts"])   # list of expert opinions

Rate limits

60 requests/minute per IP address. No API key required. Responses are cached at the edge for 5 minutes.

Errors

400Missing or invalid query parameter
404Question not found — includes a URL to run it on Echo
429Rate limit exceeded

Need a verdict that doesn't exist yet?

Run any question through Echo first. The API serves cached results from simulations that have already been run.

Powered by goecho.io