Cls APIcls.cn ↗
Fetch real-time Chinese financial flash news from Cailianshe via the CLS.cn API. Filter by importance, company, or market-watching categories with cursor-based pagination.
What is the Cls API?
The CLS.cn API provides access to Cailianshe's real-time financial telegraph feed through a single endpoint, get_telegraph_list, returning up to 50 flash news items per request across 10 response fields including title, content, importance level, associated stock list, and reader engagement counts. It covers all categories or filtered subsets such as high-importance flagged items, company-specific news, and market-watching signals.
curl -X GET 'https://api.parse.bot/scraper/a3e87427-4818-4ff9-957c-2d57ec1ceedc/get_telegraph_list?category=red' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cls-cn-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: CLS Telegraph SDK — fetch real-time flash news from Cailianshe."""
from parse_apis.cls_cn_api import ClsCn, InputFormatInvalid
client = ClsCn()
# Fetch the latest telegraphs, capped at 5 total items.
for item in client.telegraphs.list(limit=5):
print(f"[{item.level}] {item.title} (reads: {item.reading_num})")
# Filter by category ('red' = important/highlighted) and drill into the first result.
try:
top_item = client.telegraphs.list(category="red", limit=1).first()
except InputFormatInvalid as e:
print(f"Invalid input: {e.message}")
top_item = None
if top_item is not None:
print(f"\n--- {top_item.title} ---")
print(top_item.content[:200])
# Show associated subjects
for subj in top_item.subjects:
print(f" subject: {subj.subject_name} (id={subj.subject_id})")
print("\nexercised: telegraphs.list / category filter / Subject navigation")
Fetch the latest telegraph (flash news) items from Cailianshe. Returns items in reverse chronological order. Supports category filtering and cursor-based pagination via last_time. Each request returns up to `limit` items; pass `next_last_time` from the response as `last_time` to fetch the next page.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of items to return per page (1-50). |
| category | string | Category filter code. Omitting returns all categories. Known values: 'red' (加红/重要), 'gs' (公司), 'watching' (看盘), 'hk_us' (港美股), 'fund' (基金). |
| last_time | string | Unix timestamp for cursor-based pagination. Pass next_last_time from previous response to get older items. When omitted, returns the latest items from current time. |
{
"type": "object",
"fields": {
"count": "number of items returned in this page",
"items": "array of telegraph objects, each containing id, title, content, brief, ctime, level, subjects, stock_list, reading_num, comment_num, share_num",
"next_last_time": "unix timestamp to pass as last_time for the next page"
},
"sample": {
"data": {
"count": 20,
"items": [
{
"id": 2465675,
"brief": "财联社8月27日电,韩国央行将基准利率从 2.75%上调至3.00%。",
"ctime": 1787791827,
"level": "B",
"title": "韩国央行宣布加息25个基点",
"content": "【韩国央行宣布加息25个基点】财联社8月27日电,韩国央行将基准利率从2.75%上调至3.00%,为连续第二次会议加息,符合市场预期。",
"subjects": [
{
"subject_id": 1556,
"subject_name": "环球市场情报"
}
],
"share_num": 1336,
"stock_list": [],
"comment_num": 30,
"reading_num": 138825
}
],
"next_last_time": 1787757148
},
"status": "success"
}
}About the Cls API
What the API Returns
The get_telegraph_list endpoint returns Cailianshe (财联社) flash news items in reverse chronological order. Each item in the items array includes id, title, content, brief, ctime (publish timestamp), level (importance rating), subjects, stock_list (associated ticker symbols), reading_num, and comment_num. The count field tells you how many items are in the current page, and next_last_time is a Unix timestamp used to fetch the next page of older results.
Filtering and Pagination
The category parameter accepts three known values: 'red' for high-importance flagged items (加红), 'gs' for company-related news (公司), and 'watching' for market-watching items (看盘). Omitting category returns the full mixed feed. The limit parameter accepts integers from 1 to 50. Pagination is cursor-based: take the next_last_time value from a response and pass it as last_time on the next call to walk backward through older telegraphs without gaps or duplicates.
Data Scope and Freshness
Cailianshe is a Chinese financial news wire focused on A-share markets, macro announcements, and listed-company events. The stock_list field links individual news items to relevant ticker symbols, enabling per-stock filtering on the client side. The level field surfaces editorial importance signals, which can be used to prioritize alerts. Items include engagement data (reading_num, comment_num) that reflect post-publish reader activity at the time of retrieval.
The Cls API is a managed, monitored endpoint for cls.cn — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cls.cn changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cls.cn API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Alert system that pushes high-importance (
level/'red'category) items to traders in real time - Per-ticker news aggregator that filters the
stock_listfield to track specific A-share securities - Sentiment pipeline that feeds
contentandreading_numinto NLP models for Chinese financial text - Market-open dashboard that displays
'watching'category telegraphs alongside live price data - Company monitoring tool that polls the
'gs'category for earnings, announcements, and disclosures - Historical archive builder that pages through older items using
next_last_timecursor chains
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Cailianshe (CLS.cn) have an official developer API?+
What does the `level` field indicate, and how does it differ from the `'red'` category filter?+
level field is a per-item editorial importance score attached to each telegraph object in the response. The 'red' category filter is a request-side parameter that restricts the returned feed to items editorially flagged as high-importance (加红). You can use level on the client side to further rank or threshold items within any category response.How does cursor-based pagination work with this endpoint?+
next_last_time Unix timestamp. Pass that value as the last_time parameter in your next request to retrieve items published before that point. The first request omits last_time and returns the most recent items. This approach avoids page-offset drift caused by new items arriving between requests.Does the API expose full article pages or extended reports beyond flash news?+
get_telegraph_list. You can fork this API on Parse and revise it to add an endpoint covering article detail pages.Can I retrieve telegraphs for a specific stock ticker directly from the endpoint?+
stock_list field with associated tickers, so ticker-based filtering needs to happen client-side after fetching results. The API covers category-level filters (red, gs, watching) at the request level. You can fork this API on Parse and revise it to add a ticker-parameter endpoint that pre-filters on the server side.