GET /v1/article
One article, by URL, with the full body text included by default.
curl "https://freenewsapi.ai/v1/article?url=https://example-news.com/world/climate-summit-opens"Parameters
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.
trueInclude 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.