Các nguồn tin tức API thường được bán theo lượt yêu cầu, bị khóa bởi một khóa API và giới hạn ở 100 lượt gọi mỗi ngày trên gói miễn phí. Free News API không theo cách đó: 21,5 triệu bài viết trong khung thời gian trượt 90 ngày, hơn 25.000 nhà xuất bản, không cần khóa, không cần đăng ký, không giới hạn, cho phép sử dụng thương mại. Dưới đây là toàn bộ bề mặt ứng dụng — tìm kiếm, thống kê, xu hướng, thị trường, nguồn dữ liệu và MCP — cùng một cái nhìn trung thực về những hạn chế của dữ liệu.
Bản chất của vấn đề
Hỏi một tác nhân AI về những chủ đề đang được viết về trên thế giới lúc này và nó sẽ có ba lựa chọn kém hiệu quả. Nó có thể thu thập dữ liệu trực tiếp từ các nhà xuất bản, nhưng cách này dễ hỏng, chậm và có nhiều vấn đề về mặt pháp lý. Nó có thể gọi một API tin tức thương mại, điều này đồng nghĩa với việc cần một tài khoản, một khóa API, hóa đơn hàng tháng và — trên mọi gói miễn phí hiện có — chỉ 100 lượt yêu cầu mỗi ngày cùng với việc các bài báo bị trễ 24 giờ. Hoặc nó có thể dự đoán dựa trên dữ liệu huấn luyện đã ngừng cập nhật từ nhiều tháng trước.
Free News API loại bỏ chi phí và thủ tục giấy tờ của tùy chọn thứ ba mà không làm mất đi khả năng của nó. Chỉ một yêu cầu GET, không cần thông tin xác thực, trên một bộ dữ liệu mà tại thời điểm viết bài này đang chứa 21.557.044 bài viết từ hơn 25.000 nhà xuất bản, được lưu trong khung thời gian trượt 90 ngày và được cập nhật liên tục — bài viết mới nhất trong chỉ mục thường có độ tuổi dưới hai phút.
Bốn Endpoint Cốt Lõi, Và Hơn Thế Nữa
Lõi của dịch vụ là bốn endpoint GET, tất cả đều nằm dưới https://freenewsapi.ai, tất cả đều trả về dữ liệu JSON UTF-8 với Access-Control-Allow-Origin: * để mã trình duyệt có thể gọi chúng trực tiếp, và tất cả đều báo cáo thời gian phía máy chủ trong took_ms.
| Endpoint | Câu hỏi mà nó trả lời |
|---|---|
GET /v1/search | Tìm kiếm toàn văn với bộ lọc. Endpoint mà bạn sẽ sử dụng 95% thời gian. |
GET /v1/stats | Các bộ đếm tổng hợp cho bất kỳ phân khúc nào — theo quốc gia, ngôn ngữ, TLD, nhà xuất bản và ngày. |
GET /v1/article | Một bài viết theo đúng URL của nó, bao gồm toàn bộ nội dung. |
GET /health | Liveness (trạng thái hoạt động) cùng với số lượng tài liệu hiện tại. Giá trị đủ thấp để có thể gọi kiểm tra (poll). |
Xung quanh lõi cốt lõi đó là bốn nhóm tính năng khác, mỗi nhóm đều có thể là một sản phẩm riêng biệt nếu được phát hành độc lập: trends (phân cụm câu chuyện theo thời gian thực theo từng quốc gia), markets (chuỗi giá được đối chiếu với khối lượng bao phủ), crypto sentiment (một khối Bitcoin gồm bảy điểm cuối), và syndication (cùng một kết quả tìm kiếm được hiển thị dưới dạng RSS, Atom hoặc nguồn cấp dữ liệu JSON). Tất cả những tính năng này đều được đề cập chi tiết bên dưới.
curl "https://freenewsapi.ai/v1/search?q=climate+summit&size=2"{
"took_ms": 41,
"total": 1284,
"total_is_lower_bound": false,
"size": 2,
"offset": 0,
"results": [
{
"id": "9c1f8a4b2d3e5f6071829304a5b6c7d8",
"url": "https://example-news.com/world/climate-summit-opens",
"title": "Climate summit opens with a call for binding targets",
"description": "Delegates from 190 countries gathered on Monday ...",
"published_at": "2026-08-17T09:12:00Z",
"crawled_at": "2026-08-17T10:48:31Z",
"host": "example-news.com",
"sitename": "Example News",
"country": "GB",
"country_source": "cctld",
"lang": "en",
"tld": "com"
}
]
}Ba trường trong phản hồi này заслуживает sự chú ý ngay lập tức vì chúng mã hóa tính minh bạch của toàn bộ tập dữ liệu. total_is_lower_bound cho bạn biết khi nào số lượng kết quả khớp đạt ngưỡng trần 10.000 và ngừng đếm. country_source cho bạn biết cách xác định quốc gia — bởi vì trong bất kỳ tập dữ liệu tin tức nào, một tỷ lệ lớn các giá trị quốc gia là suy luận, không phải sự thật. Và crawled_at là dấu thời gian đáng tin cậy: các nhà xuất bản thường đặt ngày đăng published_at trước, nhưng thời gian thu thập dữ liệu được hệ thống phân phối gán và chỉ luôn tiến về phía trước.
Tìm kiếm: Mọi tham số quan trọng
Tất cả các tham số đều không bắt buộc. Một lệnh gọi đơn giản sẽ trả về các bài viết mới nhất trong chỉ mục.
Truy vấn
- q Được so khớp với tiêu đề (độ nặng 3), mô tả (độ nặng 2) và nội dung bài viết. Logic AND — mọi thuật ngữ đều phải có mặt, vì vậy việc thêm một từ sẽ thu hẹp thay vì mở rộng kết quả. Tối đa 500 ký tự.
opec production cut (cắt sản lượng OPEC) hoạt động. what did OPEC decide about oil (OPEC đã quyết định gì về dầu mỏ) sẽ trả về kết quả rỗng.Bộ lọc
Các bộ lọc kết hợp với logic AND giữa các tham số và logic OR trong cùng một tham số. Vì vậy, country=DE,AT&lang=de được hiểu là "các bài viết bằng tiếng Đức từ Đức hoặc Áo". Mỗi tham số chấp nhận một danh sách các giá trị phân cách bằng dấu phẩy, tối đa năm mươi giá trị.
| Bộ lọc | Định dạng | Ghi chú |
|---|---|---|
country | ISO 3166-1 alpha-2, viết hoa | Quốc gia của nhà xuất bản. Được suy ra, không phải khai báo — xem country_source và strict_country. |
lang | ISO 639-1, viết thường | Được phát hiện từ chính tài liệu. Độ bao phủ 99,9%. |
tld | không có dấu chấm | Vùng tên miền của nhà xuất bản. tld=ua là một sự thật; country=UA là một phép suy luận. |
host | tên máy chủ chính xác | Như khi xuất hiện trong URL — bao gồm www. nếu nhà xuất bản sử dụng nó. |
date | hôm nay · hôm qua · 24h · 48h · 7 ngày · 30 ngày | Chu kỳ cố định, được đánh giá dựa trên trường published_at. |
from / to | Ngày tháng theo chuẩn ISO | Khoảng thời gian cụ thể khi các bộ cài đặt trước không phù hợp. |
strict_country | true/false | Chỉ tính các bài viết có quốc gia là một dữ kiện chắc chắn chứ không phải suy luận. |
Kiểm soát đầu ra
| Tham số | Giá trị | Hiệu ứng |
|---|---|---|
sort | date · date_asc · crawled · crawled_asc · relevance | Sắp xếp theo crawled khi lấy bài viết mới — các nhà xuất bản thường đặt lại thời gian công bố trước thời gian thực tế; thời gian thu thập dữ liệu chỉ tiến về phía trước. |
size | 1–100 | Số lượng kết quả trên mỗi trang. |
offset | 0–9900 | Độ lệch phân trang. |
full_text | true/false | Bao gồm nội dung bài viết. Mặc định là tắt. |
highlight | true/false | Trả về các đoạn văn bản khớp. |
fields | CSV | Giới hạn phản hồi chỉ bao gồm các trường bạn thực sự sử dụng. |
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=date&size=10"curl "https://freenewsapi.ai/v1/search?q=merger&country=DE&date=48h&sort=date&size=20"Đếm trước khi tìm kiếm
Điểm cuối ít được sử dụng nhất trong dịch vụ là /v1/stats. Câu hỏi thường gặp không phải là "các bài viết là gì" mà là "ở đây có gì không, và chúng ở đâu". Việc đếm các kết quả tốn ít chi phí hơn — khoảng hai trăm token so với vài nghìn token cho một trang kết quả — khiến nó trở thành lệnh gọi đầu tiên hợp lý cho một agent khi quyết định xem có nên thực hiện tìm kiếm hay không.
curl "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"Nó trả về số lượng theo quốc gia, ngôn ngữ, TLD, nhà xuất bản và ngày, được tính toán trên toàn bộ tập hợp khớp thay vì chỉ trang hiện tại. Đây cũng là cách bạn đo lường mức độ bao phủ trước khi tin tưởng vào dữ liệu. Bản chụp không lọc tại thời điểm viết:
Các quốc gia hàng đầu
| Quốc gia | Bài viết |
|---|---|
| Ấn Độ | 2,286,014 |
| Hoa Kỳ | 2,180,797 |
| Thổ Nhĩ Kỳ | 1,499,897 |
| Nga | 1,436,556 |
| Ý | 1,057,479 |
| Argentina | 826,947 |
| Tây Ban Nha | 812,347 |
| Ukraine | 662,041 |
| Brazil | 551,013 |
| Đức | 543,132 |
| Pháp | 502,846 |
| Hy Lạp | 460,372 |
| Nhật Bản | 437,209 |
| Việt Nam | 408,934 |
| Mexico | 402,320 |
| Hàn Quốc | 362,945 |
| Romania | 354,229 |
| Vương quốc Anh | 334,379 |
| Iran | 291,782 |
| Ba Lan | 255,599 |
Các ngôn ngữ hàng đầu
Tiếng Anh 5.513.650 · Tiếng Tây Ban Nha 2.699.457 · Tiếng Nga 1.785.796 · Tiếng Thổ Nhĩ Kỳ 1.501.004 · Tiếng Ý 992.200 · Tiếng Đức 733.677 · Tiếng Pháp 689.136 · Tiếng Ả Rập 664.016 · Tiếng Bồ Đào Nha 637.607 · Tiếng Hindi 560.840 · Tiếng Hy Lạp 466.504 · Tiếng Nhật 427.085 · Tiếng Việt 385.719 · Tiếng Romania 358.766 · Tiếng Trung 352.720 · Tiếng Ukraina 345.809 · Tiếng Hàn 335.079 · Tiếng Ba Tư 268.126 · Tiếng Ba Lan 238.904 · Tiếng Bulgaria 183.204.
Phân bố này đáng để bạn dành vài giây nhìn kỹ, bởi nó trái ngược hoàn toàn với những gì phần lớn các API tin tức thông thường cung cấp cho bạn. Bộ dữ liệu chủ yếu là tiếng Anh và tập trung vào Hoa Kỳ không phải là trường hợp của dữ liệu này: Ấn Độ vượt qua Hoa Kỳ, tiếng Thổ Nhĩ Kỳ vượt qua tiếng Đức, và tiếng Hy Lạp, tiếng Việt, tiếng Ba Tư cùng tiếng Bulgaria đều có số lượng bài viết lên tới sáu chữ số. Nếu câu hỏi của bạn liên quan đến một nền báo chí không phải tiếng Anh, thì đây là một bộ dữ liệu hoàn toàn khác biệt.
Khối lượng
Đường cong hàng ngày trong by_day bao phủ toàn bộ khung thời gian chín mươi ngày. Những ngày gần đây nằm trong khoảng 400.000 đến 700.000 bài viết mỗi ngày; những ngày đầu trong khung thời gian này, trước khi lớp RSS được thêm vào cùng với việc nhập kho lưu trữ, khối lượng bài viết hàng ngày dao động từ 130.000 đến 230.000. Cả hai con số này đều có thể được hiển thị trong cùng một phản hồi, đó chính là điểm mấu chốt — dịch vụ cho bạn thấy quá trình tăng trưởng của chính nó thay vì trích dẫn một con số trung bình mang tính marketing.
Xu hướng: Báo chí đang thực sự đưa tin về điều gì ngay lúc này
Tìm kiếm trả lời câu hỏi "điều gì đã được viết về X". Xu hướng trả lời một câu hỏi khác và thường tốt hơn: "điều gì đang xảy ra" — mà không cần một X cụ thể nào.
Một robot nhóm các bài báo thành các câu chuyện theo từng quốc gia và giữ chúng được cập nhật. Cứ năm phút một lần, các bài báo mới được gắn vào các câu chuyện đã biết thông qua các từ khóa nhận diện, hoàn toàn không cần gọi mô hình; cứ vài giờ một lần, một quốc gia sẽ trải qua một vòng xử lý đầy đủ, nơi một mô hình ngôn ngữ đọc các tiêu đề và đặt tên cho các câu chuyện từ đầu. Tại thời điểm viết bài, lớp xu hướng bao phủ 115 quốc gia, mỗi quốc gia được tính toán lại trong vòng vài phút gần nhất.
curl "https://freenewsapi.ai/v1/trends?country=US&window=24h&size=5"{
"window": "24h",
"filters": { "country": ["US"], "min_publishers": 1 },
"trends": [
{
"title": "Hurricane Marie threatens Labor Day weather",
"slug": "hurricane-marie-threatens-labor-day-weather",
"country": "US",
"category": "weather",
"articles": 57,
"publishers": 24,
"first_seen": "2026-09-05T19:24:36Z",
"latest": "2026-09-06T19:00:04Z",
"url": "https://freenewsapi.ai/trends/us/hurricane-marie-…",
"headlines": [ … ]
}
]
}Mỗi câu chuyện đều đi kèm với hai số liệu và chúng mang ý nghĩa khác nhau. articles (số bài viết) phản ánh mức độ ồn ào; publishers (số nhà xuất bản) phản ánh độ rộng. Một câu chuyện với 200 bài viết từ 4 cơ quan báo chí là sự ám ảnh của một tòa soạn. Một câu chuyện với 60 bài viết từ 40 cơ quan báo chí là một sự kiện. Sắp xếp mặc định được thực hiện theo số nhà xuất bản, và min_publishers / min_articles cho phép bạn tự đặt ngưỡng lọc.
Tin tức được gán một danh mục thuộc tập hợp cố định: politics (chính trị), business (kinh doanh), markets (thị trường), tech (công nghệ), sport (thể thao), health (sức khỏe), science (khoa học), culture (văn hóa), crime (tội phạm), conflict (xung đột), weather (thời tiết), society (xã hội).
Cửa sổ thời gian do người đọc chọn, không phải do robot quyết định
Đây là một quyết định thiết kế thực sự tinh tế. Mọi bài viết đều được lưu trữ kèm theo thời gian xuất bản và liên kết với câu chuyện tương ứng, vì vậy bất kỳ cửa sổ nào — mười lăm phút, một giờ, một ngày, hoặc một ngày lịch cụ thể — đều chỉ là một truy vấn khoảng thời gian trên cùng dữ liệu đã lưu. Một phép tính duy nhất phục vụ mọi cửa sổ cùng lúc. window=15m, window=1h, window=24h, date=2026-09-01, hoặc một cặp since/until rõ ràng đều hoạt động trên cùng một chỉ mục mà không cần tính toán lại.
Từ khóa: những từ nền tảng của tin tức
curl "https://freenewsapi.ai/v1/trends/keywords?country=US&size=8"Mỗi từ khóa được trả về kèm theo số lượng câu chuyện riêng biệt có sử dụng từ đó, số lượng bài viết trong các câu chuyện đó, và — điểm thú vị nhất — số lượng báo chí quốc gia sử dụng từ đó. Con số cuối cùng này là điểm khác biệt giữa một sự kiện toàn cầu và một sự kiện trong nước. Một từ xuất hiện ở bảy mươi quốc gia là một câu chuyện thế giới; một từ chiếm ưu thế trong báo chí của một quốc gia là một câu chuyện trong nước, dù nó có được đưa tin rầm rộ đến đâu.
Các quốc gia đang hoạt động
curl "https://freenewsapi.ai/v1/trends/countries"Trả về mọi quốc gia được theo dõi kèm theo số lượng câu chuyện trực tiếp và số phút đã trôi qua kể từ lần tính toán lại — Thổ Nhĩ Kỳ, Nga, Iran, Hy Lạp, Ấn Độ, Ý, Ukraine, Romania, Argentina, Đức và Brazil hiện đều có hàng nghìn câu chuyện trực tiếp mỗi quốc gia, được tính toán lại trong vòng mười phút gần nhất. Và /v1/trends/{cc}/{slug} mở ra bất kỳ câu chuyện đơn lẻ nào kèm theo danh sách bài viết đầy đủ của nó.
Thị trường so với Mức độ bao phủ: Giá trên một trục, Sự chú ý trên trục kia
Đây là điểm khác biệt nhất trong dịch vụ, và nó tồn tại vì bộ dữ liệu khiến việc xây dựng nó gần như không tốn kém. Đặt một chuỗi giá cạnh với mức độ thế giới viết về sự việc đó trong cùng các khung giờ, trên một dòng thời gian chung.
curl "https://freenewsapi.ai/v1/markets"Mười bốn công cụ được theo dõi, trải dài trên bốn lớp tài sản:
| Lớp | Công cụ | Độ phân giải | Nguồn |
|---|---|---|---|
| Tiền mã hóa | Bitcoin, Ethereum, Solana, XRP, BNB, Dogecoin | giờ | Binance |
| Kim loại | Vàng (USD/oz) | giờ | Binance |
| Ngoại hối | EUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLN | ngày | ECB |
| Năng lượng | Giá điện Đức (EUR/MWh) | giờ | Energy-Charts |
curl "https://freenewsapi.ai/v1/markets/usd-try?window=30d"Lệnh gọi duy nhất đó cung cấp cho bạn tỷ giá lira so với đô la và khối lượng bài báo trên các tờ báo Thổ Nhĩ Kỳ trong cùng khoảng thời gian, được phân bổ theo từng giờ. Báo chí Thổ Nhĩ Kỳ là nhóm lớn thứ ba trong bộ dữ liệu này, và chính lý do đó là sự kết hợp này tạo ra kết quả có ý nghĩa thay vì nhiễu dữ liệu.
Và một khối cảm xúc Bitcoin đầy đủ
Bitcoin có một bộ bảy điểm cuối riêng, bởi đây là công cụ duy nhất mà xu hướng tin tức và biến động giá luôn được tranh luận nhưng hiếm khi được đo lường:
| Điểm cuối | Giá trị trả về |
|---|---|
/v1/btc/summary | Giá mới nhất, các biến động gần đây và xu hướng tin tức trong ngày. |
/v1/btc/price | Nến BTC/USDT theo khoảng thời gian. |
/v1/btc/sentiment | Xu hướng tin tức theo từng kỳ. |
/v1/btc/series | Giá và xu hướng được đồng bộ trên một dòng thời gian. |
/v1/btc/correlation | Mối tương quan giữa xu hướng và biến động giá theo độ trễ thời gian — liệu tin tức có dẫn trước biến động giá hay đi sau nó? |
/v1/btc/news | Các bài báo về tiền điện tử kèm nhãn cảm xúc, có thể lọc theo nhãn, máy chủ, ngôn ngữ và truy vấn. |
/v1/btc/sources | Những nguồn tin nào đưa tin về tiền điện tử, và xu hướng của từng nguồn. |
Các nhãn cảm xúc được tạo ra bởi một mô hình ngôn ngữ chạy trên các bài báo tiền điện tử mới nhất mỗi năm phút, đối chiếu với một danh sách đồng tiền đã được hiệu chỉnh. /v1/btc/correlation với tham số max_shift là điểm đến phù hợp nếu bạn từng muốn kiểm chứng tuyên bố "tin tức gây ra biến động" thay vì chỉ lặp lại nó.
Cùng một truy vấn, dưới dạng nguồn cấp dữ liệu
Ba điểm cuối (endpoint) khác sử dụng cùng các tham số tìm kiếm và hiển thị kết quả dưới dạng các định dạng syndication thay vì JSON:
GET /v1/rss— RSS 2.0GET /v1/atom— Atom 1.0GET /v1/feed.json— JSON Feed 1.1
https://freenewsapi.ai/v1/rss?q=semiconductor+export+controls&lang=en&date=7d&sort=dateĐiều này có nghĩa là bất kỳ truy vấn nào đã lưu đều trở thành một nguồn cấp dữ liệu (feed) mà bạn có thể dán vào trình đọc tin, một node n8n, tích hợp Slack, một trigger Zapier hoặc trình tạo trang web tĩnh — mà không cần mã và không cần khóa. Đây là một tính năng nhỏ nhưng âm thầm loại bỏ cả một lớp tích hợp cho những người không chuyên về lập trình.
MCP: Hai mươi tám công cụ, hai lớp
Máy chủ MCP hoạt động tại một URL, hỗ trợ Streamable HTTP (JSON-RPC 2.0 qua POST, phiên bản giao thức 2025-06-18), hỗ trợ batch (gửi nhiều yêu cầu cùng lúc), và — giống như mọi thứ khác ở đây — không có bước xác thực và không có id phiên.
claude mcp add --transport http freenewsapi https://freenewsapi.ai/mcpNó cung cấp 28 công cụ trong hai lớp được thiết kế có chủ đích.
Lớp một: sáu phím tắt trả lời một câu hỏi trọn vẹn chỉ trong một lần gọi
| Công cụ | Dành cho |
|---|---|
search_news | "Có gì được viết về X" — tìm kiếm toàn văn, kết quả đã được tinh gọn. |
get_trends | "Diễn biến hiện tại" — các câu chuyện được nhóm lại thay vì một danh sách bài viết. |
trend_keywords | Các từ khóa làm nền tảng cho tin tức tại thời điểm hiện tại, kèm theo số lượng câu chuyện và mức độ phân bố theo quốc gia. |
find_publishers | Tra cứu các đầu báo: tên miền, quốc gia, ngôn ngữ, số bài viết mỗi ngày. |
list_countries | Những quốc gia nào có tin tức trực tiếp, số lượng ra sao và mức độ mới của tin. |
market_vs_news | Chuỗi giá đi kèm với khối lượng đưa tin. Gọi công cụ này mà không truyền tham số công cụ tài sản để xem những gì đang có. |
Lớp thứ hai: mọi điểm cuối (endpoint), được tạo ra từ chính dịch vụ
Bên dưới các lối tắt, mỗi điểm cuối thô đều được phơi bày như một công cụ riêng với mọi tham số mà API chấp nhận — news_get_search, news_get_stats, news_get_article, news_get_trends, news_get_trends_keywords, news_get_markets_slug, toàn bộ họ news_get_btc_*, các trình hiển thị nguồn cấp dữ liệu (feed renderers) và news_get_health. Những công cụ này được tạo ra từ dịch vụ trực tiếp, nên chúng không thể lệch khỏi những gì API thực sự chấp nhận.
Hai công cụ meta khép kín vòng lặp: news_list_endpoints trả về danh mục của mọi thứ hiện có, và news_get thực hiện một yêu cầu GET thô trên bất kỳ đường dẫn nào — vì vậy, một agent gặp phải một điểm cuối mà danh sách công cụ của nó không bao quát vẫn có thể truy cập được.
curl "https://freenewsapi.ai/mcp?format=json"Một yêu cầu GET, không cần quy trình bắt tay (handshake), và bạn đã có toàn bộ danh mục có thể đọc được bởi máy: máy chủ, giao thức vận chuyển, giao thức, số lượng công cụ, mọi công cụ kèm mô tả, và mọi điểm cuối kèm danh sách tham số.
Được xây dựng để máy móc đọc được
Tài liệu không phải là phần bổ sung được gắn vào API một cách qua loa — nó là một sản phẩm đầu ra chính thức của chính API. Trang web bao gồm 665 trang tĩnh, và một số trang trong số đó tồn tại cụ thể để một mô hình không cần phải đọc HTML:
- /openapi.json Toàn bộ lược đồ OpenAPI.
- /llms.txt Một tệp định hướng ngắn gọn — giới thiệu về dịch vụ, các điểm cuối (endpoint), cách truy vấn hiệu quả và các lỗi thường gặp.
- /llms-full.txt Toàn bộ tài liệu dưới dạng một tệp văn bản thuần túy, có dung lượng hơn một trăm kilobyte, giúp tác nhân AI (agent) có thể nạp toàn bộ hướng dẫn chỉ trong một lần tải về.
- /agents Ba mươi chín trang được thiết kế dành riêng cho những nhà phát triển tác nhân: các định nghĩa hàm có sẵn của OpenAI, định nghĩa công cụ của Anthropic, prompt hệ thống để truy xuất tin tức, công thức RAG, bảng chi phí token và các công thức xây dựng tác nhân.
- /agents/models Mã gọi công cụ theo từng họ mô hình — Qwen, DeepSeek, MiniMax, Kimi, GLM, Doubao, Hunyuan, ERNIE, Yi, Step, GPT, Claude, Gemini, Grok, Mistral, Llama, Command, Nova, Phi, Jamba, Sonar, OpenRouter, Ollama, vLLM.
- /data Nội dung bên trong bộ dữ liệu, phương pháp luận, lược đồ chỉ mục và một trang có tiêu đề Chất lượng dữ liệu ghi lại những sai sót của tập dữ liệu.
- /sources Một danh mục có thể duyệt với 11.668 nhà xuất bản, có thể lọc theo quốc gia, ngôn ngữ và vùng tên miền.
- /compare Các trang so sánh trực tiếp với NewsAPI.org, GNews.io, NewsData.io, Mediastack, Currents, TheNewsAPI, NewsCatcher, WorldNewsAPI, Perigon, APITube và FreeNewsAPI.io.
Cộng thêm 168 trang quốc gia, 121 trang ngôn ngữ và 275 trang TLD — mỗi phần của tập dữ liệu đều có một bề mặt duyệt riêng, hiển thị chính xác những gì có trong đó.
Nguồn gốc của các bài viết
Hai đường nạp dữ liệu cùng cung cấp cho cùng một chỉ mục, và sự khác biệt giữa chúng có ý nghĩa quan trọng.
Đường dẫn lưu trữ
Mười phút một lần, một công việc sẽ kiểm tra kho lưu trữ CC-NEWS của Common Crawl để tìm các tệp WARC mới và xử lý bất kỳ nội dung nào chưa từng thấy, sử dụng bốn mươi worker song song. Bộ trích xuất sẽ tách từng bài viết khỏi dữ liệu quét thô bằng cách sử dụng một quy trình ưu tiên đã được tài liệu hóa cho từng trường — và các quy trình này đã được đo lường dựa trên dữ liệu thực tế thay vì được giả định:
| Trường | Quy trình ưu tiên | Phạm vi bao phủ |
|---|---|---|
| description | JSON-LD → meta → OpenGraph → Thẻ Twitter → articleBody → đoạn mở đầu | 98.1% |
| language | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| country | ccTLD → JSON-LD addressCountry → ngôn ngữ-vùng → og:locale | 79.1% |
| date | JSON-LD datePublished → meta → trafilatura → thời gian quét | 100% |
Con số quốc gia này là trung thực, và đó là lý do country_source được hiển thị trên mọi bài viết: khoảng một phần năm các bản ghi không có tín hiệu quốc gia đáng tin cậy, và khoảng một phần ba các giá trị hiện có là suy luận thay vì sự thật. API cho bạn biết cái nào là cái nào thay vì giả vờ.
Đường dẫn trực tiếp
Một robot thứ hai kiểm tra các nguồn cấp dữ liệu RSS của nhà xuất bản mỗi năm phút, trong một chu trình với các yêu cầu có điều kiện — một nguồn cấp dữ liệu trả về 304 Not Modified (Không thay đổi) gần như không tốn kém gì, và khoảng thời gian kiểm tra của mỗi nguồn cấp dữ liệu được điều chỉnh theo tần suất thực tế mà nó xuất bản. Một cơ quan báo chí đăng năm bài viết mỗi ngày sẽ không bị kiểm tra liên tục mỗi mười lăm phút.
Nó cũng chỉ lấy những gì nhà xuất bản đưa vào nguồn cấp dữ liệu: tiêu đề, đoạn mở đầu và toàn bộ văn bản khi nguồn cấp dữ liệu chứa chúng. Nó không truy cập vào trang web của nhà xuất bản để lấy thêm thông tin. Đó là một ranh giới cố ý, và đó là lý do dịch vụ có thể đưa ra những lời hứa mà nó đưa ra trên trang pháp lý dành cho nhà xuất bản của mình.
Và các công cụ xung quanh chúng
Xung quanh hai đường dẫn thu thập dữ liệu là một chục robot khác hoạt động theo lịch trình: khám phá và đồng bộ hóa nguồn, phân giải quốc gia theo tên miền, xây dựng và kiểm tra xu hướng, lấp đầy từ khóa, cảm xúc tiền điện tử, kéo dữ liệu thị trường, danh mục phân loại, lưu giữ (cửa sổ chín mươi ngày được thực thi bằng truy vấn hàng đêm trên trường published_at, không phải bằng tuổi của chỉ mục), xác minh ngày, kiểm tra lại các bài viết trống và một bộ bảo vệ sức khỏe sẽ khởi động lại bất cứ thứ gì đã ngừng hoạt động. Kho dữ liệu được lưu trữ trên một cụm Elasticsearch chuyên dụng.
Những Sai Lầm Của Bộ Dữ Liệu Này
Dịch vụ công bố các hạn chế của chính mình, đây là cách nhanh nhất để đánh giá xem nó có phù hợp với vấn đề của bạn hay không.
- Quốc gia được suy luận Đọc
country_sourcetrên mọi bài viết và thêmstrict_country=truekhi bạn đang đếm theo quốc gia thay vì duyệt qua. - published_at do nhà xuất bản cung cấp Việc đặt lại ngày là phổ biến. Sắp xếp theo
crawledkhi bạn đang kiểm tra các nội dung mới. - total bị giới hạn ở 10.000 Để tăng tốc độ.
total_is_lower_boundcho bạn biết khi bạn đạt đến giới hạn. - Không có phân tích cảm xúc hoặc trích xuất thực thể Ngoài khối Bitcoin, các bài viết không có điểm cảm xúc và không có thực thể được đặt tên. Điều đó nằm ngoài phạm vi.
- Chín mươi ngày, không hơn Không có kho lưu trữ sâu hơn. Nếu bạn cần dữ liệu từ năm 2019, đây không phải là công cụ phù hợp.
- Không có SLA Dịch vụ miễn phí. Dù vậy, hệ thống vẫn được giám sát và bảo vệ, nhưng không có bất kỳ cam kết nào được ghi lại bằng văn bản.
- Văn bản thuộc về các nhà xuất bản Mỗi phản hồi đều bao gồm URL gốc, và người dùng được khuyến khích liên kết ngược lại với nguồn đó.
Sử dụng hiệu quả: Chi phí, phân trang và lỗi
Kỷ luật về token
Đối với một agent, kích thước phản hồi chính là chi phí thực tế. Hình thức tính toán chi tiết được mô tả như sau:
| Lời gọi | Chi phí token ước tính | Khi nào |
|---|---|---|
/v1/stats | ~200 | Bước đầu tiên. Hãy quyết định xem việc chạy tìm kiếm có đáng giá hay không. |
Chỉ metadata của /v1/search | vài nghìn mỗi trang | Quét và chọn. |
/v1/search?full_text=true | ~900 mỗi bài viết | Chỉ dành cho số ít bài bạn thực sự chọn. |
Hai mươi bài viết với full_text=true tương đương khoảng 40.000 token. Mẫu được khuyến nghị luôn như nhau: đếm, quét, rồi lấy nội dung đầy đủ cho những bài cần thiết.
Phân trang vượt quá giới hạn
offset dừng lại ở mức 9.900. Để duyệt một tập dữ liệu lớn, đừng cố vượt giới hạn đó — hãy chia nhỏ theo thời gian. Lặp lại theo từng ngày, hoặc từng giờ đối với các truy vấn nặng, sử dụng from/to và sort=date. Tài liệu có một trang riêng về cách duyệt toàn bộ một ngày.
Lỗi
Hợp đồng rõ ràng và dễ dàng để lập trình: 4xx có nghĩa là yêu cầu sai — hãy sửa nó, không thử lại. 5xx có nghĩa là dịch vụ đang gặp sự cố — hãy giảm tần suất. 429 có nghĩa là giảm tốc độ và thử lại. Các tham số truy vấn không xác định sẽ bị bỏ qua thay vì bị từ chối, nên việc thêm một trường dữ liệu không bao giờ làm hỏng các caller hiện có.
Xác định bản thân (Tùy chọn, và thực sự là tùy chọn)
Không có khóa, sẽ không có cách nào để xác định được caller. Sự lịch sự được đề xuất là một header đặt tên cho agent của bạn, framework mà nó chạy qua và mô hình đang vận hành nó:
X-Agent: agent_name=<agent>; software=<langchain|llamaindex|n8n|claude-desktop|cursor|openai-assistants|crewai|custom>; model=<model>; version=<v>; purpose=<rag|monitoring|research|digest>; contact=<url or mailto>
User-Agent: <agent>/<version> (+<contact url>)Các giá trị tương tự cũng hoạt động như các tham số truy vấn thông thường, điều này thường dễ dàng hơn:
https://freenewsapi.ai/v1/search?q=climate&agent_name=newsbot&software=langchain&model=gpt-4oCác khóa không xác định sẽ bị bỏ qua, nên các khóa bổ sung luôn an toàn khi gửi. Không có gì được xác thực, không có gì bị giới hạn tốc độ do việc bỏ qua nó, và chỉ có một hướng dẫn kiên quyết: không bao giờ đưa dữ liệu cá nhân của người dùng cuối vào các trường này.
Đối mặt với tin tức trả tiền API
Các trang so sánh trên trang web bao gồm mười một đối thủ cạnh tranh một cách riêng biệt. Những khác biệt về cấu trúc tồn tại ở tất cả các đối thủ:
100 yêu cầu/ngày, độ trễ 24 giờ
Mô hình tiêu chuẩn của gói tin tức miễn phí API: một bucket token đủ nhỏ để dùng làm bản demo, với các bài viết mới nhất được giữ lại cho khách hàng trả phí.
- Yêu cầu khóa API
- Giới hạn hàng ngày
- Bài viết bị làm chậm
- Chỉ dành cho mục đích phi thương mại
Không giới hạn, không độ trễ, không cần khóa API
Giới hạn duy nhất là 20 yêu cầu/giây mỗi IP. Bài viết mới nhất thường có độ trễ dưới hai phút và cho phép sử dụng cho mục đích thương mại.
- Không cần khóa API, không cần đăng ký
- Không giới hạn hàng ngày hay hàng tháng
- Làm mới liên tục
- Cho phép sử dụng thương mại
Ưu tiên tiếng Anh, ưu tiên thị trường Mỹ
Hầu hết các tập dữ liệu được xây dựng từ danh sách các nhà xuất bản bằng tiếng Anh, sau đó mới bổ sung phần còn lại của thế giới.
- Thiên về tiếng Anh
- Phạm vi bao phủ các ngôn ngữ không dùng chữ Latinh còn hạn chế
Ấn Độ > Mỹ, Thổ Nhĩ Kỳ > Đức
Khoảng 100 ngôn ngữ với khối lượng dữ liệu lên tới sáu chữ số ở Hy Lạp, Việt Nam, Ba Lan, Ukraine và Bulgaria.
- 100 quốc gia
- ~100 ngôn ngữ
- 11.668 nguồn đã được lập mục lục
Những gì các dịch vụ trả phí vẫn cung cấp mà giải pháp này không có: điểm số cảm xúc và trích xuất thực thể dưới dạng các trường tiêu chuẩn, kho lưu trữ kéo dài nhiều năm, cùng hợp đồng có đảm bảo SLA đi kèm. Những tính năng này rất thực tế, và nếu bạn cần chúng, hãy mua dịch vụ trả phí.
Công thức sử dụng
Công cụ giám sát quốc gia theo thời gian thực
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=crawled&size=50"Tin tức này mang tính toàn cầu hay trong nước?
curl "https://freenewsapi.ai/v1/trends/keywords?size=30"
# read `countries` on each keyword: 1 country = domestic, 70 = world eventCăn chỉnh mô hình với dữ liệu cập nhật mới nhất một cách tiết kiệm
# 1. count first
curl "https://freenewsapi.ai/v1/stats?q=semiconductor+export+controls&date=7d"
# 2. scan metadata
curl "https://freenewsapi.ai/v1/search?q=semiconductor+export+controls&date=7d&lang=en&size=20&sort=relevance"
# 3. fetch bodies for the three you picked
curl "https://freenewsapi.ai/v1/article?url=<exact-url>&full_text=true"Phạm vi bao phủ có quyết định giá cả không?
curl "https://freenewsapi.ai/v1/btc/correlation?interval=hour&max_shift=12"Biến một tìm kiếm đã lưu thành nguồn cấp dữ liệu
https://freenewsapi.ai/v1/rss?q=central+bank+rate&lang=en&date=24h&sort=date&size=50Tìm các kênh báo chí có tầm ảnh hưởng tại một thị trường
curl "https://freenewsapi.ai/v1/stats?country=BR&date=30d&top=50"
# the `hosts` block is a ranked publisher list for that sliceTóm tắt ngắn
Free News API là công cụ tìm kiếm văn bản đầy đủ trên hơn 21,5 triệu bài báo tin tức từ hơn 25.000 nhà xuất bản tại 100 quốc gia và khoảng 100 ngôn ngữ, với cửa sổ dữ liệu trượt 90 ngày, được cập nhật liên tục, không yêu cầu khóa API, không cần đăng ký và không có hạn ngạch ngoài giới hạn tốc độ theo địa chỉ IP. Bên cạnh tính năng tìm kiếm, dịch vụ cung cấp phân cụm tin tức theo từng quốc gia theo thời gian thực tại 115 quốc gia, phân tích từ khóa để phân biệt sự kiện quốc tế với sự kiện trong nước, biểu đồ của mười bốn công cụ thị trường đối chiếu với khối lượng tin tức, khối phân tích cảm xúc Bitcoin với bảy điểm cuối, khả năng phân phối lại kết quả tìm kiếm qua RSS/Atom/JSON và máy chủ MCP gồm 28 công cụ được tạo ra từ chính dịch vụ này.
Dịch vụ tự ghi lại tỷ lệ lỗi của mình, minh bạch hóa cách mỗi giá trị quốc gia được tính toán và công bố một trang về những sai sót trong dữ liệu. Đối với một tác nhân AI cần biết thế giới đang nói gì — bằng tiếng Thổ Nhĩ Kỳ, tiếng Hy Lạp, tiếng Hindi, ngay lúc này — sự kết hợp các tính năng này rất khó tìm với bất kỳ mức giá nào, và dịch vụ này lại hoàn toàn miễn phí.
Phép tìm kiếm sử dụng logic AND cho tất cả các từ khóa. Hãy sử dụng 2–5 từ khóa thay vì một câu hỏi bằng ngôn ngữ tự nhiên.
Free News API, hướng dẫn cách truy vấn hiệu quả
Bắt đầu tại đây: freenewsapi.ai · Kết nối MCP tại freenewsapi.ai/mcp · Toàn bộ hướng dẫn dưới dạng một file duy nhất tại /llms-full.txt.