> For the complete documentation index, see [llms.txt](https://docs.infoway.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-stock-fundamental.md).

# GET Stock Fundamental Data

### Description

This group of endpoints provides fundamental data for individual stocks, including valuation history, institutional ratings, company overview, industry ranking, concept tags, corporate event calendar, and AI-generated key driver analysis.

### Rate Limit

Shares the same rate limit with other endpoints. The specific requests per second depends on your subscription plan. Refer to [API Rate Limits](https://docs.infoway.io/getting-started/api-limitation).

### Error Codes

Refer to [HTTP Error Codes](https://docs.infoway.io/getting-started/error-codes/http).

### Request Headers

| Parameter | Type   | Required | Description  |
| --------- | ------ | -------- | ------------ |
| `apiKey`  | String | Yes      | Your API Key |

### Multi-language Support (I18n)

All endpoints in this series (stock, market, sector) support multi-language responses. You can append the `lang` query parameter to control the language of the primary names:

* `lang=en`: Returns English results (default)
* `lang=zh-CN`: Returns Simplified Chinese results

> \[!TIP] For instance, when requesting `?lang=zh-CN`, the sector name might return `安防与报警服务`, while appending `?lang=en` returns the native corresponding `Security and Alarm Services`. Caches are isolated independently.

### Symbol Format

| Market       | Format      | Example     |
| ------------ | ----------- | ----------- |
| Hong Kong    | `{code}.HK` | `700.HK`    |
| US           | `{code}.US` | `AAPL.US`   |
| China (SSE)  | `{code}.SH` | `600519.SH` |
| China (SZSE) | `{code}.SZ` | `000001.SZ` |

***

#### Valuation History

Get PE/PB historical data for a symbol, useful for drawing valuation trend charts.

**Endpoint**

* Base path: `/common/v2/basic/stock/valuation/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/valuation/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example   |
| --------- | ------ | -------- | ----------- | --------- |
| `symbol`  | String | Yes      | Symbol code | `AAPL.US` |

**Response Example**

```json
{
  "symbol": "AAPL.US",
  "data": {
    "kline_type": "day",
    "pe_list": [
      {"timestamp": "1743177600", "pe": "34.04", "eps": "", "last_done": ""},
      {"timestamp": "1743264000", "pe": "33.81", "eps": "", "last_done": ""}
    ],
    "pb_list": [
      {"timestamp": "1743177600", "pb": "51.20", "bps": "", "last_done": ""}
    ]
  }
}
```

| Field         | Type   | Description             |
| ------------- | ------ | ----------------------- |
| `kline_type`  | String | K-line type             |
| `pe_list`     | Array  | PE historical data      |
| `> timestamp` | String | Timestamp               |
| `> pe`        | String | Price-to-Earnings ratio |
| `pb_list`     | Array  | PB historical data      |
| `> timestamp` | String | Timestamp               |
| `> pb`        | String | Price-to-Book ratio     |

***

#### Institutional Ratings

Get institutional buy/overweight/hold/underweight/sell rating count trends.

**Endpoint**

* Base path: `/common/v2/basic/stock/ratings/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/ratings/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "elist": [
      {
        "buy": "33", "over": "11", "hold": "3",
        "under": "0", "sell": "0", "total": "49",
        "date": "1517328000"
      }
    ]
  }
}
```

| Field     | Type   | Description                   |
| --------- | ------ | ----------------------------- |
| `elist`   | Array  | Rating data list              |
| `> buy`   | String | Number of Buy ratings         |
| `> over`  | String | Number of Overweight ratings  |
| `> hold`  | String | Number of Hold ratings        |
| `> under` | String | Number of Underweight ratings |
| `> sell`  | String | Number of Sell ratings        |
| `> total` | String | Total ratings                 |
| `> date`  | String | Date timestamp                |

***

#### Company Overview

Get company profile, executive information, and industry classification.

**Endpoint**

* Base path: `/common/v2/basic/stock/company/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/company/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "company_name": "Tencent Holdings",
    "industry": "Internet Content & Information",
    "description": "Tencent Holdings Limited is an investment holding company...",
    "executives": [...]
  }
}
```

***

#### Stock Panorama

Get the stock's industry ranking and associated concept sectors.

**Endpoint**

* Base path: `/common/v2/basic/stock/panorama/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/panorama/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "belonged_industry": {
      "counter_id": "BK/HK/IN20232",
      "name": "Internet Content & Information",
      "rank": 1,
      "stock_num": 24
    },
    "concepts": {
      "list": [
        {"counter_id": "BK/HK/CP20064", "name": "Northbound Core Assets", "stock_num": 56},
        {"counter_id": "BK/HK/CP20024", "name": "Gaming", "stock_num": 30}
      ]
    }
  }
}
```

| Field               | Type    | Description             |
| ------------------- | ------- | ----------------------- |
| `belonged_industry` | Object  | Industry information    |
| `> counter_id`      | String  | Industry sector ID      |
| `> name`            | String  | Industry name           |
| `> rank`            | Integer | Ranking within industry |
| `> stock_num`       | Integer | Stocks in industry      |
| `concepts.list`     | Array   | Concept sector list     |
| `> counter_id`      | String  | Concept sector ID       |
| `> name`            | String  | Concept name            |
| `> stock_num`       | Integer | Stocks in concept       |

***

#### Concept Tags

Get all concept sector tags for a stock.

**Endpoint**

* Base path: `/common/v2/basic/stock/concepts/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/concepts/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "concept": {
      "tags": [
        {"name": "Gaming", "counter_id": "BK/HK/CP20024", "chg": "-0.336"},
        {"name": "Cloud Computing", "counter_id": "BK/HK/CP20062", "chg": "-0.408"}
      ]
    }
  }
}
```

| Field          | Type   | Description        |
| -------------- | ------ | ------------------ |
| `concept.tags` | Array  | Concept tag list   |
| `> name`       | String | Concept name       |
| `> counter_id` | String | Concept sector ID  |
| `> chg`        | String | Price change ratio |

***

#### Corporate Events

Get corporate event calendar including earnings dates, dividend dates, etc.

**Endpoint**

* Base path: `/common/v2/basic/stock/events/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/events/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Query Parameters**

| Parameter | Type    | Required | Description                          | Example |
| --------- | ------- | -------- | ------------------------------------ | ------- |
| `limit`   | Integer | No       | Number of results, 1-100, default 20 | `20`    |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "items": [
      {
        "event_type": "earnings",
        "event_date": "1774000000",
        "description": "2024 Annual Results Announcement"
      }
    ]
  }
}
```

***

#### Key Drivers Analysis

Get AI-generated business driver analysis.

**Endpoint**

* Base path: `/common/v2/basic/stock/drivers/{symbol}`
* Full path: `https://data.infoway.io/common/v2/basic/stock/drivers/{symbol}`

**Path Parameters**

| Parameter | Type   | Required | Description | Example  |
| --------- | ------ | -------- | ----------- | -------- |
| `symbol`  | String | Yes      | Symbol code | `700.HK` |

**Response Example**

```json
{
  "symbol": "700.HK",
  "data": {
    "drivers": [
      {
        "name": "Gaming Business",
        "children": [
          {"name": "Domestic Gaming Revenue", "impact": "high"},
          {"name": "International Gaming Revenue", "impact": "medium"}
        ]
      }
    ]
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infoway.io/en-docs/rest-api/get-basic-info/get-stock-fundamental.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
