# Latest News

---

Fetches recent company news articles for a single NSE/BSE listed company. Upstox returns articles published in the last 7 days, including a headline, summary, thumbnail, source link, and published timestamp.

Fincrux syncs news from Upstox every 30 minutes into its own database and Redis cache. Requests are served from that local store and never call Upstox directly. There is no per-request refresh or `force_update` option.

The sync is idempotent: each company has exactly one news record, and duplicate articles are removed by `article_link` before storage and when serving.

<br>

## Rate Limits

---

| Plan             | Rate Limit           |
| ---------------- | -------------------- |
| Hobby            | 5 requests / day     |
| [Plus](/pricing) | 10 requests / minute |
| [Pro](/pricing)  | 60 requests / minute |

## Request

---

`GET` `/api/news/{company_symbol}`

| Parameter     | Description                                                         | Priority                                 | Type    |
| ------------- | ------------------------------------------------------------------- | ---------------------------------------- | ------- |
| api_key       | User Generated API Key. [Generate Here](/dashboard)                 | <span style="color:red;">required</span> | string  |
| page_number   | Page number (1–100). **Default** 1                                  | optional                                 | integer |
| page_size     | Records per page (1–100). **Default** 20                            | optional                                 | integer |

**Status codes:** `200` success, `400` invalid parameters, `401`/`403` authentication, `404` unknown company, `503` news has not been synced yet. Error responses contain a `message` field; the success key is not used in this API.

## Response

---

| Field                          | Description                                      | Type    |
| ------------------------------ | ------------------------------------------------ | ------- |
| company                        | Name of the company                              | string  |
| trading_symbol                 | NSE / BSE trading symbol                         | string  |
| instrument_key                 | Upstox instrument key used for the news sync     | string  |
| data                           | List of news articles                            | array   |
| <span style="padding:0 0 0 25px;">**data**.heading</span>        | News headline                                    | string  |
| <span style="padding:0 0 0 25px;">**data**.summary</span>        | Short summary of the article                     | string  |
| <span style="padding:0 0 0 25px;">**data**.thumbnail</span>      | Thumbnail image URL                              | string  |
| <span style="padding:0 0 0 25px;">**data**.article_link</span>   | Link to the full article                         | string  |
| <span style="padding:0 0 0 25px;">**data**.published_time</span> | Published time as a Unix timestamp in ms         | integer |
| metadata                       | Pagination metadata                              | object  |
| fetched_at                     | Time of the most recent successful news sync     | string  |

## Example

---

<section class="codeTabs">

<div class="codeTabContent bash">

```bash
curl -X GET \
     -H "Content-Type: application/json" \
     --url 'https://api.fincrux.org/api/news/RELIANCE?api_key={api_key}'
```

</div>

<div class="codeTabContent python">

```bash
pip install requests
```

```python
import requests

response = requests.get(
    "https://api.fincrux.org/api/news/RELIANCE",
    params={"api_key": "YOUR_API_KEY"},
)
print(response.json())
```

</div>

<div class="codeTabContent javascript">

```javascript
const response = await fetch(
  "https://api.fincrux.org/api/news/RELIANCE?api_key=YOUR_API_KEY",
);
console.log(await response.json());
```

</div>

<div class="codeTabContent java">

```java
// Call the REST endpoint directly:
// GET https://api.fincrux.org/api/news/RELIANCE?api_key={api_key}
```

</div>

<div class="codeTabContent php">

```php
// Call the REST endpoint directly:
// GET https://api.fincrux.org/api/news/RELIANCE?api_key={api_key}
```

</div>

</section>
