no key · no human
HomeAPI documentationGET /v1/article

GET /v1/article

One article, by URL, with the full body text included by default.

bash
curl "https://freenewsapi.ai/v1/article?url=https://example-news.com/world/climate-summit-opens"

Parameters

urlstring, required

The exact article URL as it appears in the url field of a search result. Matched literally — a trailing slash, a different scheme or an added query string will not match. URL-encode it when passing it on a command line.

full_textbooleandefault true

Include the article body. On by default here, unlike in /v1/search, because fetching one article by URL almost always means you want to read it.

Response

A single article object, not wrapped in a list. Fields are the same as a search hit — see response fields.

When to use this instead of search

Search omits the article body by default because bodies dominate response size: a page of 20 results grows from roughly 12 KB to 90 KB when you ask for text. The efficient pattern is therefore two-stage — search wide without bodies, decide which articles matter, then fetch those bodies one at a time here.

For a language model the difference is stark. Twenty articles with full_text=true is about 18,000 tokens, most of them spent on articles the model will discard. Eight deliberately chosen bodies fetched through this endpoint is about 7,000, and the answer is better because the eight were selected rather than the first twenty being dumped in. The full pattern is on the RAG recipe page.

Errors

404 when the URL is not in the index. That means one of three things: the article is older than the 30-day retention window, our sources never captured it, or the URL differs from the indexed one by a character. Search for the title first if you are unsure.

This endpoint does not fetch the live page. It returns what was extracted at crawl time, which is exactly what the search index holds. If the publisher has since edited or removed the article, you get the crawled version.