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

WhenResultHTTPTimePrice
2 h agoPassed402136 ms$0.012
5 h agoPassed402124 ms$0.012
9 h agoPassed402100 ms$0.012
13 h agoPassed402174 ms$0.012
16 h agoPassed402246 ms$0.012
21 h agoPassed402138 ms$0.012
23 h agoPassed40224 ms$0.012
29 h agoPassed402121 ms$0.012