Gyors kezdés
Szerezzen be egy kulcsot, másolja a sort, futtassa le, és olvassa el a JSON választ.
0. Szerezz egy kulcsot
Hozzon létre egy ingyenes fiókot, nyissa meg az API-kulcsokat és hozzon létre egyet. Ezután tárolja el egy környezetváltozóban:
export FNA_KEY=fna_live_...1. Keresés
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"
}
]
}A válasz három mezője azonnal figyelemre méltó. total a találati cikkek száma, nem a visszaadottaké – sebesség okából 10,000-re van korlátozva, és total_is_lower_bound jelzi, ha elérte a korlátot. country_source azt mutatja, hogyan határozták meg az országot, ami fontos, mert bármely hír-adatbázis ország értékeinek körülbelül egyharmada következtetés, nem tény. És crawled_at a becsületes időbélyeg: a kiadók published_at-kel késleltethetnek, de a feltárás idejét a rendszer rendeli hozzá.
2. Szűkítsd le
A szűrők a paraméterek között AND-ként, egy paraméteren belül OR-ként kombinálódnak. Így a country=DE,AT&lang=de azt jelenti: "Német nyelvű cikkek Németországból vagy Ausztriából". Ez a példa a mai ukrán nyelvű cikkek lekérését kéri Ukrajnából, a legfrissebbekkel először:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=date&size=10"3. Szerezd meg a teljes szöveget
A keresési eredmények alapértelmezetten nem tartalmazzák a cikk szövegtartalmát a kisebb válaszok érdekében. Kérje kifejezetten, ha kiválasztotta a ténylegesen kívánt cikkeket:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?q=inflation&full_text=true&size=5"A teljes szöveg hossza cikkenként körülbelül 2,000–4,000 karakter. Husz cikk full_text=true esetén egy nyelvi modell számára körülbelül 40,000 tokennek felel meg. Először válassza ki a cikkeket, majd kérje le a teljes szövegeket. Lásd a tokenköltségeket.
4. Számolás listázás helyett
Gyakran a hasznos kérdés nem az, hogy "melyek a cikkek", hanem az, hogy "van-e egyáltalán valami itt, és hol található". A válaszok megszámolása töredék áron – körülbelül 200 tokenért, szemben a több ezerrel egy eredményoldaltól – ami lehetővé teszi, hogy ez legyen az első hívás egy ügynök számára, mielőtt eldöntené, hogy megéri-e a keresést futtatni:
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"A válasz ország, nyelv, doménzóna, kiadó és nap szerinti darabszámokat ad, a teljes egyező halmaz alapján, nem csak az aktuális oldalon.
Python-ban
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-ben
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));