## content_analysis/sentiment

`GET /v1/content_analysis/sentiment`

Positive / neutral / negative split for a keyword with mean, median and a score histogram, plus the most positive and most negative mentions. Lexicon-based and fully deterministic — the method, its thresholds and its limits are returned with every response.

*Keyword sentiment breakdown*

| Parameter | Required | Description |
| --- | --- | --- |
| `keyword` | yes | Phrase to score — e.g. `kubernetes` |
| `page_type` | no | all, news, forum, social or discussion — e.g. `all` |
| `positive_connotation_threshold` | no | Score in (0,1] at or above which a mention is positive — e.g. `0.25` |
| `sentiments_connotation_threshold` | no | Score magnitude at or below which a mention is negative — e.g. `0.25` |
| `depth` | no | Items fetched PER SOURCE before aggregating (max 100) — e.g. `50` |
| `filters` | no | field:op:value segments joined by ; — see /v1/content_analysis/filters — e.g. `source:eq:hackernews` |
| `dry_run` | no | Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. — e.g. `1` |

**Cost:** 3 credits at list price per successful uncached response; variable-cost operations may quote or settle a different charge. Confirmed uncharged or refunded failures report zero. Pending reconciliation can report credits_used:null; retain request_id and the original idempotency key.

```bash
curl "https://www.monocrawl.com/v1/content_analysis/sentiment?keyword=kubernetes" \
  -H "x-api-key: mn_your_key_here"
```

### Response data

Illustrative abbreviated data; documented core fields are optional and may be null. Additional source fields are allowed.

```json
{
  "_warnings": [
    "example"
  ],
  "by_source": [
    {
      "max_score": 0,
      "mean_score": 0,
      "median_score": 0,
      "min_score": 0,
      "negative": 0,
      "neutral": 0,
      "positive": 0,
      "source": "example",
      "total": 0
    }
  ],
  "counts": {
    "negative": 0,
    "neutral": 0,
    "positive": 0,
    "total": 0
  },
  "filters_applied": [],
  "keyword": "example",
  "max_score": 0,
  "mean_score": 0,
  "median_score": 0,
  "min_score": 0,
  "most_negative": [
    {
      "matched_terms": [
        {}
      ],
      "published_at": "2026-09-01T12:00:00Z",
      "sentiment": {
        "label": "example",
        "score": 0
      },
      "source": "example",
      "title": "example",
      "url": "https://example.com/example"
    }
  ],
  "most_positive": [
    {
      "matched_terms": [
        {}
      ],
      "published_at": "2026-09-01T12:00:00Z",
      "sentiment": {
        "label": "example",
        "score": 0
      },
      "source": "example",
      "title": "example",
      "url": "https://example.com/example"
    }
  ],
  "score_histogram": [
    {
      "from": 0,
      "mentions": 0,
      "to": 0
    }
  ],
  "sentiment_method": {
    "ai_used": false,
    "kind": "example",
    "known_limits": [
      "example"
    ],
    "lexicon": {
      "diminishers": 0,
      "intensifiers": 0,
      "negative_terms": 0,
      "negators": 0,
      "positive_terms": 0,
      "total_terms": 0
    },
    "modifiers": {
      "diminisher": "example",
      "intensifier": "example",
      "matching": "example",
      "negation": "example"
    },
    "scoring": "example",
    "thresholds": {
      "negative": 0,
      "positive": 0
    }
  },
  "share": {
    "negative": 0,
    "neutral": 0,
    "positive": 0
  },
  "sources": [
    {
      "endpoint": "example",
      "error": "example",
      "kept": 0,
      "ok": false,
      "returned": 0,
      "source": "example",
      "status": 0
    }
  ],
  "sources_unavailable": [
    {
      "reason": "example",
      "source": "example"
    }
  ],
  "unscored_mentions": 0,
  "volume": {
    "duplicates_removed": 0,
    "gathered_before_filters": 0,
    "mentions": 0
  }
}
```

[Field reference](https://www.monocrawl.com/docs/endpoints/content_analysis/sentiment#response) · [JSON Schema for response.data](https://www.monocrawl.com/schemas/content_analysis/sentiment.json)
