Search

News Search

Search news articles from thousands of sources worldwide.

Endpoint#

GEThttps://api.searlo.tech/api/v1/search/news

Credits: 1 per request

Parameters#

ParameterTypeRequiredDescription
qstringYesSearch query (1–500 chars)
limitnumberNoResults per page (1–10, default: 10)
pagenumberNoPage number (default: 1)
glstringNoCountry code, max 5 chars (e.g. us)
hlstringNoInterface language code, max 5 chars (e.g. en)
dateRestrictstringNoOnly articles from the last n days, weeks, months or years: d7, w2, m1, y1. Articles dated before the window are dropped, so a dated page can hold fewer than limit
cachebooleanNofalse skips the cached copy and searches now. Same credits (default: true)

Response#

JSON
{  "searchParameters": { "q": "technology", "type": "news", "gl": "us", "num": 10, "page": 1 },  "page": 1,  "nextPage": 2,  "previousPage": null,  "totalResults": 12500,  "searchTime": 0.28,  "news": [    {      "position": 1,      "title": "Tech News Article",      "link": "https://news.example.com/article",      "snippet": "Article summary...",      "description": "A longer summary from the article's own metadata.",      "source": "Example News",      "date": "2026-09-28T10:30:00Z",      "thumbnail": "https://news.example.com/article.jpg"    }  ],  "credits": 1}

Examples

curl "https://api.searlo.tech/api/v1/search/news?q=technology&limit=10" \  -H "x-api-key: sk_your_api_key"
const res = await fetch(  "https://api.searlo.tech/api/v1/search/news?q=technology&limit=10",  { headers: { "x-api-key": process.env.SEARLO_API_KEY } });const data = await res.json();data.news.forEach(a => console.log(`[${a.source}] ${a.title}`));
import osimport requests response = requests.get(    "https://api.searlo.tech/api/v1/search/news",    params={"q": "technology", "limit": 10},    headers={"x-api-key": os.environ["SEARLO_API_KEY"]})for a in response.json()["news"]:    print(f"[{a.get('source')}] {a['title']}")

Stuck? Write to [email protected], or check live status.