Free news API for AI agents
Tech, AI, business and science news in English and Czech as JSON, Markdown or RSS. No key, no sign-up, no SDK: one HTTP GET. Every article carries its sources, a category and a link to its page.
Today's news for your agent's context:
No key needed, up to 120 requests a minute. Reference for agents: JSON docs and OpenAPI 3.1.
Try it
Pick a request. The answer below is the live response from the API, exactly what your code or agent receives.
What you can ask for
| Endpoint | Returns |
|---|---|
GET /v1/articles | Articles, newest first. Filter by category, search words, time window; 1 to 100 per page. |
GET /v1/articles/{id} | One article with its full text, sources and the other-language version. Add .md for Markdown. |
GET /v1/briefing.md | The last N hours (1 to 168) grouped by topic, as Markdown ready for a prompt. Without .md it is JSON. |
GET /v1/stats | Feed statistics: totals, articles per day, topics, cited sites, API usage. |
GET /v1/categories | The five topics with article counts. |
GET /v1/feed.xml | RSS 2.0 of the newest articles, per language and topic. |
Base URL: https://techtools.cz/news-api. Full reference for agents: /news-api/docs (JSON) and /news-api/openapi.json.
Filters for /v1/articles
langen(default) orcs. The two languages are separate article sets with their own ids.categoryai,technology,business,science,other. Several at once:ai,science.q- Words to find in the title, summary or text.
since,until- A date (
2026-10-01), a time (2026-10-14T08:00:00Z) or an age:90m,24h,7d,2w. page,per_page- Pages from 1, 1 to 100 articles each (default 20).
links.nextholds the next page's URL. contentfalseleaves out the article text for a lighter list.
One article
Every article has the same shape in every endpoint. Link url when you show it to people; sources are the reporting it is based on.
{
"id": 2511,
"lang": "en",
"title": "…",
"summary": "…",
"category": "ai",
"category_label": "AI",
"published_at": "2026-10-14T10:00:59Z",
"url": "https://techtools.cz/tools/news/article/2511-…",
"markdown_url": "https://techtools.cz/news-api/v1/articles/2511.md?lang=en",
"image_url": "https://…",
"word_count": 164,
"reading_time_minutes": 1,
"sources": [{ "url": "https://www.reuters.com/…", "domain": "reuters.com" }],
"translation": { "lang": "cs", "id": 2547, "url": "https://techtools.cz/tools/news/clanek/2547-…" },
"content": "First paragraph…\n\nSecond paragraph…"
}
From code
Python
import requests
r = requests.get("https://techtools.cz/news-api/v1/articles",
params={"category": "ai", "since": "24h"}, timeout=10)
for a in r.json()["data"]:
print(a["published_at"], a["title"], a["url"])
JavaScript
const res = await fetch("https://techtools.cz/news-api/v1/briefing.md?hours=12");
const briefing = await res.text(); // Markdown, ready for a prompt
As a tool for an LLM agent
Agents that read OpenAPI (GPT Actions, LangChain, Semantic Kernel and similar) can take /news-api/openapi.json as it is. With plain function calling, one tool is enough:
{
"name": "get_tech_news",
"description": "Recent AI, technology, business and science news with sources (TechTools News).",
"parameters": {
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["ai", "technology", "business", "science", "other"] },
"q": { "type": "string", "description": "Words to search for" },
"since": { "type": "string", "description": "Age such as 24h or 7d" }
}
}
}
// Implementation: GET https://techtools.cz/news-api/v1/articles?category=…&q=…&since=…&content=false
Limits and fair use
- 120 requests per minute from one IP address. Over the limit the API answers
429withRetry-After: 60. - Responses are cached for 2 to 10 minutes and a new story arrives about every 4 hours, so polling every 15 minutes is plenty.
- Errors are JSON with a
code, for exampleunknown_categorywith the allowed values, so an agent can correct itself. - Credit TechTools News and link the article's url when you show an article to people.
Questions
Is the news API really free?
Yes. There is no paid plan, no key and no sign-up. The only limit is 120 requests per minute from one IP address.
Do I need an API key?
No. Every endpoint answers a plain HTTP GET without a key, a cookie or any header, and allows cross-origin calls from browsers.
How fresh is the news?
A new story is published about every 4 hours, about events reported in the previous day or two. Responses are cached for 2 to 10 minutes, so polling every 15 minutes is plenty.
Which languages are available?
English and Czech. Add lang=cs for Czech. A story published in both languages links the other version in its translation field.
Can I show the articles in my app or agent?
Yes. Credit TechTools News and link the article's url when you show an article to people. For anything that matters, read the original reporting listed in sources.
Who writes the articles?
An automated journalist: an AI model with web search picks a story from the last 24 to 48 hours, writes it in English and Czech and lists the sources it used.
How do I connect it to ChatGPT, Claude or another agent?
Give the agent the OpenAPI file at https://techtools.cz/news-api/openapi.json, or define one tool that calls /news-api/v1/articles or /news-api/v1/briefing.md. Agents that can fetch URLs can read the Markdown briefing directly.