LLM-ready Article Content Extraction API LLM Markdown

Back to Details
# LLM-ready Article Content Extraction API

Extract clean, LLM-ready article content and metadata.

## API Overview

- **HTTP Protocol:** HTTPS
- **HTTP Method:** POST
- **HTTP Endpoint:** https://api.gugudata.io/v1/websitetools/fetchcontent
- **Response Type:** application/json; charset=utf-8
- **DEMO Endpoint:** https://api.gugudata.io/v1/websitetools/fetchcontent/demo
- **Live Demo:** https://gugudata.io/demo/fetchcontent
- **Postman:** https://www.postman.com/gugudata/gugudata-io
- **LLM Page:** https://gugudata.io/details/fetchcontent/llm
- **Raw Markdown:** https://gugudata.io/details/fetchcontent/llm.md

## Remote MCP

- **MCP Endpoint:** https://mcp.gugudata.io/mcp
- **MCP Guide:** https://gugudata.io/mcp/
- **Authorization:** OAuth authorization opens in the browser; do not paste appkeys into MCP clients.
- **Tool Scope:** MCP clients receive GuGuData API tools available to the authorized account.

## Data & API Features

- Readable HTML and clean text: Receive the article body as cleaned HTML and paragraph-preserving plain text for different downstream needs.
- Complete article metadata: Capture the final URL, title, description, author, publication time, and source in one request.
- Primary image and image candidates: Use the main image plus ordered, deduplicated image records with alt text and available dimensions.
- LLM and RAG-ready output: Feed normalized article text into retrieval, summarization, classification, and knowledge workflows.
- Multilingual webpage support: Extract readable content from common international encodings, including English and Chinese pages.
- Search and monitoring workflows: Standardize public articles for indexing, competitive research, archives, and scheduled content analysis.

## API Request Parameters

| Name | Type | Is Required | Default Value | Remark |
| --- | --- | --- | --- | --- |
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| url | string | true | https://gugudata.github.io/gugudata-io/guides/article-content-extraction-api-seo-guide/ | Complete public HTTP or HTTPS article URL. |

## API Response Parameters

| Name | Type | Remark |
| --- | --- | --- |
| url | string | Final article URL after redirects. |
| title | string | Extracted article title or an empty string. |
| description | string | Article summary or an empty string. |
| content | string | Clean readable article HTML. |
| contentText | string | Plain article text with paragraph boundaries. |
| image | string | Primary article image URL or an empty string. |
| images | array<object> | Stable image list with src, absoluteUrl, alt, width, and height. |
| author | string | Article author or an empty string. |
| published | string | Publication time or an empty string. |
| source | string | Source publisher or host. |

## API Response Status Codes

| Status Code | Explanation of Status Code | Remarks |
| --- | --- | --- |
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 422 | The target response cannot be extracted as an article. | Use an HTML article page with readable body content and a valid redirect chain. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 502 | The target website could not be reached successfully. | Retry later or verify that the target website is available. |
| 503 | The extraction service is temporarily unavailable. | Retry later or contact support if the error persists. |

## cURL Example

```bash
curl --location 'https://api.gugudata.io/v1/websitetools/fetchcontent?appkey=YOUR_APPKEY' --request POST --header 'Content-Type: application/json' --data '{
  "url": "https://gugudata.github.io/gugudata-io/guides/article-content-extraction-api-seo-guide/"
}'
```