I servizi di notizie API vengono solitamente venduti a richiesta, sbarrati da una chiave API e limitati a cento chiamate al giorno nel piano gratuito. Free News API non è nulla di tutto questo: 21,5 milioni di articoli in una finestra rotante di 90 giorni, oltre 25.000 editori, nessuna chiave, nessuna registrazione, nessun limite, uso commerciale consentito. Ecco l'intera superficie — ricerca, statistiche, tendenze, mercati, feed e MCP — e una descrizione onesta di dove i dati possono essere imprecisi.
La forma del problema
Chiedi a un agente AI cosa si sta scrivendo nel mondo in questo momento e avrai tre opzioni difettose. Puoi fare scraping direttamente dagli editori, ma è fragile, lento e legalmente ambiguo. Puoi chiamare un servizio di notizie API commerciale, il che significa un account, una chiave, una fattura mensile e — su ogni piano gratuito sul mercato — cento richieste al giorno e articoli con un ritardo di ventiquattr'ore. Oppure puoi indovinare dai dati di addestramento che sono fermi a diversi mesi fa.
Free News API elimina il prezzo e la burocrazia dell'opzione intermedia senza rimuovere la sua capacità. Una singola richiesta GET, senza credenziali, su un corpus che al momento della scrittura contiene 21.557.044 articoli provenienti da oltre venticinque mila editori, mantenuti in una finestra rotante di novanta giorni e aggiornati continuamente — l'articolo più recente nell'indice ha tipicamente meno di due minuti.
Quattro endpoint principali e molto altro
Il cuore del servizio è costituito da quattro endpoint GET, tutti sotto https://freenewsapi.ai, che restituiscono tutti dati JSON in UTF-8 con l'header Access-Control-Allow-Origin: * per consentire al codice lato browser di chiamarli direttamente, e che riportano il tempo di elaborazione lato server in took_ms.
| Endpoint | A cosa risponde |
|---|---|
GET /v1/search | Ricerca full-text con filtri. L'endpoint che utilizzerai nel 95% dei casi. |
GET /v1/stats | Conteggi aggregati per qualsiasi segmento — per paese, lingua, TLD, editore e giorno. |
GET /v1/article | Un articolo completo, con il suo URL esatto, incluso il testo integrale. |
GET /health | Stato di liveness e il conteggio attuale dei documenti. Sufficientemente leggero da essere interrogato periodicamente. |
Attorno a questo nucleo si dispongono altre quattro famiglie, ciascuna delle quali costituirebbe un prodotto a sé stante in altri contesti: trends (raggruppamento di notizie in tempo reale per paese), markets (serie di prezzi allineate rispetto al volume di copertura), crypto sentiment (un blocco Bitcoin a sette endpoint) e syndication (la stessa ricerca resa disponibile come feed RSS, Atom o JSON). Tutte queste funzionalità sono trattate nel seguito.
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"
}
]
}Tre campi di questa risposta meritano immediata attenzione, poiché codificano l'affidabilità dell'intero dataset. total_is_lower_bound ti avvisa quando il numero di corrispondenze ha raggiunto il tetto di 10.000 e ha smesso di contare. country_source indica come è stato determinato il paese — poiché in qualsiasi dataset di notizie una grande parte dei valori di paese sono inferenze, non fatti. E crawled_at è il timestamp affidabile: i publisher spesso inseriscono data retroattiva nei published_at, ma il tempo di crawl è assegnato dalla pipeline e si muove solo in avanti.
Ricerca: ogni parametro che conta
Tutti i parametri sono facoltativi. Una chiamata senza parametri restituisce gli articoli più recenti presenti nell'indice.
La query
- q Corrisponde al titolo (peso 3), alla descrizione (peso 2) e al corpo dell'articolo. Logica AND — ogni termine deve essere presente, quindi aggiungere una parola restringe anziché ampliare i risultati. Massimo 500 caratteri.
opec production cut funziona. what did OPEC decide about oil non restituisce nulla.I filtri
I filtri si combinano con AND tra parametri e OR all'interno dello stesso parametro. Quindi country=DE,AT&lang=de viene interpretato come "articoli in lingua tedesca provenienti dalla Germania o dall'Austria". Ciascun filtro accetta un elenco separato da virgole di fino a cinquanta valori.
| Filtro | Formato | Note |
|---|---|---|
country | ISO 3166-1 alpha-2, maiuscolo | Paese del editore. Derivato, non dichiarato — vedi country_source e strict_country. |
lang | ISO 639-1, minuscolo | Rilevato dal documento stesso. Copertura del 99,9%. |
tld | senza punto | Zone di dominio dell'editore. tld=ua è un fatto; country=UA è un'inferenza. |
host | nomi di host esatti | Così come appaiono in URL — includi www. se l'editore lo utilizza. |
date | oggi · ieri · 24h · 48h · 7g · 30g | Periodo predefinito, valutato in base a published_at. |
from / to | Date ISO | Finestra esplicita in cui i preset non sono adatti. |
strict_country | true/false | Conta solo gli articoli il cui paese è un fatto certo e non un'ipotesi. |
Controllo dell'output
| Parametro | Valori | Effetto |
|---|---|---|
sort | date · date_asc · crawled · crawled_asc · relevance | Ordina per crawled durante il polling per nuovi articoli — i publisher indicano date di pubblicazione precedenti alla realtà; il tempo di crawl si muove solo in avanti. |
size | 1–100 | Risultati per pagina. |
offset | 0–9900 | Offset di impaginazione. |
full_text | true/false | Includi il corpo dell'articolo. Disattivato per impostazione predefinita. |
highlight | true/false | Restituisci i frammenti corrispondenti. |
fields | CSV | Riduci la risposta ai campi che utilizzi effettivamente. |
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"Conteggio prima della ricerca
L'endpoint meno sfruttato del servizio è /v1/stats. Spesso la domanda utile non è «quali sono gli articoli», ma «c'è qualcosa qui, e dove si trova». Il conteggio risponde a questa domanda per una frazione del costo — circa duecento token contro diverse migliaia per una pagina di risultati — rendendolo la chiamata iniziale corretta per un agente che deve decidere se vale la pena eseguire una ricerca.
curl "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"Restituisce i conteggi per paese, lingua, TLD, editore e giorno, calcolati sull'intero set corrispondente e non solo sulla pagina corrente. È anche così che misuri la copertura prima di fidarti dei dati. La snapshot non filtrata al momento della stesura:
Principali paesi
| Paese | Articoli |
|---|---|
| India | 2,286,014 |
| Stati Uniti | 2,180,797 |
| Turchia | 1,499,897 |
| Russia | 1,436,556 |
| Italia | 1,057,479 |
| Argentina | 826,947 |
| Spagna | 812,347 |
| Ucraina | 662,041 |
| Brasile | 551,013 |
| Germania | 543,132 |
| Francia | 502,846 |
| Grecia | 460,372 |
| Giappone | 437,209 |
| Vietnam | 408,934 |
| Messico | 402,320 |
| Corea del Sud | 362,945 |
| Romania | 354,229 |
| Regno Unito | 334,379 |
| Iran | 291,782 |
| Polonia | 255,599 |
Lingue principali
Inglese 5.513.650 · Spagnolo 2.699.457 · Russo 1.785.796 · Turco 1.501.004 · Italiano 992.200 · Tedesco 733.677 · Francese 689.136 · Arabo 664.016 · Portoghese 637.607 · Hindi 560.840 · Greco 466.504 · Giapponese 427.085 · Vietnamita 385.719 · Rumeno 358.766 · Cinese 352.720 · Ucraino 345.809 · Coreano 335.079 · Persiano 268.126 · Polacco 238.904 · Bulgaro 183.204.
Questa distribuzione merita un attimo di attenzione perché è l'opposto di quanto ti offrono la maggior parte dei API di notizie. Il corpus tipico, incentrato sull'inglese e sugli Stati Uniti, non è questo: l'India supera gli Stati Uniti, il turco supera il tedesco e greco, vietnamita, persiano e bulgaro hanno tutti una rappresentazione a sei cifre. Se la tua domanda riguarda una stampa non inglese, si tratta di un dataset sostanzialmente diverso.
Volume
La curva giornaliera in by_day copre l'intera finestra di novanta giorni. I giorni recenti si attestano nell'intervallo di circa 400.000-700.000 articoli al giorno; nelle fasi iniziali della finestra, prima che il livello RSS fosse aggiunto insieme all'ingestione dell'archivio, il volume giornaliero era di 130.000-230.000. Entrambe le cifre sono visibili nella stessa risposta, ed è proprio questo il punto: il servizio ti mostra la propria crescita piuttosto che citare una media di marketing.
Tendenze: di cosa tratta effettivamente la stampa in questo momento
Le ricerche rispondono alla domanda "cosa è stato scritto su X". Le tendenze rispondono a una domanda diversa e spesso migliore: "cosa sta succedendo" — senza bisogno di specificare una X.
Un robot raggruppa gli articoli in storie per paese e le mantiene aggiornate. Ogni cinque minuti nuovi articoli vengono collegati alle storie note tramite le parole che le identificano, senza alcuna chiamata a un modello; ogni poche ore un paese passa attraverso un'analisi completa in cui un modello linguistico legge i titoli e nomina le storie da zero. Al momento della stesura, il livello di tendenze copre 115 paesi, ciascuno ricalcolato negli ultimi minuti.
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": [ … ]
}
]
}Ogni storia viene fornita con due conteggi che hanno significati diversi. articles indica la rumorosità; publishers indica l'ampiezza. Una storia con 200 articoli provenienti da 4 testate è l'ossessione di un'unica redazione. Una storia con 60 articoli provenienti da 40 testate è un evento. L'ordinamento predefinito è per editori e min_publishers / min_articles ti permettono di impostare tu stesso il livello di soglia.
Le storie appartengono a una categoria scelta da un set fisso: politics, business, markets, tech, sport, health, science, culture, crime, conflict, weather, society.
La finestra è una scelta del lettore, non del robot
Si tratta di una decisione progettuale davvero elegante. Ogni articolo viene memorizzato con la sua ora di pubblicazione e associato alla relativa storia, quindi qualsiasi finestra — quindici minuti, un'ora, un giorno, una data specifica del calendario — corrisponde semplicemente a una query per intervallo sui medesimi dati memorizzati. Un unico calcolo serve tutte le finestre contemporaneamente. window=15m, window=1h, window=24h, date=2026-09-01 oppure una coppia esplicita since/until funzionano tutte sullo stesso indice senza necessità di ricalcoli.
Parole chiave: le parole su cui si costruisce la notizia
curl "https://freenewsapi.ai/v1/trends/keywords?country=US&size=8"Ogni parola chiave viene restituita insieme al numero di storie distinte che la contengono, al numero di articoli che quelle storie contengono e — l'aspetto più interessante — a quante testate giornalistiche nazionali la utilizzano. Quest'ultimo numero fa la differenza tra un evento globale e uno nazionale. Una parola che appare in settanta paesi è una notizia di livello mondiale; una parola che domina la stampa di un solo paese è una notizia nazionale, per quanto rumorosa possa essere lì.
Quali paesi sono in diretta
curl "https://freenewsapi.ai/v1/trends/countries"Restituisce tutti i paesi tracciati con il loro conteggio di storie in diretta e da quanti minuti è stato eseguito il ricalcolo — Turchia, Russia, Iran, Grecia, India, Italia, Ucraina, Romania, Argentina, Germania e Brasile hanno attualmente migliaia di storie in diretta ciascuna, ricalcolate negli ultimi dieci minuti. E /v1/trends/{cc}/{slug} apre qualsiasi singola storia con il suo elenco completo di articoli.
Mercati vs. Copertura: il prezzo su un asse, l'attenzione sull'altro
Questa è l'aspetto più insolito del servizio, ed esiste perché il corpus rende quasi gratuito realizzarlo. Accostate una serie di prezzi alla quantità di testo prodotto dal mondo su quell'argomento nelle stesse ore, su una singola linea temporale.
curl "https://freenewsapi.ai/v1/markets"Quattordici strumenti sono tracciati, su quattro classi di attività:
| Classe | Strumenti | Granularità | Fonte |
|---|---|---|---|
| Criptovalute | Bitcoin, Ethereum, Solana, XRP, BNB, Dogecoin | ora | Binance |
| Metalli | Oro (USD/oz) | ora | Binance |
| Forex | EUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLN | giorno | BCE |
| Energia | Prezzo dell'energia elettrica in Germania (EUR/MWh) | ora | Energy-Charts |
curl "https://freenewsapi.ai/v1/markets/usd-try?window=30d"Questa singola chiamata ti fornisce il cambio lira/dollaro e il volume della copertura della stampa turca nello stesso periodo, allineati ora per ora. La stampa turca rappresenta la fetta più ampia di questo corpus, motivo per cui questa combinazione produce dati significativi e non semplice rumore.
E un blocco completo sul sentiment del Bitcoin
Bitcoin ha la sua famiglia di sette endpoint, perché è l'unico strumento in cui il tono delle notizie e i movimenti di prezzo sono oggetto di continui dibattiti e raramente misurati:
| Endpoint | Restituisce |
|---|---|
/v1/btc/summary | Prezzo attuale, movimenti recenti e il tono della copertura odierna. |
/v1/btc/price | Candele BTC/USDT per intervallo. |
/v1/btc/sentiment | Tono delle notizie per periodo. |
/v1/btc/series | Prezzo e tono allineati su un'unica timeline. |
/v1/btc/correlation | Correlazione tra tono e movimento di prezzo per sfasamento temporale — la copertura anticipa il prezzo o lo segue? |
/v1/btc/news | Articoli crittografici con etichetta di sentiment, filtrabili per etichetta, host, lingua e query. |
/v1/btc/sources | Quali testate guidano la copertura sul crypto e come si orientano le rispettive analisi. |
Le etichette sul sentiment provengono da un modello linguistico che analizza gli articoli crypto aggiornati ogni cinque minuti, incrociandoli con un elenco di monete calibrato. L'endpoint /v1/btc/correlation con il parametro max_shift è quello da utilizzare se si è mai voluto verificare l'affermazione "le notizie causano il movimento" piuttosto che ripeterla.
La stessa ricerca, sotto forma di feed
Tre endpoint aggiuntivi utilizzano gli stessi parametri di ricerca e restituiscono i risultati in formati di syndication invece che come 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=dateCiò significa che qualsiasi ricerca salvata diventa un feed che puoi incollare in un reader, in un nodo n8n, in un'integrazione Slack, in un trigger Zapier o in un generatore di siti statici — senza codice e senza chiave. È una piccola funzionalità che, silenziosamente, elimina un intero livello di integrazione per i non programmatori.
MCP: Ventotto strumenti, due livelli
Il server MCP vive su un unico URL, parla Streamable HTTP (JSON-RPC 2.0 su POST, versione del protocollo 2025-06-18), supporta il batching e, come tutto il resto qui, non prevede passaggi di autorizzazione né ID di sessione.
claude mcp add --transport http freenewsapi https://freenewsapi.ai/mcpEspone 28 strumenti in due livelli deliberati.
Livello uno: sei scorciatoie che rispondono a un'intera domanda con una singola chiamata
| Strumento | Per |
|---|---|
search_news | "Cosa è stato scritto su X" — ricerca full-text, risultati limitati. |
get_trends | "Cosa sta succedendo" — storie raggruppate anziché un elenco di articoli. |
trend_keywords | Le parole su cui si basa l'attualità in questo momento, con il conteggio delle storie e la diffusione geografica. |
find_publishers | Cerca testate giornalistiche: nome, dominio, paese, lingua, articoli al giorno. |
list_countries | Quali paesi hanno storie in diretta, quanti e quanto sono recenti. |
market_vs_news | Una serie di prezzi affiancata al volume di copertura. Chiama senza specificare uno strumento per vedere cosa è disponibile. |
Livello due: ogni endpoint, generato direttamente dal servizio
Al di sotto delle scorciatoie, ogni endpoint grezzo è esposto come strumento autonomo con tutti i parametri che API accetta — news_get_search, news_get_stats, news_get_article, news_get_trends, news_get_trends_keywords, news_get_markets_slug, l'intera famiglia news_get_btc_*, i renderer dei feed e news_get_health. Questi sono generati dal servizio in tempo reale, quindi non possono discostarsi da ciò che API accetta effettivamente.
Due meta-strumenti chiudono il cerchio: news_list_endpoints restituisce il catalogo di tutto ciò che esiste, e news_get esegue una richiesta grezza GET su qualsiasi percorso — quindi un agente che incontra un endpoint non coperto dal suo elenco di strumenti può comunque raggiungerlo.
curl "https://freenewsapi.ai/mcp?format=json"Una GET, senza handshake, e hai l'intero catalogo leggibile dalle macchine: server, trasporto, protocollo, numero di strumenti, ogni strumento con la sua descrizione e ogni endpoint con il suo elenco di parametri.
Progettato per essere letto dalle macchine
La documentazione non è un ripensamento aggiunto alla API — è un output di prima classe di essa. Il sito distribuisce 665 pagine statiche, e alcune di esse esistono specificamente affinché un modello non debba mai leggere l'HTML:
- /openapi.json Lo schema completo di OpenAPI.
- /llms.txt Un breve file di orientamento: cos'è il servizio, gli endpoint, come effettuare query in modo efficace e i possibili errori.
- /llms-full.txt L'intera documentazione in un unico file di testo puro, che supera abbondantemente i cento kilobyte, in modo che un agente possa ingestire l'intero manuale con un'unica richiesta.
- /agents Trentanove pagine dedicate specificamente ai creatori di agenti: definizioni di funzioni OpenAI già pronte, definizioni per l'uso di strumenti Anthropic, prompt di sistema per il recupero di notizie, ricette RAG, tabelle sui costi in token e ricette per gli agenti.
- /agents/models Codice per il tool-calling per ogni famiglia di modelli: 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 Cosa contiene il corpus, la metodologia, lo schema dell'indice e una pagina intitolata Qualità dei dati che documenta gli errori presenti nel dataset.
- /sources Un catalogo sfogliabile di 11.668 editori, filtrabile per paese, lingua e zona del dominio.
- /compare Pagine di confronto affiancate a NewsAPI.org, GNews.io, NewsData.io, Mediastack, Currents, TheNewsAPI, NewsCatcher, WorldNewsAPI, Perigon, APITube e FreeNewsAPI.io.
Più 168 pagine per Paese, 121 pagine per lingua e 275 pagine per TLD — una superficie navigabile per ogni segmento del corpus, che mostra cosa contiene effettivamente.
Da dove provengono gli articoli
Due percorsi di ingestazione alimentano lo stesso indice, e la differenza tra di essi è significativa.
Il percorso dell'archivio
Ogni dieci minuti un lavoro controlla l'archivio CC-NEWS di Common Crawl alla ricerca di nuovi file WARC ed elabora tutto ciò che non ha ancora visto, utilizzando quaranta worker paralleli. L'estrattore recupera ogni articolo dal crawl grezzo tramite una cascata documentata per campo — e le cascate sono state misurate su dati reali e non assunte per ipotesi:
| Campo | Cascata | Copertura |
|---|---|---|
| descrizione | JSON-LD → meta → OpenGraph → Twitter card → articleBody → paragrafo introduttivo | 98.1% |
| lingua | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| Paese | ccTLD → JSON-LD addressCountry → lingua-regione → og:locale | 79.1% |
| data | JSON-LD datePublished → meta → trafilatura → ora del crawl | 100% |
Questa cifra sul paese è quella più onesta, ed è proprio per questo che country_source è esposto in ogni articolo: circa un quinto dei record non dispone di alcun segnale affidabile sul paese, e circa un terzo dei valori esistenti sono inferenze piuttosto che fatti. Il API indica quale sia quale, senza finzioni.
Il percorso in tempo reale
Un secondo robot interroga i feed RSS degli editori ogni cinque minuti, in rotazione con richieste condizionali: un feed che restituisce 304 Not Modified costa quasi nulla, e l'intervallo di polling di ogni feed è calibrato in base alla frequenza effettiva di pubblicazione. Un' testata che pubblica cinque articoli al giorno non viene sottoposta a polling ogni quindici minuti.
Inoltre, recupera solo ciò che l'editore ha inserito nel feed: titolo, sommario e testo completo quando il feed lo include. Non accede al sito dell'editore per recuperare altri contenuti. Si tratta di un confine deliberato, ed è la ragione per cui il servizio può mantenere le promesse riportate nella sua pagina legale destinata agli editori.
E l'infrastruttura che li circonda
Attorno ai due percorsi di ingestione operano una dozzina di altri robot programmati: scoperta e sincronizzazione delle fonti, risoluzione del paese per dominio, costruzione e verifica delle tendenze, riempimento delle keyword, sentiment sulle criptovalute, recupero dei dati di mercato, catalogo tassonomico, retention (la finestra di novanta giorni è applicata da una query notturna su published_at, non dall'età dell'indice), verifica giornaliera, riesame degli articoli vuoti e un guardiano di integrità che riavvia tutto ciò che si è fermato. Il corpus risiede su un cluster Elasticsearch dedicato.
Cosa questo dataset non fa correttamente
Il servizio pubblica i propri limiti, che è il modo più rapido per valutare se si adatta al tuo caso d'uso.
- Il paese è inferito Leggi
country_sourcesu ogni articolo e aggiungistrict_country=truequando effettui conteggi per paese anziché navigare liberamente. - published_at è fornito dall'editore La datazione retroattiva è comune. Ordina per
crawledquando interroghi il feed per individuare i contenuti nuovi. - total è limitato a 10.000 Per velocità.
total_is_lower_boundti avvisa quando raggiungi il limite massimo. - Nessun sentiment né estrazione di entità Al di fuori del blocco Bitcoin, gli articoli non dispongono di un punteggio di sentiment né di entità nominate. Questo non rientra nell'ambito di applicazione.
- Novanta giorni, niente di più Non esiste un archivio più profondo. Se hai bisogno del 2019, questo non è lo strumento adatto.
- Nessun SLA È gratuito. È anche monitorato e protetto, ma nulla viene promesso per iscritto.
- Il testo appartiene ai editori Ogni risposta include l'URL originale e ci si aspetta che chi la utilizza faccia un link back ad esso.
Utilizzo ottimale: costi, paginazione ed errori
Disciplina dei token
Per un agente, la dimensione della risposta è il costo effettivo. La struttura documentata è la seguente:
| Chiamata | Costo approssimativo in token | Quando |
|---|---|---|
/v1/stats | ~200 | Prima. Decidi se vale la pena eseguire la ricerca. |
/v1/search solo metadati | qualche migliaio per pagina | Scansiona e seleziona. |
/v1/search?full_text=true | ~900 per articolo | Solo per la manciata che hai effettivamente scelto. |
Ventiquattro articoli con full_text=true corrispondono a circa 40.000 token. Il pattern consigliato è sempre lo stesso: conta, scansiona e poi recupera i corpi degli articoli solo per quelli di cui hai bisogno.
Paginazione oltre il limite massimo
offset si ferma a 9.900. Per scorrere un set di dati ampio, non combattere il limite: suddividi invece per intervallo temporale. Scorri giorno per giorno, o ora per ora per query molto trafficate, utilizzando from/to e sort=date. La documentazione include una pagina dedicata alla scansione di un'intera giornata.
Errori
Il contratto è chiaro e facile da implementare: 4xx significa che la richiesta è errata — correggila, non riprovare. 5xx significa che il servizio è irraggiungibile — riduci la frequenza delle chiamate. 429 significa rallentare e riprovare. I parametri di query sconosciuti vengono ignorati anziché rifiutati, quindi l'aggiunta di un campo non può mai interrompere il funzionamento di un client esistente.
Identificati (Opzionale, e davvero opzionale)
Senza una chiave non c'è modo di identificare chi effettua la chiamata. La cortesia suggerita prevede un'intestazione che nomini il tuo agente, il framework attraverso il quale opera e il modello che lo alimenta:
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>)Gli stessi valori funzionano anche come semplici parametri di query, il che di solito è più agevole:
https://freenewsapi.ai/v1/search?q=climate&agent_name=newsbot&software=langchain&model=gpt-4oLe chiavi sconosciute vengono ignorate, quindi è sempre sicuro inviare chiavi aggiuntive. Non viene eseguita alcuna convalida, non c'è limitazione della frequenza (throttling) per la loro assenza, e l'unica istruzione è ferma: non inserire mai dati personali degli utenti finali in questi campi.
Contro le News a pagamento API
Le pagine di confronto sul sito coprono undici concorrenti individualmente. Le differenze strutturali che permangono tra tutti loro:
100 richieste/giorno, ritardo di 24 ore
La forma standard di un piano news gratuito di API: un bucket token così piccolo da essere adatto a una demo, con articoli freschi riservati agli abbonati.
- Chiave richiesta
- Limite giornaliero
- Articoli in ritardo
- Solo uso non commerciale
Nessun limite, nessun ritardo, nessuna chiave
Il limite è di sole 20 richieste al secondo per IP. L'articolo più recente ha solitamente meno di due minuti e l'uso commerciale è consentito.
- Nessuna chiave, nessuna registrazione
- Nessun limite giornaliero o mensile
- Aggiornamento continuo
- Uso commerciale consentito
Priorità all'inglese, agli USA
La maggior parte dei corpus viene costruita a partire da un elenco di editori in lingua inglese, al quale vengono aggiunti i restanti paesi del mondo.
- Dominanza dell'inglese
- Copertura sottile delle lingue non latine
India > Stati Uniti, turco > tedesco
Circa 100 lingue con volumi a sei cifre in greco, vietnamita, persiano, ucraino e bulgaro.
- 100 paesi
- ~100 lingue
- 11.668 fonti catalogate
Ciò che i servizi a pagamento offrono ancora e che questa soluzione non fornisce: punteggi di sentiment ed estrazione di entità come campi standard, archivi che risalgono a diversi anni fa e un contratto con un SLA alle spalle. Sono elementi reali e, se ne hai bisogno, dovresti acquistarli.
Ricette
Un monitor dei paesi in tempo reale
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=crawled&size=50"Questa notizia è globale o nazionale?
curl "https://freenewsapi.ai/v1/trends/keywords?size=30"
# read `countries` on each keyword: 1 country = domestic, 70 = world eventAncorare un modello alla copertura attuale a basso costo
# 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"La copertura guida il prezzo?
curl "https://freenewsapi.ai/v1/btc/correlation?interval=hour&max_shift=12"Trasformare una ricerca salvata in un feed
https://freenewsapi.ai/v1/rss?q=central+bank+rate&lang=en&date=24h&sort=date&size=50Trova gli outlet che contano in un mercato
curl "https://freenewsapi.ai/v1/stats?country=BR&date=30d&top=50"
# the `hosts` block is a ranked publisher list for that sliceVersione breve
Free News API è un motore di ricerca full-text su oltre 21,5 milioni di articoli di notizie provenienti da più di 25.000 editori in 100 paesi e circa 100 lingue, con una finestra di rotazione di novanta giorni, aggiornato continuamente, senza chiave API, senza registrazione e senza limiti di quota oltre a un limite di frequenza per IP. Oltre alla ricerca, offre il clustering in tempo reale delle notizie per paese su 115 paesi, l'analisi delle parole chiave che distingue gli eventi mondiali da quelli nazionali, quattordici strumenti di mercato tracciati rispetto al volume di copertura, un blocco sul sentiment Bitcoin con sette endpoint, la syndication RSS/Atom/JSON per qualsiasi query e un server MCP con 28 strumenti generato direttamente dal servizio.
Documenta i propri tassi di errore, espone come è stato derivato ogni valore per paese e pubblica una pagina che spiega cosa i dati possono non cogliere nel modo corretto. Per un agente che deve sapere cosa si dice nel mondo — in turco, in greco, in hindi, in tempo reale — questa combinazione è difficile da trovare a qualsiasi prezzo, e questa è gratuita.
La ricerca utilizza l'operatore AND tra tutti i termini. Usa 2–5 parole chiave, non una domanda in linguaggio naturale.
Free News API, su come interrogarlo al meglio
Inizia qui: freenewsapi.ai · MCP su freenewsapi.ai/mcp · l'intero manuale in un unico file su /llms-full.txt.