NewTimeSpace API
An AI-powered international financial news subscription source, focused on delivering timely and accurate global financial intelligence. Coverage includes IPO insights, ETF market analysis, technology and innovation trends, and strategies for Chinese companies expanding overseas. By leveraging artificial intelligence, the platform connects global value and helps users identify investment opportunities and industry trends.
Subscription Advantages:Real-time updates on daily movements and key topics across Hong Kong stocks, A-shares, and U.S.-listed Chinese companies, including IPO listings, cornerstone investors, grey-market trading, subscription multiples and fundraising amounts, first-day trading performance, as well as rankings of sponsors, underwriters, legal advisers, and auditors. It also provides comprehensive ETF intelligence such as intraday alerts, daily ETF briefings, and fund flow analysis.
In-Depth Insights:Covers real-time developments, leading companies, think-tank reports, and industry observations across frontier sectors including biotechnology, innovative pharmaceuticals, blockchain, autonomous driving, new energy technologies, intelligent manufacturing, chips and semiconductors, robotics, and artificial intelligence. Offers multi-dimensional research reports and rankings in both Chinese and English from a global perspective.
NewTimeSpace API provides news query services with support for multiple languages (Simplified Chinese, Traditional Chinese, and English), category filtering, and keyword search. The API supports both JSON and XML response formats, selected via the format request parameter; the Accept header does not affect the format.
Supports batch news queries (pagination, sorting, filtering).
Supports querying details for single or multiple news items.
Multilingual support: zh-cn (Simplified Chinese, default), zh-hk (Traditional Chinese), en (English).
Error handling via standard HTTP status codes and error messages.
Rate limiting: returns HTTP 429 when request limits are exceeded.
Base URL: https://www.newtimespace.comNo registration, no API key; GET requests only.
GET https://www.newtimespace.com/api/v1/article/getArticles?page=1&limit=10&language=en&format=json
import json, urllib.request
raw = urllib.request.urlopen(
"https://www.newtimespace.com/api/v1/article/getArticles?format=json"
).read()
data = json.loads(raw.decode("utf-8-sig")) # responses start with a UTF-8 BOM; use utf-8-sig
for a in data["articles"]:
print(a["article_id"], a["pubDate"], a["title"])
print(data["pagination"]) # use the pages field as the pagination stop condition
Note: every response (JSON, XML, success and error alike) starts with a UTF-8 BOM (EF BB BF). Strip it before parsing, or JSON parsing fails with "Expecting value".
① Query the article list GET /api/v1/article/getArticles
↓ filter by title / tag / category / date / language, take article_id from the results
② Query article details GET /api/v1/article/detail?articleIds=…
↓ (only for fetch-by-known-ID, batch fetching, or switching language versions)
③ Read the content fields title / description / content / pubDate / tags …
↓
④ Cite the source use the url field from the response; never assemble it yourself
Note: list results already contain the full article text (content is the complete HTML). "Search → read the text" normally needs the list endpoint only; call the details endpoint only to fetch by known ID, to batch-fetch (up to 20 at a time), or to switch language versions.
| Scenario | Endpoint | Full documentation (click to jump) |
|---|---|---|
| Discover news: search by title/tag/category/date/language, browse with pagination | Get articles GET /api/v1/article/getArticles | Get articles |
| Already have an article_id: fetch one precisely, batch-fetch (up to 20), switch language version | Get article details GET /api/v1/article/detail | Get article details |
Search English articles whose title contains "profit warning" (query values must be URL-encoded):
GET /api/v1/article/getArticles?title=profit%20warning&language=en&format=json
Fetch ETF articles by category (category must match the language — see the full documentation):
GET /api/v1/article/getArticles?category=ETF&language=en&format=json
English articles published on a given day, 20 per page:
GET /api/v1/article/getArticles?language=en&date=2026-09-08&limit=20&format=json
Response structure: status + an articles array + a pagination object. Results are always sorted by publish time in descending order. No matches return HTTP 200 with an empty array — a normal response; do not retry.
Take an article_id from list results (e.g. 1445593) and fetch by ID:
GET /api/v1/article/detail?articleIds=1445593&format=json
Returns status + data, where data is the article object (title, description, content, pubDate, url and other full fields). Note: article_id must come from real list results — never construct one; a nonexistent ID returns HTTP 200 with "data": []; treat it as "not found".
Separate multiple IDs with commas:
GET /api/v1/article/detail?articleIds=1445593,1445506&format=json
Up to 20 IDs per request; more returns 400 (articleIds cannot exceed 20 items). Split larger batches, e.g. 45 IDs into 20 + 20 + 5.
Note: when a batch matches exactly 1 article, data is an object rather than an array; invalid IDs in a batch are skipped and only hits are returned — the shape of data follows the hit count. Check the data type before parsing.
format=json explicitly; the Accept request header does not affect the format.pagination.pages instead of reading only the first page.illegal request., which is not JSON.