Article Readability API Guide

Extract readable article HTML, plain text and available metadata from webpages or raw HTML.

Try the live demoView API details →

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.