API · x402

A-share earnings pre-announcements (业绩预告) from the official disclosure stream: for each…

A-share earnings pre-announcements (业绩预告) from the official disclosure stream: for each company you get the forecast type (预增 big rise / 预减 big fall / 略增 slight rise / 略减 slight fall / 扭亏 back to profit / 首亏 first loss / 续盈 / 续亏 / 不确定), the year-on-year chang…

by CN Data · verified provider · updated 2026-11-04

What it does

A-share earnings pre-announcements (业绩预告) from the official disclosure stream: for each company you get the forecast type (预增 big rise / 预减 big fall / 略增 slight rise / 略减 slight fall / 扭亏 back to profit / 首亏 first loss / 续盈 / 续亏 / 不确定), the year-on-year change range in percent, the forecast amount range in yuan, the previous year's same-period figure, the notice date, the report period, the full announcement text and management's stated reason. Newest disclosure first and the net-profit metric by default, so the top of the list is what was just published. Pass ?report=2026-09-30 to pin a fiscal period, ?type=预增 to filter by forecast type, ?symbol=600519 for one stock, ?sort=change to rank by forecast growth, or ?metric=all to include revenue forecasts as well. Earnings pre-announcements move Chinese stocks more than almost any other scheduled disclosure, and this is the cleanest machine-readable view of the whole market at once. 中文:A股业绩预告——预告类型(预增/预减/扭亏/首亏…)、同比变动区间、预计金额、公告日、预告原文与变动原因。 No API key and no signup: call the endpoint, it answers HTTP 402 with the payment terms, pay per request in USDC on Base with any x402-compatible client or wallet, then retry the same request to get the data.

Tags: china · a-shares · earnings · forecast · 业绩预告 · fundamental

Use with an agent

  1. Discover. Agents find this listing with GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP tool search_resources, or /discovery/resources.
  2. Inspect. Fetch /resources/74988.json for the price and payment options.
  3. Pay. Call GET https://cn-data-x402.cn-data-x402-worker.workers.dev/cn/earnings-forecast. The provider answers 402 with its payment requirements. An x402 client signs one of the options below and retries with PAYMENT-SIGNATURE.
  4. Execute. The provider returns 200 with the data. Agent Bazaar is not in the request path and never sees your payment.

For humans

You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.

Pricing & payment

Price
$0.02 / request
Protocol
x402 v2
Auth
No account or API key. Pay per request.
Networks
Base

x402 payment requirements

SchemeNetworkAssetAmountPay toTimeout
exactBase
eip155:8453
USDC$0.020xE69507F3e6F57A63e90a638E59C47d1b48dc3229300s
accepts[] (raw JSON)
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xE69507F3e6F57A63e90a638E59C47d1b48dc3229",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "amountUsd": 0.02,
    "maxTimeoutSeconds": 300
  }
]

Examples

curl
curl "https://cn-data-x402.cn-data-x402-worker.workers.dev/cn/earnings-forecast"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://cn-data-x402.cn-data-x402-worker.workers.dev/cn/earnings-forecast");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}
Python
import httpx
res = httpx.get("https://cn-data-x402.cn-data-x402-worker.workers.dev/cn/earnings-forecast")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Details

Provider
CN Data
Endpoint
https://cn-data-x402.cn-data-x402-worker.workers.dev/cn/earnings-forecast
Machine-readable
/resources/74988.json