{
  "openapi": "3.0.1",
  "info": {
    "title": "Eastmoney Scraper — Stocks, Funds, Quotes & History",
    "description": "Eastmoney (东方财富) scraper: A-share, Hong Kong, US, ETF, bond, index and board quotes with full fields, K-line history, 24,000+ funds with NAV history, financial reports and announcements. Field codes mapped to English + Chinese names. No login, no API key.",
    "version": "1.0",
    "x-build-id": "pQFQzNrAPoB2KQ1GM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/logiover~eastmoney-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-logiover-eastmoney-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/logiover~eastmoney-scraper/runs": {
      "post": {
        "operationId": "runs-sync-logiover-eastmoney-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/logiover~eastmoney-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-logiover-eastmoney-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "quotes",
              "history",
              "funds",
              "fundNav",
              "financials",
              "announcements"
            ],
            "type": "string",
            "description": "Quotes = one row per instrument from Eastmoney's own market lists. Price history = K-line bars per instrument. Funds = Eastmoney's fund catalogue. Fund NAV history = the full net-asset-value series of a fund. Financial reports = the data centre's results, balance sheet, income statement, cash flow and daily valuation tables. Announcements = company filings.",
            "default": "quotes"
          },
          "markets": {
            "title": "Market lists",
            "uniqueItems": true,
            "type": "array",
            "description": "Eastmoney's own lists, exactly as the quote centre shows them. Used by Quotes mode; in Price history mode the codes are taken from these lists when you give no codes of your own. Clear the selection to read only the codes, names or boards you type below. If you leave this field out of an API call and give no codes either, the A-share list is read.",
            "items": {
              "type": "string",
              "enum": [
                "cn-a-shares",
                "cn-sh-a",
                "cn-sz-a",
                "cn-bj-a",
                "cn-star",
                "cn-chinext",
                "cn-b-shares",
                "cn-new-shares",
                "cn-st-shares",
                "cn-delisting",
                "cn-neeq",
                "cn-connect-sh",
                "cn-connect-sz",
                "hk-all",
                "hk-main",
                "hk-gem",
                "hk-connect-sh",
                "hk-connect-sz",
                "hk-ah",
                "hk-bluechips",
                "hk-redchips",
                "hk-stateowned",
                "hk-warrants",
                "hk-cbbc",
                "hk-index",
                "us-all",
                "us-wellknown",
                "us-china",
                "us-china-internet",
                "us-technology",
                "us-financial",
                "us-pinksheet",
                "us-index",
                "etf",
                "lof",
                "reits",
                "convertible-bonds",
                "bonds-sh",
                "bonds-sz",
                "bond-repo-sh",
                "bond-repo-sz",
                "bond-index",
                "index-sh",
                "index-sz",
                "index-csi",
                "index-global",
                "board-industry",
                "board-concept",
                "board-region",
                "forex-all",
                "forex-cnh"
              ],
              "enumTitles": [
                "All A-shares (Shanghai + Shenzhen + Beijing) 沪深京A股",
                "Shanghai A-shares 沪市A股",
                "Shenzhen A-shares 深市A股",
                "Beijing Stock Exchange 京市A股",
                "STAR Market 科创板",
                "ChiNext 创业板",
                "B-shares B股",
                "Newly listed shares 新股",
                "ST / risk-warned shares ST股",
                "Shares in delisting 退市整理",
                "NEEQ 新三板",
                "Shanghai Connect eligible 沪股通",
                "Shenzhen Connect eligible 深股通",
                "All Hong Kong stocks 全部港股",
                "Hong Kong Main Board 港股主板",
                "Hong Kong GEM 港股创业板",
                "Southbound Connect (Shanghai) 港股通(沪)",
                "Southbound Connect (Shenzhen) 港股通(深)",
                "A+H pairs with premium AH股比价",
                "Hong Kong blue chips 蓝筹股",
                "Hong Kong red chips 红筹股",
                "Hong Kong H-shares (state owned) 国企股",
                "Hong Kong warrants 港股窝轮",
                "Hong Kong CBBCs 港股牛熊证",
                "Hong Kong indices 港股指数",
                "All US stocks and ETFs 全部美股",
                "Well-known US stocks 知名美股",
                "US-listed Chinese companies 中概股",
                "US-listed Chinese internet 互联网中国",
                "US technology 美股科技类",
                "US financials 美股金融类",
                "US OTC / pink sheets 粉单市场",
                "US indices 美股指数",
                "ETFs ETF基金",
                "LOFs LOF基金",
                "REITs 公募REITs",
                "Convertible bonds 可转债",
                "Shanghai bonds 沪市债券",
                "Shenzhen bonds 深市债券",
                "Shanghai bond repo rates 沪市质押式回购",
                "Shenzhen bond repo rates 深市质押式回购",
                "Bond indices 债券指数",
                "Shanghai indices 上证系列指数",
                "Shenzhen indices 深证系列指数",
                "CSI indices 中证系列指数",
                "Major world indices 全球主要指数",
                "Industry boards 行业板块",
                "Concept boards 概念板块",
                "Region boards 地域板块",
                "Foreign exchange rates 外汇行情",
                "Offshore renminbi pairs 离岸人民币"
              ]
            }
          },
          "symbols": {
            "title": "Codes / names",
            "type": "array",
            "description": "Any mix of Eastmoney codes (600519, 000001), quote ids (1.600519), Hong Kong or US tickers (00700, AAPL), Eastmoney links (https://quote.eastmoney.com/sh600519.html) or Chinese and English names (贵州茅台, Apple) — names are resolved through Eastmoney's own search. Used by Quotes and Price history modes.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Same as above but always resolved through Eastmoney's search box API — handy for partial Chinese names (茅台, 比亚迪).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "boards": {
            "title": "Board codes (constituents)",
            "type": "array",
            "description": "Eastmoney board codes (BK0475 banks, BK1036 semiconductors, MK0021 ETF group …). Each one adds every constituent of that board to a Quotes run. Board codes appear as industryBoardCode in the output.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stop after this many rows (0 = no limit). One row is one instrument in Quotes mode, one bar in Price history, one fund, one NAV date, one report row or one announcement.",
            "default": 1000
          },
          "sortBy": {
            "title": "Order the market lists by",
            "enum": [
              "code",
              "amount",
              "volume",
              "changePercent",
              "price",
              "marketCap",
              "floatMarketCap",
              "turnoverRate",
              "volumeRatio",
              "amplitude",
              "peDynamic",
              "pb",
              "mainNetInflow",
              "listingDate"
            ],
            "type": "string",
            "description": "Eastmoney's own sort keys. Code order is the most stable one for deep pagination; turnover or market cap are the usual ways to read the top of a market.",
            "default": "code"
          },
          "sortDescending": {
            "title": "Highest first",
            "type": "boolean",
            "description": "Turn on for descending order (biggest turnover, biggest gainers, largest market cap first).",
            "default": false
          },
          "valuation": {
            "title": "Market cap, PE, PB",
            "type": "boolean",
            "description": "Market cap, float market cap, share counts and the three PE ratios Eastmoney shows (dynamic, static, TTM) plus PB.",
            "default": true
          },
          "fundamentals": {
            "title": "Revenue, profit, ROE",
            "type": "boolean",
            "description": "Revenue and net profit with year-on-year growth, weighted ROE, book value per share, gross margin, debt ratio and the report period they come from.",
            "default": true
          },
          "moneyFlow": {
            "title": "Money flow (主力资金)",
            "type": "boolean",
            "description": "Net inflow and share of turnover by order size (super-large, large, medium, small) for today, 3, 5 and 10 days, with Eastmoney's rank.",
            "default": true
          },
          "classification": {
            "title": "Industry, region, concepts",
            "type": "boolean",
            "description": "The industry, region and concept boards the instrument belongs to, listing date, AH pair with premium, convertible-bond conversion data and board breadth (rising/falling counts, leading and lagging constituents).",
            "default": true
          },
          "orderBook": {
            "title": "Best bid / ask",
            "type": "boolean",
            "description": "Best two bid and ask prices, bid and ask volume, order imbalance (委比), inner and outer volume.",
            "default": true
          },
          "period": {
            "title": "Bar size",
            "enum": [
              "1m",
              "5m",
              "15m",
              "30m",
              "60m",
              "daily",
              "weekly",
              "monthly",
              "quarterly",
              "half-yearly",
              "yearly"
            ],
            "type": "string",
            "description": "K-line period. Measured 2026-10-25: 1-minute bars cover only the latest trading day (240 bars for a mainland share, 330 for a Hong Kong share), 5-, 15-, 30- and 60-minute bars cover the latest 31 trading days, daily and longer bars go back to the listing date.",
            "default": "daily"
          },
          "adjustment": {
            "title": "Price adjustment",
            "enum": [
              "none",
              "forward",
              "backward"
            ],
            "type": "string",
            "description": "Raw prices (不复权) are the prices actually traded that day — the default. Forward adjusted (前复权) is what Eastmoney's charts show by default, but Eastmoney builds it by subtracting every later dividend from the old prices, so the early history of a heavy dividend payer goes negative (Kweichow Moutai's 2001 bars come out around −312). Backward adjusted (后复权) stays positive and is the one to use for long-run return series.",
            "default": "none"
          },
          "barsPerSymbol": {
            "title": "Bars per instrument",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Keep only the newest N bars per instrument (0 = the whole history Eastmoney has). Also applies to NAV points per fund.",
            "default": 0
          },
          "maxSymbols": {
            "title": "Max instruments / funds",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "How many instruments (Price history) or funds (Fund NAV history) one run may read when the codes come from a market list or fund type.",
            "default": 200
          },
          "fromDate": {
            "title": "From date",
            "type": "string",
            "description": "YYYY-MM-DD. Filters price bars, NAV dates and announcements.",
            "default": ""
          },
          "toDate": {
            "title": "To date",
            "type": "string",
            "description": "YYYY-MM-DD. Filters price bars, NAV dates and announcements.",
            "default": ""
          },
          "fundTypes": {
            "title": "Fund types",
            "uniqueItems": true,
            "type": "array",
            "description": "Which of Eastmoney's fund rankings to read. Open-end covers equity, bond, mixed, index, QDII and FOF funds; exchange-traded covers ETFs, LOFs and closed-end funds; money-market funds have their own yield columns.",
            "items": {
              "type": "string",
              "enum": [
                "open-end",
                "exchange-traded",
                "money-market"
              ],
              "enumTitles": [
                "Open-end funds 开放式基金",
                "Exchange-traded funds 场内交易基金",
                "Money-market funds 货币型基金"
              ]
            },
            "default": [
              "open-end"
            ]
          },
          "fundCodes": {
            "title": "Fund codes",
            "type": "array",
            "description": "Six-digit fund codes (000001, 110011 …) for Fund NAV history mode. Leave empty to take the codes from the chosen fund types.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "reportKinds": {
            "title": "Reports",
            "uniqueItems": true,
            "type": "array",
            "description": "Which tables of Eastmoney's financial data centre to read. Each row is one company for one report period, with Eastmoney's own figures.",
            "items": {
              "type": "string",
              "enum": [
                "performance",
                "forecast",
                "express",
                "balance",
                "income",
                "cashflow",
                "valuation"
              ],
              "enumTitles": [
                "Results summary 业绩报表",
                "Results forecast 业绩预告",
                "Results express 业绩快报",
                "Balance sheet 资产负债表",
                "Income statement 利润表",
                "Cash-flow statement 现金流量表",
                "Daily valuation of every A-share 估值分析"
              ]
            },
            "default": [
              "performance"
            ]
          },
          "reportPeriods": {
            "title": "Report periods",
            "type": "array",
            "description": "Quarter ends as YYYY-MM-DD (2026-06-30, 2025-12-31 …), or trading days for the daily valuation table. Leave empty and the Actor uses the most recent period Eastmoney has data for.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "reportMarket": {
            "title": "Report market",
            "enum": [
              "all",
              "cn-a-shares",
              "cn-sh-a",
              "cn-sz-a",
              "cn-chinext",
              "cn-star",
              "cn-bj-a",
              "cn-b-shares",
              "cn-neeq",
              "cn-st-shares"
            ],
            "type": "string",
            "description": "Which listed companies the report rows should cover, using the data centre's own market filters.",
            "default": "cn-a-shares"
          },
          "announcementScopes": {
            "title": "Announcement scopes",
            "uniqueItems": true,
            "type": "array",
            "description": "Which markets' filings to list, using Eastmoney's own announcement scopes.",
            "items": {
              "type": "string",
              "enum": [
                "cn-a-shares",
                "cn-sh-a",
                "cn-sz-a",
                "cn-chinext",
                "cn-star",
                "cn-bj-a",
                "cn-b-shares",
                "cn-neeq",
                "hk-all",
                "us-all",
                "bonds"
              ],
              "enumTitles": [
                "Shanghai + Shenzhen + Beijing A-shares 沪深京A股",
                "Shanghai A-shares 沪市A股",
                "Shenzhen A-shares 深市A股",
                "ChiNext 创业板",
                "STAR Market 科创板",
                "Beijing Stock Exchange 北交所",
                "B-shares B股",
                "NEEQ 三板",
                "Hong Kong stocks 港股",
                "US stocks 美股",
                "Bonds 债券"
              ]
            },
            "default": [
              "cn-a-shares"
            ]
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave the default on. Eastmoney's market-list endpoint answers only a couple of requests per address before refusing that address for minutes, so the Actor rotates addresses by itself: direct connection first, then datacenter sessions, then a small capped residential rescue route.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}