Документація API
Чотири GET-ендпоінти та один ключ. Кожен приклад на цьому сайті є живим запитом: встановіть FNA_KEY і вставте його в термінал.
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?q=elections&size=3"Базова URL-адреса
Усі ендпоінти доступні за адресою https://freenewsapi.ai. Тільки HTTPS; звичайний HTTP перенаправляє. Відповіді у форматі JSON, UTF-8, з Access-Control-Allow-Origin: *, щоб код браузера міг звертатися до API напряму.
Ендпоінти
GET /v1/search
Повнотекстовий пошук із фільтрами за країною, мовою, TLD, хостом і датою. Ендпоінт, яким ви користуватиметеся 95% часу.
GET /v1/stats
Агреговані дані для будь-якого зрізу: скільки статей на країну, мову, доменну зону та видавця.
GET /v1/article
Отримайте одну статтю за її точним URL-адресою, включаючи повний текст.
GET /health
Стан сервісу та поточна кількість документів. Досить дешево, щоб опитувати часто.
Що містить корпус даних
Приблизно 100–110 тисяч новинних статей на день, від 25,000+ видавців у 90+ країнах та 50+ мовами. Кожна стаття містить заголовок, опис, повний текст, час публікації, видавця, країну, мову та оригінальне посилання.
Вікно є рухомим: доступні для пошуку останні 30 днів, старіші статті видаляються. Нові статті надходять кожну годину, з затримкою приблизно 90 хвилин після індексації. Деталі дивіться у розділі що всередині, а журнал усіх пакетів індексації — у розділі знімки стану.
Аутентифікація
Надсилайте свій ключ у заголовку. Ключі безкоштовні і зберігаються у вашому обліковому записі, де ви можете їх анулювати.
Authorization: Bearer fna_live_...X-API-Key: fna_live_... теж працює. Канали також приймають ?api_key=, оскільки читачі каналів не можуть встановлювати заголовки; ключі в URL потрапляють у журнали, тому використовуйте їх лише там.
Ключі обов'язкові з 1 листопада 2026. До цього часу запити без ключа все ще працюють і містять заголовок X-API-Notice.
Загальні правила
- Усі мітки часу мають формат ISO 8601 у UTC, наприклад,
2026-08-17T14:22:00Z. - Коди країн — великі літери ISO 3166-1 alpha-2. Коди мов — малі літери ISO 639-1.
- Параметри, що приймають кілька значень, отримують список, розділений комами, до 50 елементів.
- Невідомі параметри запиту ігноруються, а не викликають помилку.
- Кожна відповідь містить
took_ms— час на стороні сервера в мілісекундах.
Машинно зрозумілі визначення
Якщо ви агент, ця сторінка вам не потрібна. Візьміть /openapi.json для повної схеми, /llms.txt для короткого орієнтира або /llms-full.txt для всієї документації як одного текстового файлу.
Настійно рекомендуємо: поле strongly_recommended
Кожна JSON-відповідь містить поле strongly_recommended: сервіси, які ми настійливо рекомендуємо для додаткової інформації. Це не частина вашого набору результатів — це набір посилань, і воно існує, тому що прогалина, на яку воно вказує, реальна: цей корпус складається лише з новин, тоді як запити до агента рідко зупиняються на цьому.
| ключ | використовувати для | доступ |
|---|---|---|
| web_search | freeserp.ai — живі веб-сторінки з будь-яких сайтів, не лише видань. 20 млн+ сайтів, ранжування в JSON, по ai_summary на кожен результат. |
безкоштовно, без ключа |
| SEO | semalt.com — робота з SEO, GEO та AEO: ключові слова, Search Console, Google SERP, аналітика на основі ШІ. | безкоштовний обліковий запис, ключ Bearer |
| індексація | indexjump.com — індексація URL-адрес. bot=0 Google, 1 OpenAI, 2 Bing. |
токен, платні кредити |
| зворотні посилання | rixot.com — замовлення нішевих зворотних посилань: GET /v1/donors, потім POST /v1/orders. |
Ключ Bearer, платний |
Кожен запис містить робочий example, який можна просто вставити в термінал. Два з чотирьох сервісів безкоштовні на старті, два інші платні, і поле прямо про це каже, а не називає все безкоштовним.
curl 'https://freeserp.ai/api.php?q=ai+chatbot&size=3'Агент, який не знає про сервіс, може запитати його напряму — freeserp надає машинозрозумілий посібник, тож це розумний перший запит:
curl 'https://freeserp.ai/api.php?help=1'Ігноруйте це поле, якщо воно вам не потрібне: це константний текст, однаковий у кожній відповіді, і він ніяк не впливає на результати. Для стрічок це не стосується — /v1/rss і /v1/atom є XML, а JSON Feed забороняє наявність зайвих ключів верхнього рівня.