78trust / 100
Social Sentiment
by social-sentiment in News & content
x402 APIPassing, checked 2 h ago
Composite bull/bear sentiment for a crypto ticker or topic, fused across three ToS-clean sources: Farcaster cast sentiment (open-protocol hub), our crypto-news + Fear&Greed composite, and GDELT world-tone. Returns a normalized score, a per-source breakdown, 24h/7d deltas and a confidence (how much data is under the signal) ā so you see which source drives it and how thin the signal is.
GET https://api.agentstools.dev/social/sentiment
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 100%
- Response time
- 124 ms typical, 174 ms slowest 5%
- Last check
- 2 h ago
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.agentstools.dev/social/sentiment?sym=ETH"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.agentstools.dev%2Fsocial%2Fsentiment
const res = await pay("https://api.agentstools.dev/social/sentiment?sym=ETH");
console.log(await res.json());Example input
{
"sym": "ETH"
}Example output
{
"attribution": [
"Farcaster protocol (MIT) ...",
"Fear & Greed ā alternative.me"
],
"composite": {
"confidence": "medium",
"label": "bullish",
"samples": 38,
"score": 0.24,
"sources_used": [
"farcaster"
]
},
"deltas": {
"24h": {
"shift": 0.05,
"source": "farcaster"
},
"7d": {
"direction": null,
"source": "gdelt"
}
},
"partial": true,
"query": {
"name": "Degen",
"symbol": "DEGEN",
"text": null
},
"red_line": "ToS-clean: never Twitter/X, Reddit, Instagram, TikTok, LinkedIn.",
"source_breakdown": {
"cryptonews": {
"available": false,
"reason": "symbol has no crypto-news footprint"
},
"farcaster": {
"available": true,
"casts_scored": 38,
"label": "bullish",
"recent_vs_prior_shift": 0.05,
"score": 0.24
},
"gdelt": {
"available": false,
"reason": "no world-news query for this symbol"
}
}
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 136 ms | $0.012 |
| 5 h ago | Passed | 402 | 124 ms | $0.012 |
| 9 h ago | Passed | 402 | 100 ms | $0.012 |
| 13 h ago | Passed | 402 | 174 ms | $0.012 |
| 16 h ago | Passed | 402 | 246 ms | $0.012 |
| 21 h ago | Passed | 402 | 138 ms | $0.012 |
| 23 h ago | Passed | 402 | 24 ms | $0.012 |
| 29 h ago | Passed | 402 | 121 ms | $0.012 |