Quickstart
קבל מפתח, העתק את השורה, הרץ אותה, וקבל JSON.
0. ספרו במקום לפרט
צרו חשבון חינם, פתחו מפתחות API וצרו אחד. לאחר מכן שמרו אותו במשתנה סביבה:
export FNA_KEY=fna_live_...1. צמצמו את התוצאות
curl -H "Authorization: Bearer $FNA_KEY" "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 מציין כמה מאמרים התאימו, לא כמה הוחזרו — הערך מוגבל ל-10,000 למען מהירות, ו-total_is_lower_bound מודיע לך מתי הגעת למגבלה. country_source מציין כיצד נקבעה המדינה, וזה חשוב כי כשליש מערכי המדינה בכל מאגר חדשותי הם השערות ולא עובדות. ו-crawled_at הוא חותמת הזמן האמיתית: מוציאי לאור יכולים לתאריך אחורה את published_at, אך זמן הגלש נקבע על ידי צינור העיבוד.
2. קבלו את הטקסט המלא
מסננים משתלבים עם AND בין פרמטרים ו-OR בתוך פרמטר אחד. כך country=DE,AT&lang=de קוראים "מאמרים בגרמנית מגרמניה או מאוסטריה". זה מבקש מאמרים באוקראינית מהיום מאוקראינה, מהחדש לישן:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=date&size=10"3. קבלו מפתח
תוצאות החיפוש אינן כוללות את גוף הכתבה כברירת מחדל כדי לשמור על תגובות קטנות. בקש על כך במפורש רק לאחר שבחרת את הכתבות שאתה באמת רוצה:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?q=inflation&full_text=true&size=5"טקסט מלא הוא בערך 2,000–4,000 תווים לכל מאמר. עשרים מאמרים עם full_text=true הם כ-40,000 טוקנים עבור מודל שפה. בחרו תחילה, ואז קבלו את גוף המאמר. ראו עלויות טוקנים.
4. ספרו במקום לפרט
לעיתים קרובות, השאלה השימושית אינה "מהם המאמרים" אלא "האם יש כאן משהו בכלל, ואיפה הוא נמצא". ספירת תשובות בעלות שבר מהמחיר – כ-200 טוקנים לעומת אלפי טוקנים לדף תוצאות – מה שהופך אותה לקריאה הראשונה הנכונה עבור AI agent שצריך להחליט האם כדאי להריץ חיפוש:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"התשובה מספקת ספירות לפי מדינה, שפה, תחום דומיין, מוציא לאור ויום, המחושבות על כל קבוצת התוצאות התואמות ולא רק על העמוד הנוכחי.
ב-Python
import os, requests
HEADERS = {"Authorization": "Bearer " + os.environ["FNA_KEY"]}
r = requests.get("https://freenewsapi.ai/v1/search", headers=HEADERS, params={
"q": "semiconductor export controls",
"date": "7d",
"lang": "en",
"size": 20,
"sort": "relevance",
})
for a in r.json()["results"]:
print(a["published_at"], a["host"], a["title"])ב-JavaScript
const url = new URL("https://freenewsapi.ai/v1/search");
url.search = new URLSearchParams({ q: "central bank", date: "24h", size: "20" });
const { results } = await (await fetch(url, { headers: { Authorization: `Bearer ${FNA_KEY}` } })).json();
results.forEach(a => console.log(a.published_at, a.host, a.title));