Новини 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 (семиендпоінтний блок Bitcoin) та 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 охоплює повний вікно в 90 днів. Останні дні знаходяться в діапазоні приблизно 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 або генератор статичних сайтів — без коду та без ключа. Це невелика функція, яка непомітно усуває цілий шар інтеграції для тих, хто не програміст.
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 Короткий орієнтовний файл — про те, що це за сервіс, які існують кінцеві точки (endpoint), як правильно виконувати запити та які виникають помилки.
- /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 сторінок TLD — єдина навігаційна поверхня для кожного фрагмента корпусу, де відображається його реальний вміст.
Походження статей
Два шляхи збору даних живлять один індекс, і різниця між ними має значення.
Архівний шлях
Кожні десять хвилин завдання перевіряє архів CC-NEWS від Common Crawl на наявність нових WARC-файлів і обробляє все, що ще не було оброблено, за допомогою сорока паралельних робочих процесів. Екстрактор витягує кожну статтю з сирого збору даних за допомогою задокументованої каскадної системи для кожного поля — при цьому каскади були виміряні на реальних даних, а не прийняті на віру:
| Поле | Каскад | Покриття |
|---|---|---|
| опис | JSON-LD → meta → OpenGraph → Twitter card → articleBody → вступний абзац | 98.1% |
| мова | <html lang> → JSON-LD inLanguage → og:locale | 99.9% |
| країна | ccTLD → JSON-LD addressCountry → мова-регіон → og:locale | 79.1% |
| дата | JSON-LD datePublished → meta → trafilatura → час збору даних | 100% |
Цей показник щодо країни є чесним, саме тому поле country_source доступне в кожній статті: приблизно п’ята частина записів взагалі не має надійного сигналу щодо країни, а близько третини наявних значень є висновками, а не фактами. API показує, що є що, замість того, щоб імітувати наявність точних даних.
Живий шлях
Другий робот опитує канали RSS видавців кожні п’ять хвилин у циклі з умовними запитами — канал, який відповідає кодом 304 Not Modified, коштує майже нічого, а інтервал опитування кожного каналу налаштовано відповідно до частоти його публікацій. Видання, яке публікує п’ять статей на день, не обтяжується запитами кожні п’ятнадцять хвилин.
Він також бере лише те, що видавець додав у стрічку: заголовок, вступний абзац та повний текст, якщо він присутній у стрічці. Робот не переходить на сайт видавця, щоб отримати більше даних. Це свідомий обмежувальний межа, і саме тому сервіс може давати обіцянки, зазначені на своїй юридичній сторінці для видавців.
І обслуговуюча їх інфраструктура
Вокруг двох шляхів збору даних працюють ще dozen роботів за графіком: виявлення джерел і синхронізація, визначення країни для кожного домену, побудова трендів і аудит, заповнення ключових слів, аналіз настроїв щодо криптовалют, запити ринкових даних, каталог таксономії, утримання (вікно в 90 днів забезпечується нічним запитом до поля published_at, а не віком індексу), перевірка дати, повторна перевірка порожніх статей та охорона здоров’я, яка перезапускає будь-який процес, що зупинився. Корпус зберігається на виділеному кластері Elasticsearch.
Що в цьому наборі даних є неточним
Сервіс публікує свої обмеження, що є найшвидшим способом оцінити, чи підходить він для вашої задачі.
- Країна визначається на основі припущень Перевіряйте
country_sourceв кожній статті та додавайтеstrict_country=true, коли ви рахуєте статті за країнами, а не просто переглядаєте їх. - published_at надається видавцем Зміна дати публікації є поширеною. Сортуйте за полем
crawled, коли ви опитуєте API щодо нових матеріалів. - total обмежено до 10 000 Для швидкодії.
total_is_lower_boundповідомляє вам, коли ви досягли ліміту. - Немає аналізу тональності або витягу сутностей Поза межами блоку Bitcoin статті не містять оцінки тональності та іменованих сутностей. Це не входить у сферу дії сервісу.
- Дев'яносто днів і не більше Глибшого архіву немає. Якщо вам потрібні дані 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 години
Стандартна форма безкоштовного тарифу для новин-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 інструментами, згенерований на основі самої служби.
Він документує власні показники помилок, демонструє, як було отримано кожне значення для кожної країни, та публікує сторінку про те, в чому дані можуть містити неточності. Для агента, якому потрібно знати, що говорить світ — турецькою, грецькою, хінді — саме зараз, така комбінація важко знаходиться за будь-яку ціну, а ця — безкоштовна.
Пошук працює за логічною операцией «І» (AND) для всіх термінів. Використовуйте 2–5 ключових слів, а не питання природною мовою.
Free News API, про те, як правильно виконувати запити
Почніть тут: freenewsapi.ai · MCP на freenewsapi.ai/mcp · весь посібник одним файлом на /llms-full.txt.