NewTimeSpace API
NewTimeSpace API

NewTimeSpace API Interface Introduction

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.

Key Features

  • 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.

Access Permissions:

The NewTimeSpace API employs an open access model. No additional authentication steps are required — callers can directly send requests via the interface address to complete integration and data calls.

Response Formats

  • JSON (default).
  • XML (specified via the format parameter).

Quick Start (AI Agent / Developer Edition)

Base URL: https://www.newtimespace.comNo registration, no API key; GET requests only.

First call, with explicit parameters:

GET https://www.newtimespace.com/api/v1/article/getArticles?page=1&limit=10&language=en&format=json

Up and running in ten seconds (Python):

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".

Recommended call flow

① 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.

Two endpoints — which one to use?

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

Scenario 1: Discovering news

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.

Scenario 2: Fetching a specific article

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".

Scenario 3: Fetching multiple articles in one request

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.

Notes for agents

  • Responses carry a UTF-8 BOM: strip it before parsing; prefer a decoding mode that removes the BOM automatically (e.g. Python's utf-8-sig).
  • Time fields are Beijing time (GMT+8): pubDate / date / time are all Beijing time; the pubDateTZ field is currently fixed to "UTC" — do not convert based on it, and do not add 8 hours.
  • The response format is determined solely by the format parameter: always pass format=json explicitly; the Accept request header does not affect the format.
  • Empty results are normal: no matches, a category/language mismatch, or a page beyond the total all return HTTP 200 with an empty array — do not treat them as failures or retry; stop paging on pagination.pages instead of reading only the first page.
  • Detail data has two shapes: an object when exactly 1 article matches, an array when several match; parsing code must handle both.
  • Rate limit: 20 requests per IP per 60 seconds; exceeding it returns 429 with a Retry-After header (wait accordingly before retrying). The response carries no remaining-quota headers — count request frequency yourself.
  • GET only: a POST request returns HTTP 200 plain text illegal request., which is not JSON.