LLaatulehti API

Uutisotsikot tekoälylle

Hae haluamasi tuntimäärän uutisotsikot yhdellä GET-pyynnöllä. Vastaus on JSONia. API on avoin ja toimii ilman avainta.

Viimeisten 6 tunnin otsikot

GET https://laatulehti.fi/api/headlines?hours=6

Avaa esimerkkivastaus · OpenAPI-kuvaus tekoälytyökalulle

curl 'https://laatulehti.fi/api/headlines?hours=6&language=fi'

Parametrit

ParametriArvot ja oletus
hoursTuntimäärä: yli 0 ja enintään 720. Oletus 24. Myös esimerkiksi 0.5 käy.
languagefi (oletus), en tai original.
countryJulkaisijan maa, esimerkiksi FI tai FI,SE,DE. Oletuksena kaikki maat. Tämä ei tarkoita jutun tapahtumamaata.
sourceYksi lähde, esimerkiksi fi-hs. Lähdetunnukset löytyvät lähderekisteristä.
topicEsimerkiksi politiikka tai talous. Vaihtoehdot: aiheluokittelu.
time_basiscollected (oletus): ensimmäisen keruuajan mukaan. published: julkaisuaika, tai sen puuttuessa ensimmäinen keruuaika.
limit1–1000 otsikkoa sivulla, oletus 500.
untilValinnainen aikaikkunan loppu ISO 8601 -muodossa aikavyöhykkeineen. Oletuksena pyynnön hetki. Sopii myös aiempien ajanjaksojen hakuun.
cursorSivutustunniste. Käytä vastauksen next_url-osoitetta suoraan.

Vastauksen lukeminen

headlines sisältää otsikot uusimmasta vanhimpaan. Jokaisessa on otsikko, alkuperäinen otsikko, todellinen kieli, lähde, alkuperäisen jutun linkki ja aikaleimat. window kertoo täsmällisen aikaikkunan UTC-ajassa. Lähteen omat tiedot päivittyvät keruuajojen yhteydessä.

Jos pyydetty käännös puuttuu, otsikko palautetaan alkuperäiskielellä. Tällöin translation_status on unavailable ja language kertoo todellisen kielen. Käännöksiä ei käynnistetä API-pyynnöllä.

original_language kertoo alkuperäisen lähdeotsikon kielen myös silloin, kun title on käännetty. Urheiluksi tunnistetut jutut jätetään pois.

genre kertoo juttutyypin. genre_origin on publisher, kun tieto tulee lähteeltä; alkuperäinen merkintä on source_genre_label. title tarkoittaa otsikon perusteella tehtyä arviota ja default uutinen-oletusta.

total on koko aikaikkunan osumamäärä, count tämän sivun määrä. Jos has_more on tosi, hae next_url. Jatka, kunnes se on null. Aikaikkuna pysyy sivutuksessa samana ja samanaikaisesti kerättävät uudet jutut tulevat seuraavaan erilliseen hakuun.

import json
from urllib.request import urlopen

url = 'https://laatulehti.fi/api/headlines?hours=6'
while url:
    with urlopen(url, timeout=30) as response:
        page = json.load(response)
    for item in page['headlines']:
        print(item['title'], item['source']['name'], item['url'])
    url = page['next_url']

Esimerkki rajatusta hausta: 24 tuntia, englanti, suomalaiset ja ruotsalaiset lehdet, politiikka.