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

# Company News

> Fetch recent company news articles enriched with AI summaries, event categories, publisher metadata, sentiment, industry tags, and article text.

## Quick start

The Company News Monitoring API returns the latest news articles for a given company. Each result is enriched with an AI-generated summary, event classification, publisher metadata, sentiment, company mentions, geography, industry tags, and scraped article text.

Results are returned synchronously in the HTTP response.

<Note>
  This is a synchronous API. The results are returned directly in the HTTP response. Use `limit` and `offset` to paginate larger result sets.
</Note>

## Endpoint

Method: GET

`/api/v1/company/news/`

## Base URL

`https://api.akta.pro`

## Authentication

Pass your API key in the `x-api-key` request header.

`-H "x-api-key: YOUR_API_KEY"`

<Warning>
  Do not expose production API keys in client-side code, public repositories, screenshots, or shared documentation. The examples below use a placeholder key.
</Warning>

## Sample request

<CodeGroup>
  ```bash cURL theme={null}
  curl -G "https://api.akta.pro/api/v1/company/news/" \
    -H "x-api-key: YOUR_API_KEY" \
    --data-urlencode "company=tesla" \
    --data-urlencode "start_date=2026-03-01" \
    --data-urlencode "end_date=2026-05-05" \
    --data-urlencode "limit=10" \
    --data-urlencode "offset=1" \
    --data-urlencode "blacklisted=wokelo.ai"
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.akta.pro/api/v1/company/news/"
  headers = {"x-api-key": "YOUR_API_KEY"}
  params = {
      "company": "tesla",
      "start_date": "2026-03-01",
      "end_date": "2026-05-05",
      "limit": 10,
      "offset": 1,
      "blacklisted": "wokelo.ai",
  }

  response = requests.get(url, headers=headers, params=params)
  response.raise_for_status()

  payload = response.json()

  # payload["status"] == "success"
  # payload["total"] is the total number of matching articles
  for article in payload["data"]:
      print(article["title"])
      print(article["published_date"], article["publisher"])
      print(article["primary_tag"], "|", article["sentiment"])
      print(article["ai_summary"])
      print(article["url"])
      print()
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    company: "tesla",
    start_date: "2026-03-01",
    end_date: "2026-05-05",
    limit: "10",
    offset: "1",
    blacklisted: "wokelo.ai",
  });

  const response = await fetch(
    `https://api.akta.pro/api/v1/company/news/?${params}`,
    { headers: { "x-api-key": "YOUR_API_KEY" } }
  );

  if (!response.ok) {
    throw new Error(`Request failed with status ${response.status}`);
  }

  const payload = await response.json();

  // payload.status === "success"
  // payload.total is the total number of matching articles
  for (const article of payload.data) {
    console.log(article.title);
    console.log(article.published_date, article.publisher);
    console.log(article.primary_tag, "|", article.sentiment);
    console.log(article.ai_summary);
    console.log(article.url);
  }
  ```
</CodeGroup>

## Request reference

### Query parameters

| Parameter     | Type    | Required | Description                                                                                                                                 |
| ------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `company`     | string  | Yes      | Company permalink or valid company URL for which news articles should be fetched. Example: `tesla`.                                         |
| `start_date`  | string  | No       | Start date for the news timeframe, formatted as `YYYY-MM-DD`.                                                                               |
| `end_date`    | string  | No       | End date for the news timeframe, formatted as `YYYY-MM-DD`.                                                                                 |
| `category`    | string  | No       | Comma-separated list of news categories to include. Category names must be URL-encoded when sent in a raw query string.                     |
| `limit`       | integer | No       | Maximum number of news articles to return in the current response.                                                                          |
| `offset`      | integer | No       | Number of records to skip before returning results. Use this with `limit` for pagination.                                                   |
| `blacklisted` | string  | No       | Comma-separated list of publisher domains to exclude from results. Include the publisher domain only, for example `patch.com,observer.com`. |

## Filtering by selected categories

Use `category` when you only want specific types of company events. Multiple categories should be passed as a comma-separated string.

<CodeGroup>
  ```bash cURL theme={null}
  curl -G "https://api.akta.pro/api/v1/company/news/" \
    -H "x-api-key: YOUR_API_KEY" \
    --data-urlencode "company=tesla" \
    --data-urlencode "start_date=2026-03-01" \
    --data-urlencode "end_date=2026-05-05" \
    --data-urlencode "limit=2" \
    --data-urlencode "offset=1" \
    --data-urlencode "category=Capital Markets & Transactions,Strategic Developments,Leadership & Governance,Workforce & Talent" \
    --data-urlencode "blacklisted=wokelo.ai"
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.akta.pro/api/v1/company/news/"
  headers = {"x-api-key": "YOUR_API_KEY"}
  params = {
      "company": "tesla",
      "start_date": "2026-03-01",
      "end_date": "2026-05-05",
      "limit": 2,
      "offset": 1,
      "category": "Capital Markets & Transactions,Strategic Developments,Leadership & Governance,Workforce & Talent",
      "blacklisted": "wokelo.ai",
  }

  response = requests.get(url, headers=headers, params=params)
  response.raise_for_status()

  payload = response.json()

  # payload["status"] == "success"
  # payload["total"] is the total number of matching articles
  for article in payload["data"]:
      print(article["title"])
      print(article["published_date"], article["publisher"])
      print(article["primary_tag"], "|", article["sentiment"])
      print(article["ai_summary"])
      print(article["url"])
      print()
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({
    company: "tesla",
    start_date: "2026-03-01",
    end_date: "2026-05-05",
    limit: "2",
    offset: "1",
    category:
      "Capital Markets & Transactions,Strategic Developments,Leadership & Governance,Workforce & Talent",
    blacklisted: "wokelo.ai",
  });

  const response = await fetch(
    `https://api.akta.pro/api/v1/company/news/?${params}`,
    { headers: { "x-api-key": "YOUR_API_KEY" } }
  );

  if (!response.ok) {
    throw new Error(`Request failed with status ${response.status}`);
  }

  const { status, data, total } = await response.json();

  // status === "success"
  // total is the total number of matching articles
  for (const article of data) {
    console.log(article.title);
    console.log(article.published_date, article.publisher);
    console.log(article.primary_tag, "|", article.sentiment);
    console.log(article.ai_summary);
    console.log(article.url);
  }
  ```
</CodeGroup>

## Response

A successful response returns a status, article array, count of records in the current response, total matching articles, and pagination metadata.

```json theme={null}
{
  "status": "success",
  "data": [
    {
      "ai_summary": "Tesla, GE Vernova, and IREN are highlighted as key energy stocks for watching, with Tesla involved in electric vehicles and energy systems, GE Vernova in electricity generation across multiple segments, and IREN operating bitcoin mining data centers. These companies represent diverse sectors within the energy industry.",
      "type": "Equity Fund-Raising",
      "url": "https://www.defenseworld.net/2026/04/28/energy-stocks-to-keep-an-eye-on-april-26th.html",
      "title": "Energy Stocks To Keep An Eye On – April 26th",
      "company_name": "Tesla",
      "publisher": "defenseworld",
      "published_date": "2026-04-28 05:05:05",
      "author": "Defense World Staff",
      "countries": ["USA", "CHN", "AUS"],
      "sentiment": "Neutral",
      "company_names": [
        {
          "name": "Tesla",
          "website": "http://tesla-pa.com/"
        },
        {
          "name": "GE Vernova",
          "website": "https://www.gevernova.com"
        },
        {
          "name": "IREN",
          "website": "https://iren.com"
        }
      ],
      "primary_tag": "Equity Fund-Raising",
      "original_language": "EN",
      "secondary_tags": ["Market Indices Performance"],
      "newsworthiness_impact": "Medium",
      "primary_industry": "Retail Supply + DER/Virtual Power Plant Bundles (Solar, Storage, DR)",
      "secondary_industry": [
        "Electrical Systems O&M (Substations, Transformers, Switchgear, Protection & Controls)",
        "Risk Management & Hedging for Renewables (Price/Volume/Shape Risk, VaR)"
      ],
      "scraped_text": "Tesla, GE Vernova, and IREN are the three Energy stocks to watch today..."
    }
  ],
  "count": 1,
  "total": 15,
  "limit": 2,
  "offset": 1
}
```

### Top-level response fields

| Field    | Type    | Description                                                    |
| -------- | ------- | -------------------------------------------------------------- |
| `status` | string  | Request status. Successful requests return `success`.          |
| `data`   | array   | Array of company news article objects.                         |
| `count`  | integer | Number of article objects returned in the current response.    |
| `total`  | integer | Total number of articles matching the request filters.         |
| `limit`  | integer | Maximum number of articles requested for the current response. |
| `offset` | integer | Number of records skipped before the current response.         |

### Article object fields

| Field                   | Type             | Description                                                                    |
| ----------------------- | ---------------- | ------------------------------------------------------------------------------ |
| `ai_summary`            | string           | AI-generated summary of the article.                                           |
| `type`                  | string           | Event type assigned to the article.                                            |
| `url`                   | string           | Source article URL.                                                            |
| `title`                 | string           | Article headline.                                                              |
| `company_name`          | string           | Primary company associated with the article.                                   |
| `publisher`             | string           | Publisher or source domain label.                                              |
| `published_date`        | string           | Publication timestamp returned by the API.                                     |
| `author`                | string           | Article author, when available.                                                |
| `countries`             | array of strings | Countries associated with the article.                                         |
| `sentiment`             | string           | Sentiment classification for the article. Example: `Positive`, `Neutral`.      |
| `company_names`         | array of objects | Companies mentioned in the article, with `name` and `website` where available. |
| `primary_tag`           | string           | Primary news category or event tag assigned to the article.                    |
| `original_language`     | string           | Original language code for the article. Example: `EN`.                         |
| `secondary_tags`        | array of strings | Additional categories or event tags assigned to the article.                   |
| `newsworthiness_impact` | string           | Estimated impact level of the article. Example: `Medium`.                      |
| `primary_industry`      | string           | Primary industry classification associated with the article.                   |
| `secondary_industry`    | array of strings | Additional industry classifications associated with the article.               |
| `scraped_text`          | string           | Extracted article text.                                                        |

## Pagination

Use `limit` and `offset` together to paginate through matching articles.

```text theme={null}
Page 1: limit=10&offset=0
Page 2: limit=10&offset=10
Page 3: limit=10&offset=20
```

<Note>
  The response includes both `count` and `total`. Use `count` to understand how many records were returned in the current response, and `total` to understand how many records match the filters overall.
</Note>

## Implementation notes

* Use `company` for the target company identifier and add a date range when monitoring a defined period.
* Use `category` to narrow results to event types that matter for the workflow.
* Use `blacklisted` to exclude irrelevant or low-value publishers.
* Use `limit` and `offset` for pagination rather than requesting a large result set at once.
* Store `url`, `title`, `published_date`, `publisher`, `primary_tag`, `sentiment`, and `ai_summary` for most monitoring dashboards.
* Store `scraped_text` only when downstream workflows need full article text.

## Use your API key directly

You can also use your API key directly in your own code by passing it in the `x-api-key` request header.

<Tabs>
  <Tab title="cURL">
    ```bash theme={null}
    curl -G "https://api.akta.pro/api/v1/company/news/" \
      -H "x-api-key: YOUR_API_KEY" \
      --data-urlencode "company=tesla" \
      --data-urlencode "limit=10"
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    import requests

    url = "https://api.akta.pro/api/v1/company/news/"
    headers = {"x-api-key": "YOUR_API_KEY"}
    params = {
        "company": "tesla",
        "limit": 10,
    }

    response = requests.get(url, headers=headers, params=params)
    response.raise_for_status()

    data = response.json()

    for article in data["data"]:
        print(article["title"])
        print(article["published_date"], article["publisher"])
        print(article["primary_tag"], "|", article["sentiment"])
        print(article["ai_summary"])
        print(article["url"])
        print()
    ```
  </Tab>

  <Tab title="JavaScript">
    ```javascript theme={null}
    const params = new URLSearchParams({
      company: "tesla",
      limit: "10",
    });

    const response = await fetch(
      `https://api.akta.pro/api/v1/company/news/?${params}`,
      {
        headers: {
          "x-api-key": "YOUR_API_KEY",
        },
      }
    );

    if (!response.ok) {
      throw new Error(`Request failed with status ${response.status}`);
    }

    const data = await response.json();

    for (const article of data.data) {
      console.log(article.title);
      console.log(article.published_date, article.publisher);
      console.log(article.primary_tag, "|", article.sentiment);
      console.log(article.ai_summary);
      console.log(article.url);
    }
    ```
  </Tab>
</Tabs>
