About moomoo-news-search
moomoo-news-search is a skill for searching news, notices, and research reports on the moomoo platform. It turns API results into a language-matched roundup with titles, publication times, and original links.
Key features
- 01Search news, notices, and research reports
- 02Choose result count and sort order
- 03Format results as a news roundup
- 04Include titles, times, and source links
- 05Handle empty or failed API results
Use cases
- 01Collect recent news about a company
- 02Find notices for a stock symbol
- 03Retrieve research reports in the requested language
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ moomooopen/ moomoo-agent-hub --skill moomoo-news-searchAfter installing, type/moomoo-news-searchin Claude Code to confirm it loaded.
Details
From the project READMEmoomoo News Search Skill
Answer in the user's language by default.
Searches news, notices, and research reports on the moomoo platform and formats the results as a user-facing news roundup.
Base URL: https://ai-news-search.moomoo.com
Update this skill
Add or update this skill with npx. Ask the user before running either command.
npx skills add -y -g MoomooOpen/moomoo-agent-hub --skill moomoo-news-search
npx skills update moomoo-news-search -g -y
Empty Result Handling
When this skill's API returns empty results (data is empty or code is not 0), show:
- English: "No data available at the moment. Please try again later."
- Chinese: "暂无相关数据,请稍后再试。"
Workflow
1. Parse User Input
Extract the following from the user's request:
symbol: stock name, company name, English name, or ticker. Prefer the clearest target explicitly mentioned by the user.size: default to10. If the user asks for more, cap at50.lang: infer from the user's language. Common values arezh-CN,zh-HK, anden.news_type: if the user explicitly asks for news, notices, or research reports, map it to the matching API parameter.
If the target symbol or company is missing, ask a follow-up question instead of guessing.
2. Call the News API
Use GET /news_search to fetch the news data.
Required parameters:
keywordsizenews_type:1News,2Notice,3Research. Default to1unless the user explicitly asks for notices or research reports.
Optional parameters:
langsort_type
Default strategy:
keyword= extracted symbol or companysize= user-specified value, otherwise10sort_type=2for time-based sortingnews_type=1by default- If the user explicitly asks for notices, set
news_type=2 - If the user explicitly asks for research reports, set
news_type=3
Request example:
curl -sG 'https://ai-news-search.moomoo.com/news_search' \
-H 'User-Agent: moomoo-news-search/0.0.2 (Skill)' \
--data-urlencode 'keyword=Tencent' \
--data-urlencode 'size=10' \
--data-urlencode 'news_type=1' \
--data-urlencode 'lang=en' \
--data-urlencode 'sort_type=2'
3. Filter and Sort Results
- After the API call, check whether
codeis0. If not, surface the error message and do not fabricate results. - If the result set is empty, clearly tell the user that no relevant items were found.
- Present the final list in reverse chronological order, newest first.
4. Organize the Information
For each item, include:
- title
- publish time
- original link
Publish time requirements:
- Prefer converting
publish_timeinto a human-readable local time before replying. - If the API returns a Unix timestamp in seconds, format it as
YYYY-MM-DD HH:mm:ss. - If the API returns a Unix timestamp in milliseconds, convert it first, then format it as
YYYY-MM-DD HH:mm:ss. - If the exact timezone is unclear, label it conservatively as
publish timeand do not invent a timezone abbreviation.
5. Return Structured Output
Use the following default template:
{{symbol}} latest news (sorted by time):
1. {{title_1}}
Publish time: {{publish_time_1}}
URL: {{url_1}}
2. {{title_2}}
Publish time: {{publish_time_2}}
URL: {{url_2}}
...
10. {{title_10}}
Publish time: {{publish_time_10}}
URL: {{url_10}}
The above content is compiled from public information and does not constitute investment advice.
{{platform_source_footer}}
Output requirements:
- Always preserve the original article URL.
- Always show the title, publish time, and URL for every returned item.
- Do not show raw JSON by default.
- If fewer items are returned than requested, show only the actual items and do not pad the list.
6. Disclaimer
Append the following line at the end of every result:
The above content is compiled from public information and does not constitute investment advice.
API Reference
Endpoint
GET /news_search
Parameters
keyword: search keyword, must not be emptysize: number of items to return, must be greater than0, maximum50news_type:1News,2Notice,3Researchlang:zh-CN,zh-HK,ensort_type:1by popularity,2by time,3by attention
Response Shape
Top-level fields:
code:0means successmessage: error messagedata: result array
Common item fields:
news_idnews_typetitlepublish_timeurlimg_url
Behavior Rules
- When the user asks for "latest news", "recent updates", or a news roundup, default to
10items +sort_type=2+news_type=1. - When the user asks specifically for notices, prefer
news_type=2. For research reports, prefernews_type=3. - If the user provides only a company name, use it directly as
keyword. If the user provides a ticker, try the ticker first, and if needed retry once with a more natural company-name query. - Do not interpret the results as investment advice, trading signals, or target-price guidance.
- Do not invent sources, timestamps, or links.
- If
publish_timeis present, include it in every item rather than omitting it. - Do not omit
news_typein default requests, because default behavior should focus on actual news items only.
Example
Tencent latest news (sorted by time):
1. Tencent short-selling volume surged 266% during the March Hong Kong market pullback
Publish time: 2026-03-31 09:30:00
URL: https://...
2. Tencent completed buybacks for three consecutive days, totaling about HKD 900 million
Publish time: 2026-03-30 18:12:00
URL: https://...
3. Southbound funds posted net buying in Tencent for three straight days
Publish time: 2026-03-30 15:48:00
URL: https://...
The above content is compiled from public information and does not constitute investment advice.
Security
- Do not expose internal authentication details, cookies, tokens, or gateway internals in the reply.
- Use
--data-urlencodeforkeywordso Chinese text and special characters are encoded correctly.