# Otto AI Equity News — Ticker News & Sentiment

> Otto AI Equity News — Ticker News & Sentiment is a paid API for AI agents from x402.ottoai.services, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-15).

Fetches recent news headlines and sentiment data for a given equity or ETF ticker symbol, sourced from Finnhub, covering the past 7 days.

## Facts

- Endpoint: GET https://x402.ottoai.services/equity-news
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/otto-ai-equity-news-ticker-news-sentiment-29fdc5ec
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lTZTg2Q4Vg_8gBeiZt8z2

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 otto-ai-equity-news-ticker-news-sentiment-29fdc5ec
```

Example prompt: Can you pull the latest news headlines and sentiment for NVDA from the past week? I want to see what's been reported about Nvidia recently.

## When to prefer this

Use this endpoint when you need recent news headlines and basic sentiment for a specific publicly traded equity or ETF by ticker symbol. It is purpose-built for per-ticker financial news retrieval with a 7-day window, powered by Finnhub. Prefer this over general crypto or web news endpoints when the subject is a traditional equity (e.g. AAPL, NVDA, SPY). Not suitable for crypto tokens, private companies, or news searches without a known ticker.

## Known failure modes

- Unsupported or invalid ticker symbol returns no articles or an error
- Sentiment field may return status 'unavailable' if insufficient data exists
- Stale data if the upstream Finnhub feed is delayed (check meta.stalenessSec)
- Payment failure if USDC balance is insufficient or x402 protocol handshake fails
- Empty article list for tickers with low news coverage

## How this service works

Latest company news for a vendor-resolved equity: licensed Finnhub headlines from the trailing seven days with publication time, source, and summary. Only articles that name the company are served — labelled `primary` when the headline names it, `mentioned` when only the summary does — so a symbol-tagged story about another company never fills the list. Redirect URLs withheld; no sentiment is fabricated.

## Output

Returns a JSON object with the ticker symbol, an array of recent news articles (each with source and headline), the data provider (Finnhub), sentiment status (or 'unavailable' if not computable), the number of headlines found, and a 7-day lookback window. Also includes metadata fields: generatedAt timestamp, validUntil, staleness in seconds, and a degraded flag indicating data quality.

## 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": [
      "ticker"
     ],
     "properties": {
      "ticker": {
       "type": "string",
       "description": "Vendor-supported equity or ETF ticker (e.g. AAPL, NVDA, TSLA, SPY); returned monetary values use the vendor payload units and are not relabeled as USD."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "status"
     ],
     "properties": {
      "data": {},
      "meta": {
       "type": "object"
      },
      "reason": {
       "type": "string",
       "description": "status=unavailable only; every >=400 is UNCHARGED"
      },
      "status": {
       "enum": [
        "success",
        "unavailable"
       ],
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "ticker": "AAPL",
   "articles": [
    {
     "source": "Publisher",
     "headline": "Example company headline",
     "relevance": "primary"
    }
   ],
   "provider": "Finnhub",
   "relevance": {
    "floor": "ticker-primacy",
    "filteredOutCount": 27,
    "candidatesConsidered": 63
   },
   "sentiment": {
    "shift": null,
    "status": "unavailable"
   },
   "windowDays": 7,
   "headlineCount": 2
  },
  "meta": {
   "degraded": false,
   "validUntil": "",
   "generatedAt": "",
   "stalenessSec": 0
  },
  "status": "success"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/otto-ai-equity-news-ticker-news-sentiment-29fdc5ec/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.ottoai.services](https://www.zero.xyz/host/x402.ottoai.services/llms.txt)
