# Social Mentions & Sentiment

> Social Mentions & Sentiment is a paid API for AI agents from social.duoleads.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Returns daily mention counts, distinct author counts, and mean VADER sentiment for a brand, product, or topic over the last 1-7 days, plus the top 10 co-occurring terms, aggregated across Bluesky, Hacker News, Reddit, and X.

## Facts

- Endpoint: GET https://social.duoleads.com/v1/social/mentions?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/social-mentions-sentiment-b9078cb9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_f9G3foRyIx4q2s5cas2cL

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability social-mentions-sentiment-b9078cb9
```

Example prompt: What's the daily mention count and sentiment for 'OpenAI' across Bluesky, Hacker News, Reddit, and X over the last 7 days, and what are the top co-occurring terms?

## When to prefer this

Choose this endpoint when you need aggregate social listening data across multiple platforms (Bluesky, Hacker News, Reddit, X) with sentiment scoring and no individual-level data exposure. It is ideal for brand monitoring, product launch tracking, or competitive intelligence where daily trend lines matter more than individual posts. Prefer it over raw search endpoints when you want pre-aggregated counts, VADER sentiment, and co-occurrence analysis in a single call without handling raw text or author data.

## Known failure modes

- Query term not found on any platform — returns zero mentions and empty top_terms, not charged
- Days parameter out of range (>7 or non-numeric) — bad input is free but results may be empty
- Source platform temporarily unavailable — affected platform listed in platforms_missing
- Day suppressed due to fewer than 20 known authors — bucket returned with null values and suppressed=true
- Coverage gap for older days — truncated=true returned for days beyond a source's reach

## How this service works

Social Mentions & Sentiment: daily mention counts, distinct authors and mean VADER sentiment for a brand, product or topic over the last 1-7 days, plus the top 10 co-occurring terms. Sources: Bluesky and Hacker News, plus Reddit and X (latest, newest first) when available. One page per source: days beyond its reach come back truncated (coverage_from). Aggregate only, no text, no authors; a day under 20 known authors is suppressed. Bad input is free; not found or no match is not charged.

## Output

A JSON object containing: an array of daily buckets (each with date, mention count, distinct author count, mean VADER sentiment, truncated flag, and suppressed flag); total mention count; top 10 co-occurring terms; coverage start date; list of platforms queried; missing platforms; request ID; and aggregate metadata. Days with fewer than 20 known authors are suppressed and returned as null. Days beyond a source's historical reach are returned with truncated=true.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "maxLength": 100,
       "description": "Brand, product or topic (1-100 characters)."
      },
      "days": {
       "type": "string",
       "pattern": "^[0-9]{1,4}$",
       "description": "UTC days ending today, 1-7. Default 7."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "days": [
   {
    "date": "2026-10-09",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": true,
    "suppressed": false
   },
   {
    "date": "2026-10-10",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": true,
    "suppressed": false
   },
   {
    "date": "2026-10-11",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": true,
    "suppressed": false
   },
   {
    "date": "2026-10-12",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": true,
    "suppressed": false
   },
   {
    "date": "2026-10-13",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": true,
    "suppressed": false
   },
   {
    "date": "2026-10-14",
    "authors": null,
    "mentions": null,
    "sentiment": null,
    "truncated": false,
    "suppressed": true
   },
   {
    "date": "2026-10-15",
    "authors": 0,
    "mentions": 0,
    "sentiment": null,
    "truncated": false,
    "suppressed": false
   }
  ],
  "as_of": "2026-10-15T12:00:00.000Z",
  "items": [],
  "query": {
   "q": "synthetic widgets",
   "days": 7,
   "sources": [
    "bluesky",
    "hackernews",
    "x",
    "reddit"
   ]
  },
  "source": "public data via the Bluesky AppView API; not affiliated with Bluesky; public data via the Hacker News API (Algolia search and Firebase); not affiliated with Y Combinator; public data via third-party provider; not affiliated with the platform",
  "complete": false,
  "platform": "multi",
  "platforms": [
   "bluesky",
   "hackernews",
   "x",
   "reddit"
  ],
  "top_terms": [],
  "disclaimer": "Public data via third-party providers; not affiliated with or endorsed by any platform. Do not use to profile, target or train AI on individuals.",
  "request_id": "01KEXAMPLE0000000000000000",
  "next_cursor": null,
  "coverage_from": "2026-10-14T00:00:00.000Z",
  "total_mentions": 0,
  "platforms_missing": [],
  "suppressed_buckets": 1
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/social-mentions-sentiment-b9078cb9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from social.duoleads.com](https://www.zero.xyz/host/social.duoleads.com/llms.txt)
