Article Readability API Guide
Extract readable article HTML, plain text and available metadata from webpages or raw HTML.
Extract readable articles
Turn a webpage or HTML document into reader-friendly article content. Use the HTML for reading views, the plain text for indexing, and available metadata for content review.
View API details or try the Demo.
Send a page or HTML
Use POST /v1/websitetools/readability with your AppKey in the query string. Send exactly one of url or html in the JSON body.
| Input | Limit |
|---|---|
url |
Complete public HTTP/HTTPS URL, at most 2,048 characters |
html |
Nonempty HTML, at most 1 MiB in UTF-8 |
Keep your AppKey on your server. Do not include credentials in the page URL.
curl 'https://api.gugudata.io/v1/websitetools/readability?appkey=YOUR_APPKEY' \
-H 'Content-Type: application/json' \
--data '{"html":"<html><title>Sample article</title><body><article><p>Readable article text.</p></article></body></html>"}'
For an existing page, replace the body with a public article URL:
{
"url": "https://gugudata.github.io/gugudata-io/guides/article-content-extraction-api-seo-guide/"
}
Read the result
Successful responses use the standard lowercase dataStatus and data envelope. Article data includes:
| Field | Meaning |
|---|---|
title |
Article title; may be empty if unavailable |
content |
Reader-friendly article HTML |
textContent |
Extracted plain text |
length |
Length of the extracted text |
byline |
Author information, or null |
dir |
Text direction, or null |
lang |
Document language, or null |
excerpt |
Short excerpt, or null |
siteName |
Site name, or null |
publishedTime |
Available publication metadata, or null |
Metadata is extracted from the page, not independently verified. Do not assume every page has an author or publication date, and do not treat a language value as a separate language-detection result.
The article structure and extracted text depend on the page. Navigation, comments, product catalogs and very short documents may not contain a readable article. This API does not promise a pixel-identical copy or unrestricted access to protected pages.
Handle errors
| HTTP status | Meaning |
|---|---|
| 400 | Invalid JSON, URL or input selection |
| 401 / 403 | Missing authorization or unavailable access |
| 413 | Input or downloaded HTML exceeds the size limit |
| 422 | Unsupported content or no readable article |
| 429 | Request limit reached |
| 502 | Page download, rendering or response failure |
| 503 | Extraction temporarily unavailable |
Do not treat an extraction error as an empty successful article. Check both HTTP status and dataStatus. The audit parameter summarizes the input without echoing submitted HTML or URL query values.
Preview and workflows
The Demo extracts a real public guide and reuses the result for 15 minutes. Its response identifies the source page, and the Demo headers distinguish a fresh result from a cached one.
Use extracted articles to build reading lists, review queues, search indexes or summarization pipelines. Respect the source website’s terms and content rights.