---
title: "Get News For Symbol"
method: GET
path: "/api/news/{symbol}"
tags: ["news"]
---

# Get News For Symbol

`GET /api/news/{symbol}`

## Request

- Base URL: `https://api.halalterminal.com`
- URL: `https://api.halalterminal.com/api/news/{symbol}`
- Auth: API key in header `X-API-Key`

Retrieve recent news articles for a specific stock symbol.

Each article is tagged with `compliance_relevance` (high/medium/low) and
`compliance_categories` (debt_issuance, m_and_a, dividend_change,
equity_action, distress) so callers can prioritize events that may shift
the stock's screening verdict.

**curl example:**
```bash
curl -X GET "http://localhost:8000/api/news/AAPL?limit=10&compliance_relevance=high"
```

## Path parameters

- `symbol` string, required: Ticker symbol, e.g. AAPL.

## Query parameters

- `limit` integer: Max articles to return.
- `compliance_relevance` string, nullable: Filter to only articles at or above this compliance-event relevance bar. 'high' surfaces debt issuances, M&A, dividend policy changes, distress events — the corporate actions that actually move a Shariah verdict. Omit to get all articles.

## Response `200`

News articles related to the given ticker symbol

- NewsListResponse: Paginated list of news articles.
  - `count` integer, required: Number of articles in the current page
  - `page` integer, required: Current page number (1-indexed)
  - `page_size` integer, required: Maximum number of articles per page
  - `total` integer, required: Total number of articles matching the query
  - `articles` NewsArticleResponse[], required: List of news articles for this page
    - `title` string, required: Headline of the news article
    - `link` string, required: URL to the full article
    - `summary` string, nullable: Brief summary or excerpt of the article content
    - `published` string, nullable: ISO 8601 publication timestamp
    - `source_id` string, required: Unique identifier for the news source
    - `source_name` string, required: Human-readable name of the news source
    - `category` string, nullable: Topic category, e.g. 'islamic_finance', 'market', 'regulation'
    - `thumbnail_url` string, nullable: URL to a thumbnail image for the article
    - `sentiment` string, nullable: Sentiment label: 'positive', 'negative', or 'neutral'
    - `sentiment_score` number, nullable: Numerical sentiment score from -1.0 to 1.0
    - `relevance_score` number, nullable: Relevance score from 0.0 to 1.0 indicating how closely the article matches the query
    - `freshness_score` number, nullable: Freshness score from 0.0 to 1.0 based on recency of publication
    - `compliance_relevance` string, nullable: Whether the article describes a corporate event likely to move the Shariah verdict (debt issuance, M&A, dividend policy, distress). One of 'high' / 'medium' / 'low'. Per-article tag, set even when the request omits the compliance_relevance filter.
    - `compliance_categories` string[], nullable: Specific verdict-moving event categories detected: 'debt_issuance', 'm_and_a', 'dividend_change', 'equity_action', 'distress'. Empty when nothing was detected.
    - `compliance_score` integer, nullable: Raw compliance-relevance score (0+); higher = more verdict-moving signals matched

## Other responses

- `401`: Authentication required
- `404`: Resource not found
- `422`: Validation Error
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/halalterminal/apis/halal-terminal-api.md) · [All operations](https://skmtc.dev/halalterminal/apis/halal-terminal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/halalterminal/apis/halal-terminal-api/revisions/78768b250943?raw)
