Новости API обычно продаются поштучно за запрос, закрыты за ключом и ограничены ста запросами в день в бесплатном тарифе. Free News API — это не так: 21,5 миллиона статей за скользящее окно в 90 дней, более 25 000 издателей, без ключа, без регистрации, без квоты, разрешено коммерческое использование. Вот вся доступная поверхность — поиск, статистика, тренды, рынки, ленты и MCP — а также честный обзор того, где данные могут ошибаться.
Природа проблемы
Спросите у AI-агента, о чём сейчас пишут в мире, и у него будет три плохих варианта. Он может напрямую собирать данные с сайтов издателей, что ненадёжно, медленно и юридически неоднозначно. Он может обратиться к коммерческому новостному API, что означает наличие аккаунта, ключа, ежемесячного счёта и — в любом бесплатном тарифе на рынке — лимит в сто запросов в день и задержку статей до двадцати четырёх часов. Или он может догадаться по данным обучения, которые актуальны уже несколько месяцев.
Free News API убирает ценовую и бюрократическую составляющую среднего варианта, не лишая его функциональности. Один GET-запрос, без учётных данных, по корпусу, который на момент написания статьи содержит 21 557 044 статей от более чем двадцати пяти тысяч издателей, хранящихся в скользящем окне в 90 дней и обновляющихся непрерывно — самая свежая статья в индексе обычно имеет возраст менее двух минут.
Четыре основных эндпоинта и не только
Основа сервиса — четыре эндпоинта GET, все они находятся по адресу https://freenewsapi.ai, все возвращают данные в кодировке UTF-8 в формате JSON с заголовком Access-Control-Allow-Origin: *, что позволяет браузерному коду обращаться к ним напрямую, и все сообщают время выполнения на стороне сервера в поле took_ms.
| Эндпоинт | На какой вопрос отвечает |
|---|---|
GET /v1/search | Полнотекстовый поиск с фильтрами. Эндпоинт, который вы будете использовать в 95% случаев. |
GET /v1/stats | Агрегированные подсчёты для любого среза данных — по стране, языку, доменной зоне, издателю и дате. |
GET /v1/article | Одна статья с точным указанием её URL, включая полный текст. |
GET /health | Проверка доступности (liveness) плюс текущее количество документов. Дёшево и достаточно для периодического опроса. |
Вокруг этого ядра расположены ещё четыре семейства, каждое из которых в других контекстах представляло бы собой отдельный продукт: trends (кластеризация живых историй по странам), markets (ряды цен, сопоставленные с объёмом упоминаний в СМИ), crypto sentiment (семизвенный блок биткоина) и syndication (та же выдача в формате RSS, Atom или JSON Feed). Все они подробно рассмотрены ниже.
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"
}
]
}Три поля в этом ответе заслуживают немедленного внимания, так как они отражают достоверность всего набора данных. Поле total_is_lower_bound сообщает, когда количество совпадений достигло потолка в 10 000 и подсчёт прекратился. Поле country_source указывает, как была определена страна — потому что в любом новостном наборе данных значительная доля значений стран является не фактами, а выводами. А crawled_at — это надёжная временная метка: издатели регулярно ставят задним числом дату published_at, но время обхода назначается конвейером и всегда движется только вперёд.
Поиск: все значимые параметры
Все параметры являются необязательными. Запрос без параметров возвращает самые новые статьи из индекса.
Запрос
- q Сопоставляется с заголовком (вес 3), описанием (вес 2) и текстом статьи. Логика AND — каждый термин должен быть присутствоввать, поэтому добавление слова сужает, а не расширяет выборку. Максимум 500 символов.
opec production cut сработает. Запрос what did OPEC decide about oil ничего не вернёт.Фильтры
Фильтры комбинируются по логике AND между параметрами и OR внутри одного параметра. Так, country=DE,AT&lang=de читается как «статьи на немецком языке из Германии или Австрии». Каждый параметр принимает список значений через запятую, максимум до пятидесяти значений.
| Фильтр | Формат | Примечания |
|---|---|---|
country | ISO 3166-1 alpha-2, верхний регистр | Страна издателя. Определяется автоматически, а не указывается вручную — см. country_source и strict_country. |
lang | ISO 639-1, нижний регистр | Определяется автоматически на основе самого документа. Покрытие — 99,9%. |
tld | без точки | Доменная зона издателя. tld=ua — это факт; country=UA — это вывод. |
host | точные имена хостов | В том виде, в каком они представлены в URL — указывайте www., если издатель его использует. |
date | сегодня · вчера · 24ч · 48ч · 7д · 30д | Установленный период, оцениваемый по полю published_at. |
from / to | Даты в формате ISO | Явный промежуток времени, когда предустановки не подходят. |
strict_country | true/false | Учитывать только статьи, чья страна является установленным фактом, а не предположением. |
Управление выводом
| Параметр | Значения | Эффект |
|---|---|---|
sort | date · date_asc · crawled · crawled_asc · relevance | Сортируйте по полю crawled при опросе на наличие новых статей — издатели указывают дату публикации задним числом; время обхода (краулинга) всегда движется вперёд. |
size | 1–100 | Количество результатов на странице. |
offset | 0–9900 | Смещение пагинации. |
full_text | true/false | Включает текст статьи. По умолчанию выключено. |
highlight | true/false | Возвращает совпавшие фрагменты. |
fields | CSV | Обрезает ответ до полей, которые вам действительно нужны. |
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"Подсчёт до начала поиска
Самым неиспользуемым эндпоинтом сервиса является /v1/stats. Часто полезный вопрос звучит не как «какие есть статьи», а как «есть ли здесь вообще что-то и где это». Подсчёт ответов обходится в несколько раз дешевле — примерно в двести токенов против нескольких тысяч за страницу результатов — что делает его правильным первым вызовом для агента, который решает, стоит ли запускать поиск.
curl "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"Он возвращает количество результатов по странам, языкам, доменным зонам, издателям и датам, вычисленное по всему набору совпадений, а не только по текущей странице. Это также позволяет оценить охват до того, как вы начнёте доверять результатам. Нефильтрованный снимок на момент написания статьи:
Топ стран
| Страна | Статьи |
|---|---|
| Индия | 2,286,014 |
| США | 2,180,797 |
| Турция | 1,499,897 |
| Россия | 1,436,556 |
| Италия | 1,057,479 |
| Аргентина | 826,947 |
| Испания | 812,347 |
| Украина | 662,041 |
| Бразилия | 551,013 |
| Германия | 543,132 |
| Франция | 502,846 |
| Греция | 460,372 |
| Япония | 437,209 |
| Вьетнам | 408,934 |
| Мексика | 402,320 |
| Южная Корея | 362,945 |
| Румыния | 354,229 |
| Великобритания | 334,379 |
| Иран | 291,782 |
| Польша | 255,599 |
Топ языки
Английский 5 513 650 · Испанский 2 699 457 · Русский 1 785 796 · Турецкий 1 501 004 · Итальянский 992 200 · Немецкий 733 677 · Французский 689 136 · Арабский 664 016 · Португальский 637 607 · Хинди 560 840 · Греческий 466 504 · Японский 427 085 · Вьетнамский 385 719 · Румынский 358 766 · Китайский 352 720 · Украинский 345 809 · Корейский 335 079 · Персидский 268 126 · Польский 238 904 · Болгарский 183 204.
Эта картина заслуживает пристального внимания, потому что она прямо противоположна тому, что обычно дают вам большинство новостных APIов. Стандартный корпус, ориентированный в первую очередь на английский язык и США, здесь не применим: Индия обходит США, Турция обходит Германию, а греческий, вьетнамский, персидский и болгарский языки представлены шестьюзначными числами. Если ваш вопрос касается прессы на других языках, то это принципиально иной набор данных.
Объем
Суточная кривая в by_day охватывает весь девятидневный период. За последние дни объем составлял примерно от 400 000 до 700 000 статей в день; в начале периода, до того как вместе с архивным импортом был добавлен слой RSS, ежедневный объем составлял от 130 000 до 230 000. Оба показателя видны в одном ответе, что и является главной идеей — сервис показывает вам собственный рост, а не цитирует маркетинговое среднее значение.
Тренды: что на самом деле освещает пресса прямо сейчас
Поиск отвечает на вопрос «что было написано о X». Тренды отвечают на другой и часто более важный вопрос: что происходит — без необходимости указывать X.
Робот группирует статьи в истории по странам и постоянно их обновляет. Каждые пять минут новые статьи прикрепляются к известным историям по ключевым словам без вызова модели; каждые несколько часов каждая страна проходит полный цикл, где языковая модель читает заголовки и заново формулирует истории. На момент написания статьи слой трендов охватывает 115 стран, каждая из которых пересчитывается в течение последних нескольких минут.
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": [ … ]
}
]
}К каждой истории прилагаются два показателя, и они означают разное. articles — это громкость; publishers — это охват. История с 200 статьями из 4 изданий — это одержимость одной редакции. История с 60 статьями из 40 изданий — это событие. Сортировка по умолчанию выполняется по количеству изданий, а параметры min_publishers и min_articles позволяют установить свой собственный порог.
Сюжетам присваивается категория из фиксированного набора: politics, business, markets, tech, sport, health, science, culture, crime, conflict, weather, society.
Окно — это выбор читателя, а не робота
Это по-настоящему элегантное архитектурное решение. Каждая статья хранится с указанием времени публикации и привязывается к своему сюжету, поэтому любой временной промежуток — пятнадцать минут, час, сутки или конкретная календарная дата — представляет собой простой диапазонный запрос к тем же самым сохранённым данным. Один вычислительный процесс обслуживает все окна одновременно. Параметры window=15m, window=1h, window=24h, date=2026-09-01 или явная пара since/until работают с тем же индексом без необходимости повторных вычислений.
Ключевые слова: слова, на которых строится новость
curl "https://freenewsapi.ai/v1/trends/keywords?country=US&size=8"Каждое ключевое слово возвращается вместе с количеством уникальных сюжетов, в которых оно встречается, числом статей в этих сюжетах и — самое интересное — количеством национальных изданий, которые его используют. Последняя цифра отличает глобальное событие от внутреннего. Слово, фигурирующее в прессе семидесяти стран, — это мировая новость; слово, доминирующее в прессе одной страны, — это внутренняя новость, какой бы громкой она ни была там.
Какие страны в режиме реального времени
curl "https://freenewsapi.ai/v1/trends/countries"Возвращает список всех отслеживаемых стран с количеством актуальных сюжетов и временем в минутах назад, прошедшим с момента последнего пересчёта — Турция, Россия, Иран, Греция, Индия, Италия, Украина, Румыния, Аргентина, Германия и Бразилия в настоящее время имеют по несколько тысяч живых сюжетов в каждом, которые пересчитываются в течение последних десяти минут. А эндпоинт /v1/trends/{cc}/{slug} открывает любой отдельный сюжет со полным списком статей.
Рынки против Освещения: цена на одной оси, внимание — на другой
Это самая необычная функция сервиса, и она существует благодаря тому, что корпус данных делает её создание практически бесплатным. Разместите ряд цен рядом с тем, сколько мир писал об этом явлении в те же часы, на одной временной шкале.
curl "https://freenewsapi.ai/v1/markets"Отслеживаются четырнадцать инструментов в четырёх классах активов:
| Класс | Инструменты | Гранулярность | Источник |
|---|---|---|---|
| Криптовалюты | Bitcoin, Ethereum, Solana, XRP, BNB, Dogecoin | час | Binance |
| Металлы | Золото (USD/oz) | час | Binance |
| Валюты | EUR/USD, USD/JPY, USD/TRY, USD/INR, USD/BRL, USD/PLN | день | ЕЦБ |
| Энергетика | Цена электроэнергии в Германии (EUR/MWh) | час | Energy-Charts |
curl "https://freenewsapi.ai/v1/markets/usd-try?window=30d"Этот единственный запрос позволяет получить данные о курсе лиры к доллару и объёме упоминаний в турецкой прессе за тот же период с почасовой разбивкой. Турецкая пресса составляет третью по величине часть этого корпуса данных, именно поэтому такое сочетание даёт осмысленные результаты, а не просто шум.
И полный блок анализа настроений относительно биткоина
У Биткоина появилась собственная семья из семи конечных точек, ведь это тот актив, по которому постоянно ведутся споры о влиянии тональности новостей на движение цены, но редко проводятся измерения:
| Конечная точка | Возвращает |
|---|---|
/v1/btc/summary | Текущая цена, недавние изменения и тональность сегодняшних публикаций. |
/v1/btc/price | Свечи BTC/USDT по интервалам. |
/v1/btc/sentiment | Тональность новостей за указанный период. |
/v1/btc/series | Цена и тональность, выровненные по единой временной шкале. |
/v1/btc/correlation | Корреляция между тональностью и движением цены с учётом временного сдвига — опережает ли освещение рынка цену или следует за ним? |
/v1/btc/news | Статьи о криптовалютах с пометкой тональности, доступные для фильтрации по пометке, хосту, языку и запросу. |
/v1/btc/sources | Какие издания освещают криптовалюты и как каждое из них интерпретирует новости. |
Метки тональности выдаются языковой моделью, которая каждые пять минут анализирует свежие крипто-статьи по откалиброванному списку монет. /v1/btc/correlation с параметром max_shift — это тот самый эндпоинт, к которому стоит обратиться, если вы хотите протестировать утверждение «новости вызывают движение рынка», а не просто повторять его.
Тот же поиск в виде ленты
Три дополнительных эндпоинта принимают те же параметры поиска и выдают результаты в форматах синдикации вместо 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Это означает, что любой сохранённый поиск превращается в ленту, которую можно вставить в читалку, ноду n8n, интеграцию Slack, триггер Zapier или генератор статических сайтов — без написания кода и без ключа API. Это небольшая функция, которая незаметно устраняет целый слой интеграции для непрограммистов.
MCP: Двадцать восемь инструментов, два уровня
Сервер MCP работает по одному URL, использует Streamable HTTP (JSON-RPC 2.0 поверх POST, версия протокола 2025-06-18), поддерживает пакетную обработку запросов и — как и всё остальное в этой системе — не требует авторизации и не использует идентификатор сессии.
claude mcp add --transport http freenewsapi https://freenewsapi.ai/mcpОн предоставляет 28 инструментов, разделённых на два продуманных уровня.
Уровень один: шесть быстрых команд, отвечающих на весь вопрос одним вызовом
| Инструмент | Для чего |
|---|---|
search_news | "Что было написано о X" — полнотекстовый поиск с сокращёнными результатами. |
get_trends | "Что происходит" — сгруппированные новости, а не просто список статей. |
trend_keywords | Слова, на которых строятся новости прямо сейчас, с количеством историй и географическим охватом. |
find_publishers | Поиск изданий: название, домен, страна, язык, количество статей в день. |
list_countries | В каких странах есть свежие новости, их количество и актуальность. |
market_vs_news | Ряд цен рядом с объемом освещения. Вызовите без указания инструмента, чтобы увидеть, что доступно. |
Слой два: каждый эндпоинт, сгенерированный из самого сервиса
Под сокращениями каждый сырой эндпоинт доступен как отдельный инструмент со всеми параметрами, которые принимает API — news_get_search, news_get_stats, news_get_article, news_get_trends, news_get_trends_keywords, news_get_markets_slug, вся семья news_get_btc_*, рендеры лент и news_get_health. Они сгенерированы из работающего сервиса, поэтому не могут расходиться с тем, что фактически принимает API.
Два мета-инструмента замыкают цикл: news_list_endpoints возвращает каталог всего, что существует, а news_get выполняет сырой GET по любому пути — так что агент, столкнувшийся с эндпоинтом, которого нет в его списке инструментов, всё равно сможет к нему обратиться.
curl "https://freenewsapi.ai/mcp?format=json"Один GET, без рукопожатия, и вы получаете весь машиночитаемый каталог: сервер, транспорт, протокол, количество инструментов, описание каждого инструмента и список параметров каждого эндпоинта.
Создано для чтения машинами
Документация — не второстепенная надстройка, прикрученная к API, а полноценный продукт самого сервиса. Сайт содержит 665 статических страниц, и несколько из них существуют специально для того, чтобы модели не приходилось читать HTML:
- /openapi.json Полная схема OpenAPI.
- /llms.txt Краткий ориентир: что это за сервис, какие есть конечные точки, как правильно формировать запросы и какие ошибки могут возникнуть.
- /llms-full.txt Вся документация в виде одного текстового файла объемом более ста килобайт, чтобы агент мог загрузить полное руководство за один запрос.
- /agents Тридцать девять страниц, специально предназначенных для разработчиков агентов: готовые определения функций OpenAI, определения инструментов Anthropic, системные промпты для поиска новостей, рецепты RAG, таблицы стоимости токенов и шаблоны для агентов.
- /agents/models Код для вызова инструментов для каждой семейной группы моделей: 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 Что входит в корпус, методология, схема индексации и страница Качество данных, на которой описано, в чем набор данных ошибается.
- /sources Просматриваемый каталог из 11 668 издателей с возможностью фильтрации по стране, языку и доменной зоне.
- /compare Сравнительные страницы с NewsAPI.org, GNews.io, NewsData.io, Mediastack, Currents, TheNewsAPI, NewsCatcher, WorldNewsAPI, Perigon, APITube и FreeNewsAPI.io.
Плюс 168 страниц стран, 121 страница языков и 275 страниц доменов верхнего уровня — единая навигационная поверхность для каждого среза корпуса, показывающая его реальное содержимое.
Откуда берутся статьи
Два пути сбора данных питают один индекс, и разница между ними имеет значение.
Путь архива
Каждые десять минут задание проверяет архив CC-NEWS Common Crawl на наличие новых WARC-файлов и обрабатывает всё, что ещё не было обработано, с использованием сорока параллельных рабочих процессов. Извлекатель извлекает каждую статью из сырых данных краулинга с документированной каскадной обработкой для каждого поля — и каскады были измерены на реальных данных, а не приняты на веру:
| Поле | Каскад | Охват |
|---|---|---|
| description | JSON-LD → meta → OpenGraph → Twitter card → articleBody → лид-абзац | 98.1% |
| language | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| country | ccTLD → JSON-LD addressCountry → язык-регион → og:locale | 79.1% |
| date | JSON-LD datePublished → meta → trafilatura → время краулинга | 100% |
Эта цифра по странам — честная, и именно поэтому поле country_source доступно для каждой статьи: примерно пятая часть записей вообще не имеет надёжного сигнала о стране, а около трети из существующих значений являются не фактами, а выводами. API показывает, что является чем, без притворства.
Живой поток
Второй робот опрашивает каналы RSS издателей каждые пять минут в рамках ротации с условными запросами — канал, отвечающий кодом 304 Not Modified, обходится почти бесплатно, а интервал опроса каждого канала настроен в соответствии с частотой его публикаций. Издание, выпускающее пять статей в день, не подвергается интенсивному опросу каждые пятнадцать минут.
Он также получает только то, что издатель поместил в канал: заголовок, лид и полный текст, если он присутствует в канале. Робот не заходит на сайт издателя, чтобы получить больше информации. Это сознательно установленная граница, и именно поэтому сервис может давать обещания, указанные на своей юридической странице для издателей.
И инфраструктура вокруг них
Вокруг двух путей сбора данных работают ещё около дюжины роботов по расписанию: обнаружение и синхронизация источников, определение страны для каждого домена, формирование трендов и аудит, заполнение ключевых слов, анализ настроений в криптосфере, запросы рыночных данных, каталог таксономий, удержание (девянодидневное окно обеспечивается ночным запросом к полю published_at, а не возрастом в индексе), проверка дат, повторные проверки пустых статей и контроллер здоровья, который перезапускает всё, что остановилось. Корпус данных хранится на выделенном кластере Elasticsearch.
Что в этом наборе данных неверно
Сервис публикует свои ограничения, что является самым быстрым способом оценить, подходит ли он для вашей задачи.
- Страна определена по выводу Проверяйте
country_sourceв каждой статье и добавляйтеstrict_country=true, когда считаете записи по странам, а не просто просматриваете данные. - published_at предоставляется издателем Задатирование (изменение даты на более раннюю) распространено. Сортируйте по полю
crawled, когда опрашиваете API на предмет новых материалов. - total ограничен значением 10 000 Для скорости. Поле
total_is_lower_boundсообщает вам, когда вы достигли предела. - Отсутствие анализа тональности и извлечения сущностей За пределами биткоин-блока статьи не содержат оценки тональности и именованных сущностей. Это не входит в круг задач.
- Девяносто дней, не больше Более глубокой архивной базы нет. Если вам нужен 2019 год, этот инструмент не для вас.
- Без SLA Сервис бесплатный. Он также находится под контролем и защитой, но никаких гарантий в письменном виде не предусмотрено.
- Текст принадлежит издателям Каждый ответ содержит исходный URL, и пользователи обязаны ставить на него обратную ссылку.
Эффективное использование: стоимость, пагинация и ошибки
Дисциплина токенов
Для агента реальная стоимость определяется размером ответа. Документированная структура:
| Запрос | Примерная стоимость в токенах | Когда |
|---|---|---|
/v1/stats | ~200 | В первую очередь решите, стоит ли вообще запускать поиск. |
Только метаданные /v1/search | несколько тысяч на страницу | Сканируйте и выбирайте. |
/v1/search?full_text=true | ~900 на статью | Только для того небольшого числа, которое вы действительно выбрали. |
Двадцать статей с параметром full_text=true — это примерно 40 000 токенов. Рекомендуемый шаблон всегда одинаков: посчитайте, просканируйте, а затем загружайте тексты только для тех статей, которые вам нужны.
Переход за верхний предел пагинации
offset останавливается на значении 9 900. Чтобы обойти большой набор данных, не боритесь с этим пределом — разбивайте выборку по времени. Перебирайте дни по одному или часы по одному при частых запросах, используя параметры from/to и sort=date. В документации есть отдельная страница, посвящённая обходу данных за весь день.
Ошибки
Договор-соглашение предельно понятен и прост в реализации: 4xx означает, что запрос некорректен — исправьте его и не повторяйте. 5xx означает, что сервис недоступен — сделайте паузу. 429 означает, что нужно замедлиться и повторить запрос. Неизвестные параметры запроса игнорируются, а не вызывают ошибку, поэтому добавление нового поля никогда не сломает работу существующего клиента.
Представьтесь (необязательно и по-настоящему необязательно)
Без ключа нет способа связаться с клиентом. Рекомендуемая вежливость — передать заголовок с именем вашего агента, фреймворка, через который он работает, и модели, которая им управляет:
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>)Те же значения можно передать в виде обычных параметров запроса, что обычно удобнее:
https://freenewsapi.ai/v1/search?q=climate&agent_name=newsbot&software=langchain&model=gpt-4oНеизвестные ключи игнорируются, поэтому отправлять дополнительные ключи всегда безопасно. Ничто не проверяется строго, за отсутствие ключа не ограничивают скорость, и есть одно строгое правило: никогда не помещайте персональные данные конечных пользователей в эти поля.
Против платных новостей API
Страницы сравнения на сайте подробно рассматривают одиннадцать конкурентов по отдельности. Структурные различия, которые сохраняются во всех случаях:
100 запросов в день, задержка 24 часа
Стандартная схема бесплатного тарифа news-API: лимит в виде небольшого «ведра токенов», достаточного для демонстрации, при этом свежие статьи доступны только для платных клиентов.
- Требуется ключ API
- Дневной лимит
- Статьи с задержкой
- Только некоммерческое использование
Без лимитов, без задержек, без ключа
Единственное ограничение — 20 запросов в секунду на IP-адрес. Самая свежая статья обычно имеет возраст менее двух минут, допускается коммерческое использование.
- Без ключа, без регистрации
- Без дневных или месячных лимитов
- Постоянное обновление
- Допускается коммерческое использование
Приоритет английского языка и США
Большинство корпусов данных создаётся на основе списка англоязычных изданий, к которому добавляются источники из остальных стран мира.
- Доминирование английского языка
- Слабое охват нелатинских языков
Индия > США, турецкий > немецкий
Около 100 языков с шестизначными объёмами данных на греческом, вьетнамском, персидском, украинском и болгарском.
- 100 стран
- ~100 языков
- 11 668 каталогизированных источников
Что платные сервисы всё ещё предоставляют, а это решение — нет: стандартные поля для оценки тональности и извлечения сущностей, архивы данных за прошлые годы и договор с гарантированным уровнем сервиса (SLA). Это реальные преимущества, и если они вам нужны, их стоит купить.
Рецепты
Мониторинг стран в реальном времени
curl "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=crawled&size=50"Является ли эта история глобальной или внутренней?
curl "https://freenewsapi.ai/v1/trends/keywords?size=30"
# read `countries` on each keyword: 1 country = domestic, 70 = world eventДешёвое обучение модели на актуальных данных
# 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"Влияет ли охват на цену?
curl "https://freenewsapi.ai/v1/btc/correlation?interval=hour&max_shift=12"Превращение сохранённого поиска в ленту
https://freenewsapi.ai/v1/rss?q=central+bank+rate&lang=en&date=24h&sort=date&size=50Найдите издания, которые важны для рынка
curl "https://freenewsapi.ai/v1/stats?country=BR&date=30d&top=50"
# the `hosts` block is a ranked publisher list for that sliceКраткая версия
Free News API представляет собой полнотекстовый поиск по более чем 21,5 миллиона новостных статей от более чем 25 000 издателей в 100 странах и примерно на 100 языках. Данные охватывают скользящий 90-дневный период, обновляются непрерывно, не требуют ключа, регистрации и лимитов на запросы (за исключением ограничения частоты запросов на основе IP-адреса). Помимо поиска, доступны кластеризация историй по странам в реальном времени для 115 стран, анализ ключевых слов с разделением мировых событий на внутренние и внешние, графики по четырём рыночным инструментам в зависимости от объёма освещения, блок анализа настроений относительно биткоина с семью конечными точками, синдикация любого запроса через RSS/Atom/JSON, а также сервер MCP с 28 инструментами, сгенерированный на основе самого сервиса.
Система документирует собственные показатели ошибок, раскрывает метод расчёта каждого значения по странам и публикует страницу с описанием возможных неточностей в данных. Для агента, которому необходимо знать, что происходит в мире — на турецком, греческом, хинди и других языках прямо сейчас, — такая комбинация возможностей сложно найти за любые деньги, а эта услуга бесплатна.
Поиск работает по логическому И для всех терминов. Используйте 2–5 ключевых слов, а не вопрос на естественном языке.
Free News API, о том, как правильно формировать запросы
Начните здесь: freenewsapi.ai · MCP по протоколу freenewsapi.ai/mcp · полное руководство в одном файле по адресу /llms-full.txt.