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.

21,5 triệu
bài viết đã được lập chỉ mục
25,000+
nhà xuất bản
100
quốc gia
~100
ngôn ngữ
90 ngày
cửa sổ trượt
0
API khóa tồn tại
Quy tắc: Không có khóa API nào tồn tại và sẽ không bao giờ có. Không có tham số nào cho một khóa, không có header nào để gửi, không có tài khoản nào để tạo, và không có hạn ngạch yêu cầu — chỉ có giới hạn tốc độ trên mỗi IP là 20 yêu cầu mỗi giây để một người gọi không thể làm sập dịch vụ cho tất cả những người dùng khác.

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.

EndpointCâu hỏi mà nó trả lời
GET /v1/searchTì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/statsCá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/articleMột bài viết theo đúng URL của nó, bao gồm toàn bộ nội dung.
GET /healthLiveness (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

Viết truy vấn như một công cụ tìm kiếm, không phải như một trợ lý ảo: Đây là lỗi phổ biến nhất. Tìm kiếm hoạt động theo logic AND cho tất cả các thuật ngữ, vì vậy hãy viết 2–5 từ khóa, không phải một câu hoàn chỉnh. 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ạngGhi chú
countryISO 3166-1 alpha-2, viết hoaQuố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.
langISO 639-1, viết thườngĐược phát hiện từ chính tài liệu. Độ bao phủ 99,9%.
tldkhông có dấu chấmVù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.
hosttên máy chủ chính xácNhư khi xuất hiện trong URL — bao gồm www. nếu nhà xuất bản sử dụng nó.
datehôm nay · hôm qua · 24h · 48h · 7 ngày · 30 ngàyChu kỳ cố định, được đánh giá dựa trên trường published_at.
from / toNgày tháng theo chuẩn ISOKhoảng thời gian cụ thể khi các bộ cài đặt trước không phù hợp.
strict_countrytrue/falseChỉ 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
sortdate · date_asc · crawled · crawled_asc · relevanceSắ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.
size1–100Số lượng kết quả trên mỗi trang.
offset0–9900Độ lệch phân trang.
full_texttrue/falseBao gồm nội dung bài viết. Mặc định là tắt.
highlighttrue/falseTrả về các đoạn văn bản khớp.
fieldsCSVGiớ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 giaBài viết
Ấn Độ2,286,014
Hoa Kỳ2,180,797
Thổ Nhĩ Kỳ1,499,897
Nga1,436,556
Ý1,057,479
Argentina826,947
Tây Ban Nha812,347
Ukraine662,041
Brazil551,013
Đức543,132
Pháp502,846
Hy Lạp460,372
Nhật Bản437,209
Việt Nam408,934
Mexico402,320
Hàn Quốc362,945
Romania354,229
Vương quốc Anh334,379
Iran291,782
Ba Lan255,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ớpCông cụĐộ phân giảiNguồn
Tiền mã hóaBitcoin, Ethereum, Solana, XRP, BNB, DogecoingiờBinance
Kim loạiVàng (USD/oz)giờBinance
Ngoại hốiEUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLNngàyECB
Năng lượngGiá đ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ốiGiá trị trả về
/v1/btc/summaryGiá mới nhất, các biến động gần đây và xu hướng tin tức trong ngày.
/v1/btc/priceNến BTC/USDT theo khoảng thời gian.
/v1/btc/sentimentXu hướng tin tức theo từng kỳ.
/v1/btc/seriesGiá và xu hướng được đồng bộ trên một dòng thời gian.
/v1/btc/correlationMố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/newsCá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/sourcesNhữ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:

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/mcp

Nó 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_keywordsCá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_publishersTra 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_countriesNhữ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_newsChuỗ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:

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ườngQuy trình ưu tiênPhạm vi bao phủ
descriptionJSON-LD → meta → OpenGraph → Thẻ Twitter → articleBody → đoạn mở đầu98.1%
language<html lang> → JSON-LD inLanguage → og:locale99.9%
countryccTLD → JSON-LD addressCountry → ngôn ngữ-vùng → og:locale79.1%
dateJSON-LD datePublished → meta → trafilatura → thời gian quét100%

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.

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ọiChi phí token ước tínhKhi nào
/v1/stats~200Bướ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/searchvài nghìn mỗi trangQuét và chọn.
/v1/search?full_text=true~900 mỗi bài viếtChỉ 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-4o

Cá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ủ:

Các gói miễn phí từ nhà cung cấp khác

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
Free News API

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
Phạm vi bao phủ từ nhà cung cấp khác

Ư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ế
Phạm vi bao phủ tại đây

Ấ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 event

Că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=50

Tì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 slice

Tó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.