# Taiwan Emerging Stock Board Quotes & Pre-IPO Register — 興櫃 (`chamarix/taiwan-emerging-stock-quotes`) Actor

Every stock on Taiwan's Emerging Stock Board — the pre-IPO tier every TWSE and TPEx listing must trade on first. Daily quotes and turnover, per-stock history back to 2003, the MOPS company register, EPS and capital rankings, recommending dealers and each company's live listing-application progress.

- **URL**: https://apify.com/chamarix/taiwan-emerging-stock-quotes.md
- **Developed by:** [chris](https://apify.com/chamarix) (community)
- **Categories:** AI, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Taiwan Emerging Stock Board (興櫃) Quotes & Pre-IPO Company API

Get structured JSON access to **every stock on Taiwan's Emerging Stock Board** — the pre-IPO tier that a company must trade on for at least six months before it can list on TWSE or TPEx. Daily quotes, bid/ask and turnover for all **359 registered stocks**, per-stock price history back to **2003-09-29**, the full MOPS company register, EPS and paid-in-capital rankings, the recommending dealers that make the market, and where each company stands in its listing application.

This is where TSMC's suppliers, Taiwan's biotech pipeline and the next round of AI hardware names trade before anyone outside Taiwan can see them. The exchange's own feed carries **only the latest session**, and its public history form will not let you pick a month before 2007. This Actor serves the whole board in one request, reaches back to the first month the archive holds, and reconciles every number against the exchange's own daily market summary before emitting it.

### Why this data matters

- **It is a pre-IPO watchlist that already has prices.** Every TWSE and TPEx listing spends at least six months here first. `ipo_application_status_code` and the applicant-register dates show you the ~33 companies queueing to move up right now, `ipo_target_board_inferred` tells you which exchange they are heading for, and `ipo_lead_underwriter` names the bank running the deal.
- **No price limit, so the moves are real.** Unlike the main boards, the emerging board has no daily up/down cap. A stock can move 30% in a session, and `high_price` / `low_price` show it.
- **Twenty-three years of history, not an accumulating snapshot.** The exchange's own form starts at 2007-01, but the report behind it answers back to **2003-09-29** — the first session any stock still on the board has on file. You can reconstruct a company's entire pre-IPO price record and line it up against its eventual listing.
- **The company register comes with it.** Tax ID, English symbol, chairman, spokesman, incorporation date, board registration date, par value, issued shares and paid-in capital, joined onto every quote. The tax ID is the join key to Taiwan's company registry.
- **Recommending dealers are the board's market makers.** Every emerging stock must keep dealers on file to quote it — 1,120 dealer-stock pairs across 24 securities firms. Which dealers a company uses, and when they were added, is public and rarely looked at.
- **Nobody serves this in English.** Search for a Taiwan emerging-board API and there is nothing. The register even keeps company addresses in English, which no other Taiwanese market publication does.

### Output

Three record types, selected with `recordTypes`.

**`QUOTE`** — one record per stock, latest session:

```json
{
  "record_type": "QUOTE",
  "market": "TPEX_EMERGING",
  "date": "2026-08-14",
  "published_time": "163005",
  "stock_code": "6826",
  "stock_name": "和淞",
  "previous_average_price": 481.33,
  "average_price": 475.75,
  "latest_price": 474.5,
  "high_price": 482.0,
  "low_price": 468.5,
  "price_change": -5.58,
  "price_change_pct": -1.1593,
  "price_direction": "DOWN",
  "bid_price": 468.5,
  "bid_quantity": 4000,
  "ask_price": 474.5,
  "ask_quantity": 1977,
  "traded_shares": 95865,
  "traded_value_ntd": 45607773.75,
  "last_trade_investor_side": "BUY",
  "trading_suspended_from": null,
  "has_traded_today": true,
  "ipo_application_status_code": null,
  "ipo_target_board_inferred": null,
  "eps": 27.33,
  "eps_rank": 1,
  "paid_in_capital_ntd": 855400000,
  "paid_in_capital_rank": 47,
  "paid_in_capital_rank_matches_register": true,
  "company_full_name": "和淞科技股份有限公司",
  "english_symbol": "TPC",
  "industry_code": "31",
  "unified_business_no": "97097825",
  "chairman": "應柔爾",
  "general_manager": "周志賢",
  "incorporated_on": "1996-07-09",
  "emerging_board_registered_on": "2021-06-17",
  "par_value_ntd": 10.0,
  "issued_common_shares": 85540000,
  "recommending_dealer_count": 7
}
```

**`HISTORY`** — one record per stock per past session, split by negotiation channel:

```json
{
  "record_type": "HISTORY",
  "market": "TPEX_EMERGING",
  "date": "2018-05-02",
  "stock_code": "1260",
  "stock_name": "富味鄉",
  "matched_shares": 24726,
  "matched_value_ntd": 524092.0,
  "matched_high_price": 22.1,
  "matched_low_price": 21.02,
  "matched_average_price": 21.2,
  "matched_trade_count": 16,
  "off_system_shares": 1000000,
  "off_system_value_ntd": 21250000.0,
  "off_system_high_price": 21.3,
  "off_system_low_price": 21.2,
  "off_system_average_price": 21.25,
  "off_system_trade_count": 2,
  "total_shares": 1024726,
  "total_value_ntd": 21774092.0,
  "total_trade_count": 18,
  "has_traded": true,
  "vwap_identity_ok": true
}
```

**`MARKET_SUMMARY`** — the whole board in one record: registered stocks, combined paid-in capital and market value, turnover, trade count, dealer counts, and the advance/decline/unchanged/untraded spread.

| Field | Meaning |
|---|---|
| `date` | Trading session, ISO 8601. The exchange publishes ROC years; they are converted here |
| `previous_average_price` / `average_price` | 前日均價 / 日均價 (NT$). The **average**, not last price, is this board's reference price |
| `latest_price` / `high_price` / `low_price` | 成交 / 日最高 / 日最低. No daily price limit applies |
| `price_change` / `price_change_pct` / `price_direction` | Day average against previous day average — the exchange's own basis |
| `bid_price` / `bid_quantity` / `ask_price` / `ask_quantity` | 報買價/量, 報賣價/量 at the snapshot |
| `traded_shares` / `traded_value_ntd` | 成交量 in **shares**, not lots, and average × shares |
| `last_trade_investor_side` | 投資人成交買賣別 — `BUY` or `SELL`, whether the investor hit the ask or the bid |
| `ipo_application_status_code` / `ipo_application_status_date` | 上市櫃進度 and 進度日期 — the listing application, published raw |
| `ipo_target_board_inferred` | `TPEX` or `TWSE`. **Inferred**, see below |
| `ipo_review_committee_date` … `ipo_listing_date` | The applicant register's milestone dates, joined by security code |
| `ipo_status_date_matches` | Which of those milestones the status date is exactly equal to |
| `ipo_lead_underwriter` / `ipo_offering_price_ntd` | 主辦承銷商, 承銷價 |
| `eps` / `eps_rank` | 每股盈餘 and rank. Domestic issuers only — KY companies are `null` |
| `paid_in_capital_ntd` | 實收資本額 from the MOPS register — the value treated as current |
| `paid_in_capital_rank` / `paid_in_capital_rank_ntd` / `..._matches_register` | The ranking's position and its own capital figure, plus whether the two agree |
| `company_full_name` … `accounting_firm` | The MOPS company register, joined onto every quote |
| `recommending_dealers` / `recommending_dealer_count` | 推薦證券商 — the dealers required to quote the stock |
| `matched_*` / `off_system_*` / `total_*` | HISTORY only — the two negotiation channels and their sum |
| `vwap_identity_ok` | HISTORY only — the published average reproduces from value ÷ shares |

#### Five things about this board that will bite you

**1. The history feed's JSON silently merges two different markets into one row.** The report has a two-level header — 電腦議價點選成交 over the first six columns, 系統外議價成交 over the next six — but the JSON API flattens it and hands back the same six column names **twice**, with nothing to say which half is which. Read it naively and you either overwrite the first channel with the second or drop the second entirely. It matters: on 2018-05-02, 富味鄉 (1260) traded 24,726 shares on the click-to-deal system and **1,000,000 shares off it** — 97.6% of the day's volume was in the columns most parsers throw away. This Actor holds the split by position and emits both channels plus their sum, and verifies the flattened header against the exact 13-name signature so a layout change fails the run rather than silently mis-assigning a column.

**2. Off-system trades are rare enough to look like a dead column, and are not.** Across 1,816 traded sessions sampled from 2004 to 2026, exactly **three** carried off-system volume — the 富味鄉 block above, and 燁聯 (9957) on two consecutive days in May 2011. If you sample a week and conclude the field is always zero, you will be wrong on the days that matter most: an off-system print is a negotiated block, which on this board usually means a pre-IPO placement.

**3. "Up" and "down" are measured on the day's average, not the last price.** The exchange's own daily summary counted 138 advancing, 200 declining, 9 unchanged and 12 untraded on 2026-08-14. Those four numbers reproduce exactly — and only — when you compare `average_price` against `previous_average_price`. Comparing last prices gives different answers. This is checked on every run.

**4. The listing-application status code has no published legend, so this Actor does not invent one.** `ipo_application_status_code` is emitted raw. What it does do is join TPEx's own main-board applicant register and report, in `ipo_status_date_matches`, which milestone the status date is exactly equal to — on 2026-08-14 every `B` matched 上櫃審議委員會日期 (6 of 6) and every `E` matched 同意上櫃買賣日期 (8 of 8). `ipo_target_board_inferred` **is** an inference and is named as one: all 20 upper-case codes also carried a filing in TPEx's applicant register and none of the 13 lower-case ones did, which reads as TPEx applications in upper case and TWSE applications in lower case. The raw code is always there if you disagree.

**5. The capital ranking and the company register disagree, and both carry the same file date.** On 2026-08-14 only **255 of 348** ranked companies matched the MOPS register's paid-in capital, and the differences ran in both directions — 穎台科技 (6775) is NT$120m higher in the register, 仲恩生醫 (7729) is NT$42m lower. The ranking is simply cut at a different moment. `paid_in_capital_ntd` comes from the register and is the one to use; the ranking's own figure is kept as `paid_in_capital_rank_ntd` with `paid_in_capital_rank_matches_register` flagging every disagreement. Neither is silently preferred.

### Data integrity

Five independent publications describe this board, and this Actor reconciles itself against all of them before writing a row.

**Every run is checked against the exchange's own daily market summary, and fails if it does not reconcile.** 興櫃股票市場現況 is compiled separately from the quote feed, so seven identities have to hold — and each one pins down a definition the publications themselves never state:

| Check | 2026-08-14 |
|---|---|
| Quoted stocks == 興櫃家數 | 359 == 359 |
| Advancing, on day average vs previous day average | 138 == 138 |
| Declining | 200 == 200 |
| Unchanged | 9 == 9 |
| Untraded or suspended | 12 == 12 |
| Σ traded shares == 成交股數 (thousands) | 50,498,659 == 50,499 × 1,000 |
| Σ average × shares == 成交金額 (NT$m) | 7,415,235,049 == 7,415 × 10⁶ |

The last two are what establish that the summary prints shares in thousands and money in NT$ millions, and that turnover is average price times shares — none of which is documented. A failure raises rather than publishing numbers the Actor cannot reconcile.

**The history report is cross-checked against the snapshot feed.** They are separate publications reached by completely different paths. Where a fetched month overlaps the current session, shares, average, high and low are compared value for value — all matched exactly in testing, and the check runs on every execution (`crossCheck`, on by default).

**Every historical session must reproduce its own average.** `value ÷ shares` has to come back as the published 成交均價, and the average has to sit inside the high–low range, for each channel separately. Across **1,816 traded sessions** sampled over eleven years spread from 2004 to 2026, plus every session 燁聯 (9957) has on file for 2003-09 and 2003-10, there were **zero violations**. The tolerance allows for the published value being rounded to the dollar, which on a one-share trade moves the quotient by a full NT$1.

**The register and the dealer file are checked for coverage.** The MOPS company register covered all 359 quoted stocks exactly, and the recommending-dealer file reproduced both counts the market summary publishes — 1,120 dealer-stock pairs across 24 distinct firms.

Beyond that, the parser refuses to guess. The quote feed's 18 columns and the history report's 13 are verified against an exact signature, and an unrecognised layout fails the run rather than being read into the wrong field. An unknown security code, a main-board code that was never on this board, a month before the stock registered and a month that has not happened yet all return no rows and no error, because the exchange answers all four with the same 查無…歷史資料 message.

### Input

| Field | Type | Description |
|---|---|---|
| `recordTypes` | array | Any of `QUOTE`, `HISTORY`, `MARKET_SUMMARY`. Default `["QUOTE", "MARKET_SUMMARY"]` |
| `stockCodes` | array | e.g. `["6826", "1260"]`. Empty = every registered stock |
| `startMonth` | string | `YYYY-MM` for `HISTORY`. Empty = the current month. Floor is `2003-09` |
| `endMonth` | string | `YYYY-MM` inclusive; empty = just the start month |
| `ipoApplicantsOnly` | boolean | Keep only companies with a listing application in progress |
| `tradedOnly` | boolean | Drop the stocks that did not trade in the session |
| `includeCompanyProfile` | boolean | Merge in the MOPS company register. Default `true` |
| `includeRecommendingDealers` | boolean | Add the recommending dealers as a nested list. Default `false` |
| `crossCheck` | boolean | Compare history against the snapshot feed and log the result. Default `true` |

Example — today's whole board, plus the market summary:

```json
{}
```

Example — every company queueing to list, with its underwriter and milestone dates:

```json
{
  "recordTypes": ["QUOTE"],
  "ipoApplicantsOnly": true,
  "includeRecommendingDealers": true
}
```

Example — one company's full price history since it registered:

```json
{
  "recordTypes": ["HISTORY"],
  "stockCodes": ["1260"],
  "startMonth": "2012-11",
  "endMonth": "2026-08"
}
```

Example — the whole board's last quarter of daily history:

```json
{
  "recordTypes": ["HISTORY"],
  "startMonth": "2026-06",
  "endMonth": "2026-08"
}
```

### Pricing & cost control

Pay per result: **$0.50 / 1,000 records**.

- Whole board today plus the market summary: 360 records ≈ $0.18
- Companies with a listing application in progress: 33 records ≈ $0.02
- One ticker's full history since registering (1260, 2012-11 to 2026-08): ~3,300 records ≈ $1.65
- Whole board, one month of daily history: ~7,200 records ≈ $3.60

`QUOTE` and `MARKET_SUMMARY` arrive as whole-board requests, so `stockCodes`, `ipoApplicantsOnly` and `tradedOnly` cut the bill without costing anything. `HISTORY` is one request per stock per month, so narrowing `stockCodes` there saves time as well as money — the whole board for a year is roughly 4,300 requests.

### Data source & reliability

- Direct from TPEx: the emerging-board snapshot (`tpex_esb_latest_statistics`), the market summary (`tpex_esb_highlight`), the MOPS company register (`mopsfin_t187ap03_R`), the EPS and paid-in-capital rankings, the recommending-dealer file, the main-board applicant register, and the exchange's own 興櫃個股歷史行情 report — no third-party intermediaries
- The snapshot updates through the session and settles after the close; `published_time` carries the compilation time
- History coverage starts at **2003-09-29**, and each stock's own record starts when it registered on the board — an earlier month returns no rows and no error rather than an empty run
- The history report serves stocks **currently** registered on the board. A company that has already moved up to TWSE or TPEx is no longer queryable here; its post-listing prices are on the main-board feeds
- The EPS ranking covers domestic issuers only, so foreign-incorporated (KY) companies come back with `eps: null` — that is the publication's scope, not a gap
- The board's total market value published in `MARKET_SUMMARY` is passed through as the exchange states it and is not recomputed, because it does not reproduce from issued shares × price and the exchange does not document its basis

### Use cases

- **Pre-IPO screening** — track the companies queueing for a TWSE or TPEx listing, with the underwriter, the committee and approval dates, and the price the market is already paying
- **IPO pricing research** — line the emerging-board average price in the months before a listing up against the eventual offering price
- **Supply-chain mapping** — the register's tax ID joins these companies to Taiwan's company registry and to their customers' filings
- **Biotech and hardware pipeline monitoring** — Taiwan's drug-development and AI-hardware names trade here for years before listing
- **Liquidity and market-structure research** — 23 years of two-channel turnover on a quote-driven, no-price-limit, dealer-recommended market
- **Event studies** — no daily price limit means the price reaction to news is not truncated, which the main boards cannot give you

### Taiwan Market Data Suite

This Actor is part of a suite of 19 Taiwan market data APIs by [chamarix](https://apify.com/chamarix) — official sources only, cross-validated against independent official endpoints, clean JSON out. Code samples for the whole suite: [GitHub](https://github.com/cc77556/taiwan-market-data-actors).

**Market data:**

- [twse-institutional-trades](https://apify.com/chamarix/twse-institutional-trades) — Daily institutional buy/sell (foreign, investment trust, dealer) per stock — TWSE listed
- [tpex-institutional-trades](https://apify.com/chamarix/tpex-institutional-trades) — Daily institutional buy/sell per stock — TPEx OTC market
- [taiwan-monthly-revenue](https://apify.com/chamarix/taiwan-monthly-revenue) — Monthly revenue of 1,900+ listed & OTC companies, MoM/YoY
- [taiwan-financial-statements](https://apify.com/chamarix/taiwan-financial-statements) — Quarterly income statement, balance sheet & cash flow back to 2013
- [taiwan-dividend-calendar](https://apify.com/chamarix/taiwan-dividend-calendar) — Ex-dividend / ex-rights dates, reference prices & payouts back to 2003
- [taiwan-margin-trading](https://apify.com/chamarix/taiwan-margin-trading) — Daily margin trading & short sale balances per stock
- [taiwan-sbl-short-sale-balance](https://apify.com/chamarix/taiwan-sbl-short-sale-balance) — Securities-lending short sale balances per stock
- [taiwan-day-trading-stats](https://apify.com/chamarix/taiwan-day-trading-stats) — Day-trading volume, value & ratio per stock since 2014
- [tdcc-shareholding-dispersion](https://apify.com/chamarix/tdcc-shareholding-dispersion) — Weekly TDCC shareholding dispersion (retail vs whale structure)
- [taiwan-foreign-shareholding](https://apify.com/chamarix/taiwan-foreign-shareholding) — Foreign ownership percentage & remaining quota per stock
- [taifex-institutional-derivatives](https://apify.com/chamarix/taifex-institutional-derivatives) — Institutional futures & options positions (TAIFEX), incl. put/call ratio
- [taiwan-stock-alerts](https://apify.com/chamarix/taiwan-stock-alerts) — Watch-list, disposition & short-sale suspension alerts
- [taiwan-insider-share-transfers](https://apify.com/chamarix/taiwan-insider-share-transfers) — Insider share-transfer filings (directors, officers, 10% holders) since 2002
- [taiwan-director-shareholdings](https://apify.com/chamarix/taiwan-director-shareholdings) — Monthly director/officer shareholdings & share-pledge ratio since 1999
- [taiwan-block-trades](https://apify.com/chamarix/taiwan-block-trades) — Every block trade (鉅額交易) with price, size & basket constituents since 2005
- [taiwan-shareholder-meetings](https://apify.com/chamarix/taiwan-shareholder-meetings) — Shareholder meeting dates, book closure periods & e-voting since 2005

**Government & civic data:**

- [taiwan-legislator-monitor](https://apify.com/chamarix/taiwan-legislator-monitor) — Legislative Yuan bills, legislators & meetings
- [taiwan-tender-monitor](https://apify.com/chamarix/taiwan-tender-monitor) — Government e-procurement tenders (open calls, awards, failures)

# Actor input Schema

## `recordTypes` (type: `array`):

QUOTE is today's session for every registered emerging stock, enriched with the company register and the listing-application progress. HISTORY walks each selected stock month by month, back to 2003-09. MARKET\_SUMMARY is one row for the whole board.

## `stockCodes` (type: `array`):

Optional list of emerging-board codes (e.g., \['6826', '1260']). QUOTE arrives as one whole-board request either way, so filtering it is free. For HISTORY this decides how many requests are made: one per stock per month, so leaving it empty and asking for a year of history is roughly 4,300 requests.

## `startMonth` (type: `string`):

First month of HISTORY to fetch, e.g. 2026-01. Ignored unless HISTORY is selected. The exchange's own form only lets you pick 2007-01 onwards, but the report itself answers back to 2003-09 — the first month any emerging stock has on file. Leave empty for the current month.

## `endMonth` (type: `string`):

Last month of HISTORY, inclusive. Leave empty to fetch only the start month.

## `ipoApplicantsOnly` (type: `boolean`):

Keep only the stocks the exchange marks with a listing-application status code — the companies actually queueing to move up to TWSE or TPEx. On a typical day that is around 30 of 360.

## `tradedOnly` (type: `boolean`):

Drop the stocks with no trade in the session. The emerging board is thin — around a dozen stocks a day go untraded, and they publish no price at all, only the previous day's average.

## `includeCompanyProfile` (type: `boolean`):

Merge in mopsfin\_t187ap03\_R: full company name, English symbol and address, tax ID, chairman, spokesman, incorporation date, board registration date, par value, issued shares and paid-in capital. Costs one request and covers every quoted stock.

## `includeRecommendingDealers` (type: `boolean`):

Every emerging stock must keep recommending dealers on file — they are the board's market makers, and which ones a company uses is a real signal. Adds a nested list per stock and costs one request.

## `crossCheck` (type: `boolean`):

Where a fetched history month overlaps today's session, compare shares, average, high and low against the open-data snapshot — an entirely separate publication — and log whether every value reproduces. Never changes the output.

## Actor input object example

```json
{
  "recordTypes": [
    "QUOTE",
    "MARKET_SUMMARY"
  ],
  "stockCodes": [],
  "startMonth": "",
  "endMonth": "",
  "ipoApplicantsOnly": false,
  "tradedOnly": false,
  "includeCompanyProfile": true,
  "includeRecommendingDealers": false,
  "crossCheck": true
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

One record per stock per session — quotes and turnover, the company register, EPS and capital rankings, and where each company stands in its listing application.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "recordTypes": [
        "QUOTE",
        "MARKET_SUMMARY"
    ],
    "stockCodes": [],
    "startMonth": "",
    "endMonth": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("chamarix/taiwan-emerging-stock-quotes").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "recordTypes": [
        "QUOTE",
        "MARKET_SUMMARY",
    ],
    "stockCodes": [],
    "startMonth": "",
    "endMonth": "",
}

# Run the Actor and wait for it to finish
run = client.actor("chamarix/taiwan-emerging-stock-quotes").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "recordTypes": [
    "QUOTE",
    "MARKET_SUMMARY"
  ],
  "stockCodes": [],
  "startMonth": "",
  "endMonth": ""
}' |
apify call chamarix/taiwan-emerging-stock-quotes --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,chamarix/taiwan-emerging-stock-quotes"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7MpZRpBjnopLSNgme/builds/FyGcSb8euWpheNSCQ/openapi.json
