GET/api/v1/models/sentiment
Fetch model sentiment
Read the current public sentiment details for a tracked AI model. This endpoint does not require an API key.
Example
curl 'https://vibetracker.app/api/v1/models/sentiment?model=openai%2Fgpt-4o'Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Canonical full model slug, for example openai/gpt-4o |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
| model | object | Always | Canonical model info, provider info, and model status |
| sentiment.label | string | Always | Human-readable current sentiment label |
| sentiment.netSentiment | number | Always | Current net sentiment from -1 to 1 |
| sentiment.totalSubmissions | number | Always | Recent rating count in the current sentiment window |
| sentiment.positiveCount / neutralCount / negativeCount | number | Always | Breakdown of recent ratings by score |
| sentiment.positiveShare / neutralShare / negativeShare | number | Always | Breakdown shares from 0 to 1 |
| sentiment.recentDelta | number | Always | Recent sentiment movement compared with the baseline window |
| sentiment.baselineSentiment | number | null | Always | Baseline sentiment when enough comparison data exists |
| sparkline | array | Always | Recent daily average points for compact charts |
Errors
| Field | Type | Required | Description |
|---|---|---|---|
| 400 | { "error": string } | Validation failure | Missing or invalid query parameters |
| 404 | { "error": string } | Not found | No tracked model exists for the provided full slug |
| 500 | { "error": string } | Server failure | Sentiment details could not be loaded |
Submitting a rating? POST /api/v1/opinions returns this same sentiment shape after a successful write.