# StockTwits Social API
> Live data from StockTwits, the social network for traders and investors where every post is tagged with the stock and crypto tickers ("cashtags") it is about and an optional Bullish or Bearish sentiment — served from the public StockTwits feed, no key, nothing stored. The symbol endpoint returns a ticker's live message stream — the latest posts about $AAPL, $TSLA, $BTC.X or any symbol — each with its author and sentiment, plus the symbol's title and how many users watch it. The trending endpoint returns the tickers traders are talking about most right now, the social pulse of the market. The user endpoint returns a member's profile — followers, following, ideas posted and likes — and their recent posts. Read retail trader sentiment, find what is buzzing and track any investor's feed as live JSON. This is the trader-social-network cut — distinct from the price, market-data and FX-signal APIs in the catalogue.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/stocktwits-api/..."
```

## Pricing
- **Free** (Free) — 23,000 calls/Mo, 3 req/s
- **Trader** ($7/Mo) — 255,000 calls/Mo, 10 req/s
- **Pro** ($22/Mo) — 1,000,000 calls/Mo, 28 req/s
- **Scale** ($51/Mo) — 3,400,000 calls/Mo, 60 req/s

## Endpoints

### Symbol

#### `GET /v1/symbol` — A ticker live message stream with sentiment

**Parameters:**
- `symbol` (query, required, string) — Ticker without the $ (AAPL, BTC.X) Example: `AAPL`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/symbol?symbol=AAPL"
```

**Response:**
```json
{
    "data": {
        "title": "Apple Inc",
        "source": "StockTwits",
        "symbol": "AAPL",
        "exchange": "NASDAQ",
        "messages": [
            {
                "id": 656149730,
                "body": "$AAPL $AAPL trading it from the  \n#golf #course in our back yard.  \n \n#Man_o_War 7th tee box. \n \n#Myrtle #Beach \n \nIf you&#39;re in town, we can meet up,  I&#39;ll buy the beers!",
                "name": "Vinny Gambini Tracy LeBlanc",
                "likes": null,
                "symbols": [
                    "AAPL"
                ],
                "username": "Cousin_Vinny",
                "sentiment": "Bullish",
                "created_at": "2026-06-11T16:43:39Z"
            },
            {
                "id": 656148974,
                "body": "$AAPL 👍",
                "name": "RInvest41",
                "likes": null,
                "symbols": [
                    "AAPL"
                ],
                "username": "RInvest41",
                "sentiment": "Bullish",
                "created_at": "2026-06-11T16:38:04Z"
            },
            {
                "id": 656148603,
                "body": "$AAPL Wall Street crackheads addition lol $$$$$$$$$$$$$$$$$$",
                "name": "Russ",
                "likes": null,
                "symbols": [
                    "AAPL"
                ],
                "username": "prstrader",
                "sentiment": null,
                "created_at": "2026-06-11T16:
…(truncated, see openapi.json for full schema)
```

### Trending

#### `GET /v1/trending` — Tickers being discussed most right now

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/trending"
```

**Response:**
```json
{
    "data": {
        "note": "Tickers being discussed the most on StockTwits right now.",
        "count": 30,
        "source": "StockTwits",
        "symbols": [
            {
                "title": "Adobe Inc",
                "symbol": "ADBE",
                "exchange": "NASDAQ",
                "watchlist_count": 48782
            },
            {
                "title": "Trade Desk Inc",
                "symbol": "TTD",
                "exchange": "NASDAQ",
                "watchlist_count": 48184
            },
            {
                "title": "Velo3D Inc",
                "symbol": "VELO",
                "exchange": "NASDAQ",
                "watchlist_count": 8243
            },
            {
                "title": "Oracle Corp.",
                "symbol": "ORCL",
                "exchange": "NYSE",
                "watchlist_count": 63631
            },
            {
                "title": "EchoStar Corp",
                "symbol": "SATS",
                "exchange": "NASDAQ",
                "watchlist_count": 5204
            },
            {
                "title": "Alphabet Inc - Ordinary Shares - Class C",
                "symbol": "GOOG",
                "exchange": "NASDAQ",
                "watchlist_count": 308844
            },
            {
                "title": "Microsoft Corp",
                "symbol": "MSFT",
                "exchange": "NASDAQ",
                "watchlist_count": 535297
            },
            {
             
…(truncated, see openapi.json for full schema)
```

### User

#### `GET /v1/user` — A member profile and recent posts

**Parameters:**
- `username` (query, required, string) — StockTwits handle Example: `Stocktwits`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/user?username=Stocktwits"
```

**Response:**
```json
{
    "data": {
        "bio": null,
        "name": "Stocktwits",
        "ideas": 134708,
        "source": "StockTwits",
        "location": null,
        "messages": [
            {
                "id": 656148534,
                "body": "@androsForm epic...",
                "name": "Stocktwits",
                "likes": null,
                "symbols": [],
                "username": "Stocktwits",
                "sentiment": null,
                "created_at": "2026-06-11T16:35:10Z"
            },
            {
                "id": 656145136,
                "body": "$ADBE earnings after the close today - any buyers out there or could this get under $200?",
                "name": "Stocktwits",
                "likes": null,
                "symbols": [
                    "ADBE"
                ],
                "username": "Stocktwits",
                "sentiment": null,
                "created_at": "2026-06-11T16:11:07Z"
            },
            {
                "id": 656140304,
                "body": "@Mjohns92 used $SLS gains for a down payment on a house - amazing story",
                "name": "Stocktwits",
                "likes": null,
                "symbols": [
                    "SLS"
                ],
                "username": "Stocktwits",
                "sentiment": null,
                "created_at": "2026-06-11T15:40:16Z"
            },
            {
                "id": 656139578,
                "body": "$ORCL now down over 10% - who 
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "symbol is a cashtag without the $ (AAPL, TSLA, BTC.X). username is a StockTwits handle. Each post may carry a Bullish/Bearish sentiment where the author set one. Streams are cached briefly to respect StockTwits' rate limit.",
        "source": "StockTwits API v2 (api.stocktwits.com/api/2, live)",
        "service": "stocktwits-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/user": "A member's profile and recent posts (username=Stocktwits).",
            "GET /v1/symbol": "A ticker's live message stream with sentiment, plus title and watcher count (symbol=AAPL).",
            "GET /v1/trending": "Tickers being discussed most on StockTwits right now."
        },
        "description": "Live data from StockTwits, the social network for traders and investors where every post is tagged with the stock and crypto tickers (cashtags) it is about and an optional Bullish/Bearish sentiment. The symbol endpoint returns a ticker's live message stream plus its title and watcher count; the trending endpoint returns the tickers being discussed most right now; the user endpoint returns a member's profile (followers, following, ideas, likes) and recent posts. Live, no key, nothing stored. The trader-social-network cut — distinct from the price, market-data and FX-signal APIs.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-11T16:46:39.716Z",
        "request_id": "9a5875f5-9ab
…(truncated, see openapi.json for full schema)
```

### Symbols

#### `GET /v1/search` — Find tickers by company name or symbol

**Parameters:**
- `q` (query, required, string) — Search query Example: `apple`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/search?q=apple"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "query": "apple",
        "source": "StockTwits",
        "results": [
            {
                "title": "Apple Inc",
                "symbol": "AAPL",
                "exchange": "NASDAQ"
            },
            {
                "title": "dog with apple in mouth",
                "symbol": "APPLE.X",
                "exchange": "CRYPTO"
            },
            {
                "title": "Apple Hospitality REIT Inc",
                "symbol": "APLE",
                "exchange": "NYSE"
            },
            {
                "title": "Apple Rush Company Inc",
                "symbol": "APRU",
                "exchange": "OTC"
            },
            {
                "title": "Apple Green Holding Inc",
                "symbol": "AGPL",
                "exchange": "OTC"
            },
            {
                "title": "Apple Tokenized Stock Defichain",
                "symbol": "DAAPL.X",
                "exchange": "CRYPTO"
            },
            {
                "title": "Apple xStock",
                "symbol": "AAPLX.X",
                "exchange": "CRYPTO"
            },
            {
                "title": "Apple (Ondo Tokenized Stock)",
                "symbol": "AAPLON.X",
                "exchange": "CRYPTO"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-13T13:55:41.667Z",
        "request_id": "270f5216-1307-4c62-82a2-37af277e79c6"
    },
    "status": "ok",
    "me
…(truncated, see openapi.json for full schema)
```

### Discovery

#### `GET /v1/suggested` — StockTwits editorially suggested stream

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/suggested"
```

**Response:**
```json
{
    "data": {
        "note": "StockTwits' editorially suggested stream.",
        "count": 30,
        "source": "StockTwits",
        "messages": [
            {
                "id": 656363898,
                "body": "$ASTS Well, Elon killed the weekly candle ( not only on this name ). Weekly chart",
                "name": "Framus Morrigan",
                "likes": null,
                "symbols": [
                    "ASTS"
                ],
                "username": "framus_morrigan",
                "sentiment": null,
                "created_at": "2026-06-13T13:50:18Z"
            },
            {
                "id": 656363897,
                "body": "Did you buy or short the $SPCX IPO?",
                "name": "Larry Thompson, CMT CPA",
                "likes": null,
                "symbols": [
                    "SPCX"
                ],
                "username": "HostileCharts",
                "sentiment": null,
                "created_at": "2026-06-13T13:50:17Z"
            },
            {
                "id": 656363880,
                "body": "A VIX spike tells you people are scared. \n \nIt does not tell you fear has peaked. \n \nThat’s the trap. \n \nBuying fear is easy in hindsight. \n \nBuying fear in real time with no process is how people run out of chips.",
                "name": "Larry Thompson, CMT CPA",
                "likes": null,
                "symbols": [],
                "username": "HostileCharts",
                "sent
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/trending-posts` — The posts being engaged with most across StockTwits right now

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/stocktwits-api/v1/trending-posts"
```

**Response:**
```json
{
    "data": {
        "note": "The posts being engaged with most on StockTwits right now.",
        "count": 30,
        "source": "StockTwits",
        "messages": [
            {
                "id": 656364021,
                "body": "$DJT bla bla. Its always same nonsense to justify invasion of sovereign nations. Just an FYI, Iran became the key player, because US took out its opponents like Iraq, which became its Shia proxy today.",
                "name": "NissanFan",
                "likes": null,
                "symbols": [
                    "DJT"
                ],
                "username": "MissingTwentyF",
                "sentiment": null,
                "created_at": "2026-06-13T13:55:18Z"
            },
            {
                "id": 656364007,
                "body": "$SPCX this will dip grind to a 67 dollar reality. one rocket failure will tank this to 42.0. i did trade single shares a few times on fri tho and made $6, minime diamond hands",
                "name": "Biggie Bigs",
                "likes": null,
                "symbols": [
                    "SPCX"
                ],
                "username": "BiggieBigs",
                "sentiment": "Bearish",
                "created_at": "2026-06-13T13:54:50Z"
            },
            {
                "id": 656364003,
                "body": "$SPCX we’ll never be below $200 again after this coming week. Losers should stop whining /crying and just get on board",
                "name": 
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/stocktwits-api
OpenAPI spec: https://www.oanor.com/api/stocktwits-api/openapi.json
