# analyst_consensus_rating

Consensus analyst rating across contributing firms. One of `strong buy`, `buy`, `hold`, `sell`, `strong sell`. NULL for tickers without analyst coverage.

A text signal column on the Tickerbot computed state table (20,798+ ticker rows) — computed by the platform, queryable by bare name across the API. Values are NULL on rows the signal doesn't apply to.

- Group: Analyst ratings
- Category: Consensus ratings
- Type: text
- Update cadence: hourly
- Universe: all tickers
- History: none — live row only, not historized (no as-of reads for this column)
- Nullable: yes

## Query it

Every applicable form factor, grouped by endpoint family. Response payloads are real captures, sampled 2026-08-18 and trimmed; your run's values and dates will differ.

### Use scan — `/v2/scan`

The whole market through a WHERE clause — this signal composed freely with any other column. (https://tickerbot.io/docs/endpoints/scan.md)

#### Live — the whole market, ranked by this column

```bash
curl -G "https://api.tickerbot.io/v2/scan" \
  --data-urlencode "q=analyst_consensus_rating IS NOT NULL" \
  -d "order=analyst_consensus_rating" -d "columns=analyst_consensus_rating" \
  -H "Authorization: Bearer YOUR_KEY"
```

Response (sampled 2026-08-18, trimmed):

```json
{
 "as_of": "2026-08-18T00:22:35.815Z",
 "query": {
  "q": "analyst_consensus_rating IS NOT NULL",
  "limit": 2,
  "order": "analyst_consensus_rating",
  "dir": "desc",
  "fields": [
   "analyst_consensus_rating"
  ],
  "full": false,
  "universe": null,
  "asset_class": null
 },
 "count": 2,
 "results": [
  {
   "ticker": "CVEO",
   "name": "Civeo Corporation",
   "asset_class": "stocks",
   "asset_type": "CS",
   "price": 33.74,
   "day_change_pct": 0.0135,
   "gap_pct": -0.012,
   "relative_volume": null,
   "market_cap": 344114036,
   "analyst_consensus_rating": "strong buy"
  },
  {
   "ticker": "ESQ",
   "name": "Esquire Financial Holdings, Inc. Common Stock",
   "asset_class": "stocks",
   "asset_type": "CS",
   "price": 124.09,
   "day_change_pct": -0.031,
   "gap_pct": 0.0004,
   "relative_volume": null,
   "market_cap": 1550112898,
   "analyst_consensus_rating": "strong buy"
  }
 ]
}
```

## Related signals (Consensus ratings)

- [analyst_consensus_rating_value](https://tickerbot.io/docs/signals/analyst_consensus_rating_value.md)
- [analyst_count_buy](https://tickerbot.io/docs/signals/analyst_count_buy.md)
- [analyst_count_hold](https://tickerbot.io/docs/signals/analyst_count_hold.md)
- [analyst_count_sell](https://tickerbot.io/docs/signals/analyst_count_sell.md)
- [analyst_count_strong_buy](https://tickerbot.io/docs/signals/analyst_count_strong_buy.md)
- [analyst_count_strong_sell](https://tickerbot.io/docs/signals/analyst_count_strong_sell.md)
- [analyst_count_total](https://tickerbot.io/docs/signals/analyst_count_total.md)
- [analyst_count_with_target](https://tickerbot.io/docs/signals/analyst_count_with_target.md)
- [bearish_consensus](https://tickerbot.io/docs/signals/bearish_consensus.md)
- [bullish_consensus](https://tickerbot.io/docs/signals/bullish_consensus.md)
- [well_covered](https://tickerbot.io/docs/signals/well_covered.md)

---

Full catalog: https://tickerbot.io/docs/signals.md · Schema: https://tickerbot.io/docs/schema.md · Interactive: https://tickerbot.io/explore?signal=analyst_consensus_rating · HTML: https://tickerbot.io/docs/signals/analyst_consensus_rating/
