> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequency.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Get news sentiment for a symbol

> Get aggregated news sentiment for a stock symbol.

## Data Sources

1. **Database Cache**: Returns cached sentiment if available and fresh
2. **FMP API**: Fetches from Financial Modeling Prep if cache is stale

## Response Fields

- **sentiment_score**: 0-100 (0=bearish, 50=neutral, 100=bullish)
- **sentiment_label**: Human-readable classification
- **articles_analyzed**: Number of relevant articles in the analysis
- **top_headlines**: Most relevant headlines

## Cache Behavior

- Cache TTL: 1 hour (configurable via FMP_CACHE_TTL)
- Use `refresh=true` to bypass cache and fetch fresh data



## OpenAPI

````yaml /api/openapi.json get /api/graph/v1/news/sentiment/{symbol}
openapi: 3.1.0
info:
  title: Sequency Graph API
  description: >

    # Sequency Graph-Native Trading API


    Graph-native API for trading intelligence, built on FalkorDB.


    ## Features


    - **Screener**: Filter stocks using graph-native queries with relationship
    expansion

    - **Stock Detail**: Complete stock context with all relationships

    - **Confluence Scoring**: Setup quality assessment with weighted components

    - **Strategy Matching**: Find matching options strategies via graph
    traversal

    - **Market Context**: Current market-wide context for trading decisions


    ## Data Sources


    All data is sourced from the FalkorDB knowledge graph, populated by:

    - Pattern detector (Go) - Technical indicators, patterns

    - Graph sync service - Levels, volume profiles, news, day classification
  version: 1.0.0
servers: []
security: []
paths:
  /api/graph/v1/news/sentiment/{symbol}:
    get:
      tags:
        - News
      summary: Get news sentiment for a symbol
      description: |-
        Get aggregated news sentiment for a stock symbol.

        ## Data Sources

        1. **Database Cache**: Returns cached sentiment if available and fresh
        2. **FMP API**: Fetches from Financial Modeling Prep if cache is stale

        ## Response Fields

        - **sentiment_score**: 0-100 (0=bearish, 50=neutral, 100=bullish)
        - **sentiment_label**: Human-readable classification
        - **articles_analyzed**: Number of relevant articles in the analysis
        - **top_headlines**: Most relevant headlines

        ## Cache Behavior

        - Cache TTL: 1 hour (configurable via FMP_CACHE_TTL)
        - Use `refresh=true` to bypass cache and fetch fresh data
      operationId: get_news_sentiment_api_graph_v1_news_sentiment__symbol__get
      parameters:
        - name: symbol
          in: path
          required: true
          schema:
            type: string
            title: Symbol
        - name: refresh
          in: query
          required: false
          schema:
            type: boolean
            description: Force refresh from API (bypasses cache)
            default: false
            title: Refresh
          description: Force refresh from API (bypasses cache)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NewsSentimentResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    NewsSentimentResponse:
      properties:
        symbol:
          type: string
          title: Symbol
          description: Stock ticker symbol
        sentiment_score:
          anyOf:
            - type: number
            - type: 'null'
          title: Sentiment Score
          description: Sentiment score 0-100 (0=bearish, 50=neutral, 100=bullish)
        sentiment_label:
          anyOf:
            - type: string
            - type: 'null'
          title: Sentiment Label
          description: Sentiment classification (Bullish, Bearish, Neutral, etc.)
        articles_analyzed:
          anyOf:
            - type: integer
            - type: 'null'
          title: Articles Analyzed
          description: Number of articles analyzed
        top_headlines:
          items:
            type: string
          type: array
          title: Top Headlines
          description: Top relevant headlines
        source:
          type: string
          title: Source
          description: Data source (fmp, database_cache)
        fetched_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Fetched At
          description: ISO timestamp of data fetch
      type: object
      required:
        - symbol
        - source
      title: NewsSentimentResponse
      description: News sentiment data for a symbol.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````