From 1 November 2026 the API needs a free key. Calls without one work until then. Get a key · what changes
EL
EnglishУкраїнськаEspañolPortuguêsDeutschFrançaisItalianoPolskiNederlandsSvenskaDanskNorskSuomiČeštinaRomânăMagyarΕλληνικάTürkçeالعربيةעבריתفارسیहिन्दीবাংলাIndonesiaMelayuTiếng Việtไทย日本語한국어中文
ΣύνδεσηΑποκτήστε κλειδί API
Αρχική › Τεκμηρίωση API › Γρήγορη εκκίνηση

Γρήγορη εκκίνηση

Αποκτήστε ένα κλειδί, αντιγράψτε τη γραμμή, εκτελέστε την, διαβάστε JSON.

0. Αποκτήστε ένα key

Δημιουργήστε δωρεάν λογαριασμό, ανοίξτε τις κλειδιά API και δημιουργήστε ένα. Στη συνέχεια, κρατήστε το σε μια μεταβλητή περιβάλλοντος:

bash
export FNA_KEY=fna_live_...

1. Αναζήτηση

bash
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 διαβάζεται ως «Άρθρα στα γερμανικά από τη Γερμανία ή την Αυστρία». Αυτό ζητά άρθρα στα ουκρανικά από την Ουκρανία για σήμερα, με τα νεότερα πρώτα:

bash
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/search?country=UA&lang=uk&date=today&sort=date&size=10"

3. Αποκτήστε το πλήρες κείμενο

Τα αποτελέσματα αναζήτησης παραλείπουν το κείμενο του άρθρου εξ ορισμού, για να παραμείνουν οι απαντήσεις μικρές. Ζητήστε το ρητά όταν έχετε επιλέξει τα άρθρα που πραγματικά θέλετε:

bash
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 tokens για ένα μοντέλο γλώσσας. Επιλέξτε πρώτα, στη συνέχεια φέρτε τα σώματα των άρθρων. Δείτε κόστος tokens.

4. Μετρήστε αντί να αναφέρετε

Συχνά η χρήσιμη ερώτηση δεν είναι «ποια είναι τα άρθρα» αλλά «υπάρχει κάτι εδώ καθόλου, και πού βρίσκεται». Μετρώντας απαντήσεις για ένα κλάσμα του κόστους — περίπου 200 tokens έναντι μερικών χιλιάδων για μια σελίδα αποτελεσμάτων — το οποίο το καθιστά τη σωστή πρώτη κλήση για ένα agent που αποφασίζει αν αξίζει να εκτελεστεί μια αναζήτηση:

bash
curl -H "Authorization: Bearer $FNA_KEY" "https://freenewsapi.ai/v1/stats?q=earthquake&date=7d"

Η απόκριση παρέχει μετρήσεις ανά χώρα, γλώσσα, ζώνη τομέα, εκδότη και ημέρα, υπολογισμένα για ολόκληρο το σύνολο των αντιστοιχίσεων και όχι μόνο για τη τρέχουσα σελίδα.

Σε Python

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

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));

Επόμενο