API Berita biasanya dijual per permintaan, dikunci di balik kunci, dan dibatasi hingga seratus panggilan per hari pada tier gratis. Free News API tidak melakukan hal-hal tersebut: 21,5 juta artikel dalam jendela bergulir 90 hari, lebih dari 25.000 penerbit, tanpa kunci, tanpa pendaftaran, tanpa kuota, penggunaan komersial diizinkan. Berikut adalah seluruh permukaan — pencarian, statistik, tren, pasar, umpan, dan MCP — serta penjelasan jujur tentang kesalahan data.
Bentuk Masalah
Tanyakan kepada agen AI tentang apa yang sedang ditulis di dunia saat ini, dan ia memiliki tiga pilihan buruk. Ia dapat melakukan scraping penerbit secara langsung, yang rapuh, lambat, dan secara hukum ambigu. Ia dapat memanggil API berita komersial, yang berarti memerlukan akun, kunci, tagihan bulanan, dan — pada setiap tier gratis di pasaran — seratus permintaan per hari serta artikel yang tertunda hingga dua puluh empat jam. Atau ia dapat menebak dari data pelatihan yang berhenti beberapa bulan lalu.
Free News API menghilangkan harga dan administrasi opsi tengah tanpa menghilangkan kemampuannya. Satu permintaan GET, tanpa kredensial, atas korpus yang pada saat penulisan berisi 21.557.044 artikel dari lebih dari dua puluh lima ribu penerbit, disimpan dalam jendela bergulir sembilan puluh hari dan diperbarui secara kontinu — artikel terbaru dalam indeks biasanya berusia di bawah dua menit.
Empat Titik Akhir Inti, dan Lainnya
Inti layanan ini adalah empat titik akhir GET, semuanya di bawah https://freenewsapi.ai, semuanya mengembalikan JSON UTF-8 dengan Access-Control-Allow-Origin: * sehingga kode browser dapat memanggilnya secara langsung, dan semuanya melaporkan waktu sisi server dalam took_ms.
| Titik akhir | Apa yang dijawabnya |
|---|---|
GET /v1/search | Pencarian teks penuh dengan filter. Titik akhir yang Anda gunakan 95% dari waktu. |
GET /v1/stats | Penghitungan agregat untuk bagian mana pun — berdasarkan negara, bahasa, TLD, penerbit, dan hari. |
GET /v1/article | Satu artikel berdasarkan URL-nya yang tepat, termasuk seluruh teks isi. |
GET /health | Status liveness ditambah jumlah dokumen saat ini. Cukup murah untuk dilakukan polling. |
Di sekitar inti tersebut terdapat empat keluarga lagi, yang masing-masing akan menjadi produk tersendiri di tempat lain: trends (pengelompokan berita terkini per negara), markets (deret harga yang disesuaikan dengan volume liputan), crypto sentiment (blok Bitcoin tujuh titik akhir), dan syndication (pencarian yang sama yang disajikan sebagai RSS, Atom, atau JSON Feed). Semua hal tersebut dibahas di bawah ini.
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"
}
]
}Tiga bidang dalam respons tersebut layak mendapat perhatian segera karena mereka mengkodekan kejujuran seluruh dataset. total_is_lower_bound memberi tahu Anda ketika jumlah kecocokan mencapai batas atas 10.000 dan berhenti menghitung. country_source memberi tahu Anda bagaimana negara ditentukan — karena dalam dataset berita, sebagian besar nilai negara adalah inferensi, bukan fakta. Dan crawled_at adalah stempel waktu yang dapat dipercaya: penerbit sering kali memundurkan waktu published_at, tetapi waktu crawl ditetapkan oleh pipeline dan hanya bergerak maju.
Pencarian: Setiap Parameter yang Penting
Semua parameter bersifat opsional. Panggilan kosong akan mengembalikan artikel terbaru dalam indeks.
Kueri
- q Dicocokkan dengan judul (bobot 3), deskripsi (bobot 2), dan isi artikel. Semantik AND — setiap istilah harus ada, sehingga menambahkan kata akan mempersempit, bukan memperluas. Maksimal 500 karakter.
opec production cut berhasil. what did OPEC decide about oil tidak mengembalikan apa pun.Filter
Filter digabungkan dengan AND di seluruh parameter dan OR dalam satu parameter. Jadi country=DE,AT&lang=de dibaca sebagai "artikel berbahasa Jerman dari Jerman atau Austria". Masing-masing menerima daftar yang dipisahkan koma hingga lima puluh nilai.
| Filter | Format | Catatan |
|---|---|---|
country | ISO 3166-1 alpha-2, huruf kapital | Negara penerbit. Diturunkan, bukan dinyatakan — lihat country_source dan strict_country. |
lang | ISO 639-1, huruf kecil | Dideteksi langsung dari dokumen. Cakupan 99,9%. |
tld | tanpa titik | Zona domain penerbit. tld=ua adalah fakta; country=UA adalah inferensi. |
host | nama host yang tepat | Sesuai yang tercantum di URL — sertakan www. jika penerbit menggunakannya. |
date | hari ini · kemarin · 24 jam · 48 jam · 7 hari · 30 hari | Periode tetap, dievaluasi berdasarkan published_at. |
from / to | Tanggal ISO | Jendela eksplisit ketika preset tidak sesuai. |
strict_country | true/false | Hanya hitung artikel yang negaranya merupakan fakta pasti, bukan sekadar inferensi. |
Kontrol output
| Parameter | Nilai | Efek |
|---|---|---|
sort | date · date_asc · crawled · crawled_asc · relevance | Urutkan berdasarkan crawled saat melakukan polling untuk artikel baru — penerbit sering menunda waktu publikasi; waktu pengindeksan hanya bergerak maju. |
size | 1–100 | Jumlah hasil per halaman. |
offset | 0–9900 | Offset paging. |
full_text | true/false | Sertakan isi artikel. Secara bawaan dimatikan. |
highlight | true/false | Kembalikan fragmen yang cocok. |
fields | CSV | Potong respons agar hanya menyertakan bidang yang benar-benar Anda gunakan. |
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"Menghitung Sebelum Pencarian
Titik akhir yang paling jarang digunakan dalam layanan ini adalah /v1/stats. Seringkali, pertanyaan yang berguna bukanlah "apa saja artikelnya", melainkan "apakah ada sesuatu di sini, dan di mana letaknya". Menghitung memberikan jawaban dengan biaya sepersekian dari biaya normal — sekitar dua ratus token dibandingkan beberapa ribu token untuk satu halaman hasil — sehingga ini menjadi panggilan pertama yang tepat bagi agen yang memutuskan apakah pencarian layak dijalankan.
curl "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"Respons ini berisi jumlah berdasarkan negara, bahasa, TLD, penerbit, dan hari, yang dihitung berdasarkan seluruh set yang cocok, bukan hanya halaman saat ini. Ini juga cara Anda mengukur cakupan sebelum mempercayainya. Tangkapan layar tanpa filter pada saat penulisan:
Negara teratas
| Negara | Artikel |
|---|---|
| India | 2,286,014 |
| Amerika Serikat | 2,180,797 |
| Turki | 1,499,897 |
| Rusia | 1,436,556 |
| Italia | 1,057,479 |
| Argentina | 826,947 |
| Spanyol | 812,347 |
| Ukraina | 662,041 |
| Brasil | 551,013 |
| Jerman | 543,132 |
| Prancis | 502,846 |
| Yunani | 460,372 |
| Jepang | 437,209 |
| Vietnam | 408,934 |
| Meksiko | 402,320 |
| Korea Selatan | 362,945 |
| Rumania | 354,229 |
| Britania Raya | 334,379 |
| Iran | 291,782 |
| Polandia | 255,599 |
Bahasa utama
Bahasa Inggris 5.513.650 · Spanyol 2.699.457 · Rusia 1.785.796 · Turki 1.501.004 · Italia 992.200 · Jerman 733.677 · Prancis 689.136 · Arab 664.016 · Portugis 637.607 · Hindi 560.840 · Yunani 466.504 · Jepang 427.085 · Vietnam 385.719 · Rumania 358.766 · Mandarin 352.720 · Ukraina 345.809 · Korea 335.079 · Persia 268.126 · Polandia 238.904 · Bulgaria 183.204.
Distribusi ini layak diperhatikan sejenak, karena merupakan kebalikan dari apa yang biasanya diberikan oleh sebagian besar API berita. Korpus yang biasanya didominasi bahasa Inggris dan Amerika Serikat bukanlah apa yang ada di sini: India memiliki peringkat lebih tinggi daripada Amerika Serikat, Turki lebih tinggi daripada Jerman, dan Yunani, Vietnam, Persia, serta Bulgaria semuanya memiliki representasi sebanyak enam digit. Jika pertanyaan Anda berkaitan dengan pers non-Inggris, ini adalah kumpulan data yang secara substansial berbeda.
Volume
Kurva harian dalam by_day mencakup rentang waktu penuh sembilan puluh hari. Hari-hari terakhir berada dalam kisaran sekitar 400.000 hingga 700.000 artikel per hari; pada awal rentang waktu tersebut, sebelum lapisan RSS ditambahkan bersama dengan proses ingest arsip, volume harian berkisar antara 130.000–230.000. Kedua angka tersebut terlihat dalam respons yang sama, yang merupakan poin utamanya — layanan ini menunjukkan peningkatan kapasitasnya sendiri kepada Anda, bukan sekadar mengutip rata-rata pemasaran.
Tren: Apa yang Sebenarnya Diliput Pers Saat Ini
Pencarian menjawab pertanyaan "apa yang ditulis tentang X". Tren menjawab pertanyaan yang berbeda dan seringkali lebih baik: "apa yang sedang terjadi" — tanpa memerlukan X.
Sebuah robot mengelompokkan artikel ke dalam cerita berdasarkan negara dan terus memperbaruinya. Setiap lima menit, artikel baru ditambahkan ke cerita yang sudah dikenal berdasarkan kata-kata pengenalnya, tanpa memerlukan panggilan model sama sekali; setiap beberapa jam, satu negara melalui proses pemindaian penuh di mana model bahasa membaca judul dan menamai ulang cerita dari awal. Pada saat penulisan, lapisan tren mencakup 115 negara, yang masing-masing dihitung ulang dalam beberapa menit terakhir.
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": [ … ]
}
]
}Setiap cerita disertai dua jumlah yang memiliki makna berbeda. articles (artikel) mencerminkan volume; publishers (penerbit) mencerminkan cakupan. Sebuah cerita dengan 200 artikel dari 4 penerbit mencerminkan obsesi satu redaksi. Sebuah cerita dengan 60 artikel dari 40 penerbit mencerminkan sebuah peristiwa. Pengurutan default dilakukan berdasarkan penerbit, dan parameter min_publishers / min_articles memungkinkan Anda menetapkan batas sendiri.
Setiap berita memiliki kategori dari satu set tetap: politics, business, markets, tech, sport, health, science, culture, crime, conflict, weather, society.
Jendela waktu adalah pilihan pembaca, bukan pilihan robot
Ini adalah keputusan desain yang sangat elegan. Setiap artikel disimpan beserta waktu publikasinya dan dikaitkan dengan beritanya, sehingga jendela waktu apa pun — lima belas menit, satu jam, sehari, atau tanggal kalender tertentu — hanyalah kueri rentang waktu atas data yang sama yang telah disimpan. Satu komputasi melayani semua jendela sekaligus. window=15m, window=1h, window=24h, date=2026-09-01, atau pasangan since/until yang eksplisit semuanya bekerja terhadap indeks yang sama tanpa perlu komputasi ulang.
Kata kunci: kata-kata yang menjadi fondasi berita
curl "https://freenewsapi.ai/v1/trends/keywords?country=US&size=8"Setiap kata kunci dikembalikan beserta jumlah cerita berbeda yang menggunakannya, jumlah artikel yang dimuat oleh cerita-cerita tersebut, dan — yang paling menarik — berapa banyak pers nasional yang menggunakannya. Angka terakhir inilah yang membedakan peristiwa global dari peristiwa domestik. Sebuah kata yang muncul di tujuh puluh negara adalah cerita dunia; sebuah kata yang mendominasi pers satu negara adalah cerita domestik, sekeras apa pun suaranya di negara tersebut.
Negara mana saja yang aktif
curl "https://freenewsapi.ai/v1/trends/countries"Mengembalikan setiap negara yang dilacak beserta jumlah cerita langsungnya dan berapa menit lalu data tersebut diperbarui — Turki, Rusia, Iran, Yunani, India, Italia, Ukraina, Rumania, Argentina, Jerman, dan Brasil semuanya saat ini memuat ribuan cerita langsung masing-masing, yang diperbarui dalam sepuluh menit terakhir. Dan /v1/trends/{cc}/{slug} membuka satu cerita tunggal beserta daftar artikel lengkapnya.
Pasar vs. Liputan: Harga pada Satu Sumbu, Perhatian pada Sumbu Lainnya
Ini adalah hal paling tidak biasa dalam layanan ini, dan hal ini ada karena korpus membuatnya hampir gratis untuk dibangun. Tempatkan deret harga di samping seberapa banyak dunia menulis tentang hal itu dalam jam-jam yang sama, pada satu garis waktu.
curl "https://freenewsapi.ai/v1/markets"Empat belas instrumen dilacak, melintasi empat kelas aset:
| Kelas | Instrumen | Granularitas | Sumber |
|---|---|---|---|
| Kripto | Bitcoin, Ethereum, Solana, XRP, BNB, Dogecoin | jam | Binance |
| Logam | Emas (USD/oz) | jam | Binance |
| Valuta Asing | EUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLN | hari | ECB |
| Energi | Harga listrik Jerman (EUR/MWh) | jam | Energy-Charts |
curl "https://freenewsapi.ai/v1/markets/usd-try?window=30d"Satu panggilan tunggal tersebut memberikan Anda data lira terhadap dolar dan volume liputan pers Turki selama periode yang sama, yang disusun per jam. Pers Turki adalah lapisan ketiga terbesar dari korpus ini, yang menjadi alasan mengapa pasangan data tersebut menghasilkan sesuatu yang bermakna, bukan sekadar derau.
Dan blok sentimen Bitcoin yang lengkap
Bitcoin memiliki keluarganya sendiri yang terdiri dari tujuh endpoint, karena ini adalah satu-satunya instrumen di mana nada berita dan pergerakan harga terus-menerus diperdebatkan namun jarang diukur:
| Endpoint | Respons |
|---|---|
/v1/btc/summary | Harga terkini, pergerakan terbaru, dan nada liputan hari ini. |
/v1/btc/price | Kandela BTC/USDT berdasarkan interval. |
/v1/btc/sentiment | Nada berita per periode. |
/v1/btc/series | Harga dan nada selaras dalam satu garis waktu. |
/v1/btc/correlation | Korelasi antara nada dan pergerakan harga berdasarkan pergeseran waktu — apakah liputan mendahului harga, atau mengikutinya? |
/v1/btc/news | Artikel kripto dengan label sentimennya, yang dapat difilter berdasarkan label, host, bahasa, dan query. |
/v1/btc/sources | Media mana saja yang memuat liputan kripto, dan bagaimana masing-masingnya cenderung memandangnya. |
Label sentimen dihasilkan oleh model bahasa yang memindai artikel kripto terbaru setiap lima menit terhadap daftar koin yang telah dikalibrasi. /v1/btc/correlation dengan parameter max_shift adalah endpoint yang perlu Anda gunakan jika Anda ingin menguji klaim "berita menyebabkan pergerakan" daripada sekadar mengulanginya.
Pencarian yang Sama, sebagai Umpan
Tiga endpoint lainnya menerima parameter pencarian yang identik dan menyajikan hasil dalam format sindikasi, bukan 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=dateArtinya, setiap pencarian yang disimpan dapat diubah menjadi umpan yang dapat Anda tempelkan ke pembaca berita, simpul n8n, integrasi Slack, pemicu Zapier, atau generator situs statis — tanpa kode dan tanpa kunci API. Ini adalah fitur kecil yang secara diam-diam menghilangkan seluruh lapisan integrasi bagi pengguna non-pemrogram.
MCP: Dua Puluh Delapan Alat, Dua Lapis
Server MCP berada di satu URL, menggunakan HTTP yang dapat dialirkan (JSON-RPC 2.0 melalui POST, versi protokol 2025-06-18), mendukung pengelompokan permintaan, dan — seperti semua fitur lainnya di sini — tidak memerlukan langkah otorisasi maupun id sesi.
claude mcp add --transport http freenewsapi https://freenewsapi.ai/mcpServer ini mengekspos 28 alat dalam dua lapisan yang disengaja.
Lapisan pertama: enam pintasan yang menjawab pertanyaan utuh dalam satu panggilan
| Alat | Untuk |
|---|---|
search_news | "Apa yang ditulis tentang X" — pencarian teks lengkap dengan hasil yang telah dipangkas. |
get_trends | "Apa yang sedang terjadi" — kisah-kisah yang dikelompokkan, bukan sekadar daftar artikel. |
trend_keywords | Kata-kata yang menjadi dasar berita saat ini, lengkap dengan jumlah cerita dan persebaran negara. |
find_publishers | Telusuri penerbit: nama, domain, negara, bahasa, dan jumlah artikel per hari. |
list_countries | Negara mana saja yang memiliki cerita langsung, berapa jumlahnya, dan seberapa baru berita tersebut. |
market_vs_news | Seri harga berdampingan dengan volume liputan. Panggil tanpa instrumen untuk melihat apa saja yang tersedia. |
Lapisan kedua: setiap endpoint, dihasilkan langsung dari layanan itu sendiri
Di balik pintasan tersebut, setiap endpoint mentah dipaparkan sebagai alat mandiri dengan setiap parameter yang diterima oleh API — news_get_search, news_get_stats, news_get_article, news_get_trends, news_get_trends_keywords, news_get_markets_slug, seluruh keluarga news_get_btc_*, renderer feed, dan news_get_health. Semua ini dihasilkan dari layanan langsung, sehingga tidak akan menyimpang dari apa yang sebenarnya diterima oleh API.
Dua alat meta yang menutup lingkaran: news_list_endpoints mengembalikan katalog dari semua yang ada, dan news_get melakukan GET mentah pada jalur mana pun — sehingga agen yang menemukan endpoint yang tidak tercakup oleh daftar alatnya tetap dapat mengaksesnya.
curl "https://freenewsapi.ai/mcp?format=json"Satu GET, tanpa jabat tangan, dan Anda memiliki katalog yang sepenuhnya dapat dibaca mesin: server, transport, protokol, jumlah alat, setiap alat dengan deskripsinya, serta setiap endpoint dengan daftar parameternya.
Dibangun untuk Dibaca oleh Mesin
Dokumentasi bukanlah tambahan yang ditempelkan pada API — ini adalah output utama darinya. Situs ini menyajikan 665 halaman statis, dan beberapa di antaranya ada khusus agar model tidak perlu membaca HTML:
- /openapi.json Skema OpenAPI lengkap.
- /llms.txt Sebuah berkas orientasi singkat — apa layanan ini, titik akhir (endpoint)-nya, cara melakukan kueri dengan baik, serta berbagai kesalahan.
- /llms-full.txt Seluruh dokumentasi dalam satu berkas teks biasa, berukuran lebih dari seratus kilobyte, sehingga agen dapat mengimpor seluruh manual tersebut dalam satu kali pengambilan data.
- /agents Tiga puluh sembilan halaman yang secara khusus ditujukan untuk pembuat agen: definisi fungsi OpenAI siap pakai, definisi penggunaan alat Anthropic, prompt sistem untuk pengambilan berita, resep RAG, tabel biaya token, dan resep agen.
- /agents/models Kode pemanggilan alat per keluarga model — 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 Apa yang terdapat di dalam korpus, metodologi, skema indeks, serta sebuah halaman berjudul Kualitas Data yang mendokumentasikan kesalahan yang ada pada dataset tersebut.
- /sources Katalog yang dapat dijelajahi berisi 11.668 penerbit, yang dapat dipilah berdasarkan negara, bahasa, dan zona domain.
- /compare Halaman perbandingan bersebelahan dengan NewsAPI.org, GNews.io, NewsData.io, Mediastack, Currents, TheNewsAPI, NewsCatcher, WorldNewsAPI, Perigon, APITube, dan FreeNewsAPI.io.
Ditambah dengan 168 halaman negara, 121 halaman bahasa, dan 275 halaman TLD — satu permukaan yang dapat dijelajahi untuk setiap bagian korpus, yang masing-masing menampilkan apa yang sebenarnya ada di dalamnya.
Asal Usul Artikel
Dua jalur ingest mengisi indeks yang sama, dan perbedaan di antara keduanya sangat penting.
Jalur arsip
Setiap sepuluh menit, sebuah pekerjaan memeriksa arsip CC-NEWS dari Common Crawl untuk file WARC baru dan memproses apa pun yang belum pernah dilihatnya, menggunakan empat puluh pekerja paralel. Ekstraktor menarik setiap artikel dari hasil crawl mentah dengan menggunakan cascading per bidang yang terdokumentasi — dan cascading tersebut diukur terhadap data nyata, bukan diasumsikan:
| Bidang | Cascading | Cakupan |
|---|---|---|
| description | JSON-LD → meta → OpenGraph → kartu Twitter → articleBody → paragraf pembuka | 98.1% |
| language | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| country | ccTLD → JSON-LD addressCountry → bahasa-wilayah → og:locale | 79.1% |
| date | JSON-LD datePublished → meta → trafilatura → waktu crawl | 100% |
Anggota negara ini adalah yang paling jujur, dan itulah alasan mengapa country_source dipaparkan pada setiap artikel: sekitar seperlima catatan tidak memiliki sinyal negara yang andal sama sekali, dan sekitar sepertiga dari nilai yang ada adalah inferensi, bukan fakta. API memberi tahu Anda mana yang mana, alih-alih berpura-pura.
Jalur langsung
Sebuah robot kedua melakukan polling pada umpan RSS penerbit setiap lima menit, dalam rotasi dengan permintaan bersyarat — umpan yang menjawab 304 Not Modified hampir tidak memerlukan biaya apa pun, dan interval polling setiap umpan disesuaikan dengan seberapa sering umpan tersebut benar-benar mempublikasikan konten. Sebuah penerbit yang memposting lima cerita sehari tidak akan dipaksa melakukan polling setiap lima belas menit.
Robot ini juga hanya mengambil apa yang dimasukkan oleh penerbit ke dalam umpan: judul, ringkasan, dan teks lengkap ketika umpan memuatnya. Robot ini tidak menjelajahi situs web penerbit untuk mengambil lebih banyak konten. Itu adalah batas yang disengaja, dan itulah alasan layanan ini dapat membuat janji yang dijanjikannya pada halaman hukum yang ditujukan kepada penerbit.
Dan mesin di sekitarnya
Di sekitar dua jalur ingest terdapat lebih selusin robot dengan jadwal: penemuan dan sinkronisasi sumber, resolusi negara per-domain, pembuatan dan audit tren, pengisian ulang kata kunci, sentimen kripto, penarikan pasar, katalog taksonomi, retensi (jendela sembilan puluh hari ditegakkan oleh kueri malam hari pada published_at, bukan oleh usia indeks), verifikasi hari, pemeriksaan ulang artikel kosong, dan penjaga kesehatan yang memulai ulang apa pun yang telah berhenti. Korpus hidup di klaster Elasticsearch khusus.
Apa yang Salah dengan Dataset Ini
Layanan ini mempublikasikan keterbatasannya sendiri, yang merupakan cara tercepat untuk menilai apakah layanan ini sesuai dengan masalah Anda.
- Negara bersifat inferensial Baca
country_sourcepada setiap artikel, dan tambahkanstrict_country=trueketika Anda menghitung berdasarkan negara, bukan saat menjelajahi. - published_at disediakan oleh penerbit Penanggalan mundur adalah hal yang umum. Urutkan berdasarkan
crawledketika Anda melakukan polling untuk konten baru. - total dibatasi hingga 10.000 Untuk kecepatan.
total_is_lower_boundmemberi tahu Anda ketika Anda mencapai batas atas. - Tidak ada ekstraksi sentimen atau entitas Di luar blok Bitcoin, artikel tidak memiliki skor sentimen maupun entitas bernama. Itu berada di luar ruang lingkup.
- Sembilan puluh hari, tidak lebih Tidak ada arsip yang lebih dalam. Jika Anda membutuhkan data tahun 2019, ini bukan alat yang tepat.
- Tanpa SLA Layak gratis. Layanan ini juga dipantau dan dijaga, namun tidak ada jaminan yang diikat secara tertulis.
- Teks menjadi hak milik penerbit Setiap respons menyertakan URL asli, dan pengguna diharapkan menyertakan tautan kembali ke sumber tersebut.
Penggunaan yang Tepat: Biaya, Paging, dan Error
Disiplin token
Untuk agen AI, ukuran respons adalah biaya sesungguhnya. Bentuk dokumentasinya adalah sebagai berikut:
| Panggilan | Perkiraan biaya token | Kapan |
|---|---|---|
/v1/stats | ~200 | Pertama-tama, tentukan apakah pencarian layak untuk dijalankan. |
Hanya metadata /v1/search | beberapa ribu per halaman | Pindai dan pilih. |
/v1/search?full_text=true | ~900 per artikel | Hanya untuk segelintir yang benar-benar Anda pilih. |
Dua puluh artikel dengan full_text=true sekitar 40.000 token. Pola yang direkomendasikan selalu sama: hitung, pindai, lalu ambil isi artikel untuk beberapa yang Anda butuhkan.
Navigasi melewati batas atas
offset berhenti di angka 9.900. Untuk menelusuri set data besar, jangan melawan batas atas tersebut — gunakan pemotongan berdasarkan waktu. Ulangi harian demi harian, atau per jam untuk kueri yang sibuk, dengan parameter from/to dan sort=date. Dokumentasi memiliki halaman khusus tentang cara menelusuri satu hari penuh.
Kesalahan
Kontraknya jelas dan mudah diprogram: 4xx berarti permintaan salah — perbaiki, jangan coba lagi. 5xx berarti layanan sedang down — kurangi frekuensi permintaan. 429 berarti perlambat dan coba lagi. Parameter kueri yang tidak diketahui akan diabaikan, bukan ditolak, sehingga menambahkan bidang baru tidak akan pernah mengganggu pemanggil yang sudah ada.
Identifikasi Diri Anda (Opsional, dan Benar-benar Opsional)
Tanpa kunci, tidak ada cara untuk mengidentifikasi pemanggil. Kesopanan yang disarankan adalah menyertakan header yang menyebutkan agen Anda, kerangka kerja yang melaluinya berjalan, dan model yang menggerakkannya:
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>)Nilai yang sama juga dapat digunakan sebagai parameter kueri biasa, yang biasanya lebih mudah:
https://freenewsapi.ai/v1/search?q=climate&agent_name=newsbot&software=langchain&model=gpt-4oKunci yang tidak diketahui akan diabaikan, sehingga mengirimkan kunci tambahan selalu aman. Tidak ada validasi, tidak ada pembatasan kecepatan karena mengabaikannya, dan satu instruksi yang tegas: jangan pernah memasukkan data pribadi pengguna akhir ke dalam bidang-bidang ini.
Melawan Berita Berbayar APIs
Halaman perbandingan di situs mencakup sebelas pesaing secara individual. Perbedaan struktural yang tetap ada di antara semuanya:
100 permintaan/hari, penundaan 24 jam
Bentuk standar tier berita gratis-API: bucket token yang cukup kecil untuk menjadi demo, dengan artikel terbaru ditahan untuk pelanggan berbayar.
- Diperlukan kunci
- Batas harian
- Artikel tertunda
- Hanya untuk non-komersial
Tanpa batas, tanpa penundaan, tanpa kunci
Batas 20 permintaan/detik per IP adalah satu-satunya pembatasan. Artikel terbaru biasanya berusia di bawah dua menit, dan penggunaan komersial diperbolehkan.
- Tanpa kunci, tanpa pendaftaran
- Tanpa batas harian atau bulanan
- Segarkan terus-menerus
- Penggunaan komersial diperbolehkan
Utama bahasa Inggris, utama AS
Sebagian besar korpus dibangun dari daftar penerbit berbahasa Inggris dengan sisa dunia ditambahkan.
- Dominan berbahasa Inggris
- Cakupan non-Latin yang tipis
India > AS, Turki > Jerman
Sekitar 100 bahasa dengan volume enam angka dalam bahasa Yunani, Vietnam, Persia, Ukraina, dan Bulgaria.
- 100 negara
- ~100 bahasa
- 11.668 sumber yang terangkum
Apa yang masih diberikan oleh layanan berbayar yang tidak tersedia di sini: skor sentimen dan ekstraksi entitas sebagai bidang standar, arsip yang mencakup beberapa tahun ke belakang, serta kontrak dengan SLA di belakangnya. Itu semua nyata, dan jika Anda membutuhkannya, Anda harus membelinya.
Resep
Monitor negara secara langsung
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=crawled&size=50"Apakah berita ini bersifat global atau domestik?
curl "https://freenewsapi.ai/v1/trends/keywords?size=30"
# read `countries` on each keyword: 1 country = domestic, 70 = world eventDasarkan model pada cakupan terkini dengan biaya rendah
# 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"Apakah cakupan mendahului harga?
curl "https://freenewsapi.ai/v1/btc/correlation?interval=hour&max_shift=12"Ubah pencarian yang disimpan menjadi umpan
https://freenewsapi.ai/v1/rss?q=central+bank+rate&lang=en&date=24h&sort=date&size=50Temukan outlet yang relevan di sebuah pasar
curl "https://freenewsapi.ai/v1/stats?country=BR&date=30d&top=50"
# the `hosts` block is a ranked publisher list for that sliceVersi Singkat
Free News API adalah mesin pencari teks penuh yang mencakup lebih dari 21,5 juta artikel berita dari lebih dari 25.000 penerbit di 100 negara dan sekitar 100 bahasa, dengan jendela waktu sembilan puluh hari yang berjalan, diperbarui secara terus-menerus, tanpa kunci API, tanpa pendaftaran, dan tanpa kuota selain batas laju per-IP. Di atas pencarian tersebut, tersedia pengelompokan cerita langsung per negara di 115 negara, analisis kata kunci yang memisahkan peristiwa dunia dari domestik, empat instrumen pasar yang dipetakan terhadap volume liputan, blok sentimen Bitcoin dengan tujuh titik akhir, sindikasi RSS/Atom/JSON untuk setiap kueri, serta server MCP dengan 28 alat yang dihasilkan dari layanan itu sendiri.
Layanan ini mendokumentasikan tingkat error-nya sendiri, mengungkap bagaimana setiap nilai negara diturunkan, dan menerbitkan halaman tentang kesalahan data. Untuk agen yang perlu mengetahui apa yang dikatakan dunia — dalam bahasa Turki, Yunani, Hindi, saat ini juga — kombinasi ini sulit ditemukan dengan harga berapa pun, dan yang ini gratis.
Pencarian menggunakan operator AND untuk semua istilah. Gunakan 2–5 kata kunci, bukan pertanyaan bahasa alami.
Free News API, tentang cara melakukan kueri dengan baik
Mulai di sini: freenewsapi.ai · MCP di freenewsapi.ai/mcp · seluruh panduan sebagai satu file di /llms-full.txt.