# Article Extractor
Extract structured article content and metadata from URLs or HTML.
## API Overview
- **HTTP Protocol:** HTTPS
- **HTTP Method:** POST
- **HTTP Endpoint:** https://api.gugudata.io/v1/article/extract
- **Response Type:** application/json; charset=utf-8
- **DEMO Endpoint:** https://api.gugudata.io/v1/article/extract/demo
- **Live Demo:** https://gugudata.io/demo/article-extract
- **Postman:** https://www.postman.com/gugudata/gugudata-io
- **LLM Page:** https://gugudata.io/details/article-extract/llm
- **Raw Markdown:** https://gugudata.io/details/article-extract/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
- Public URL or raw HTML input: Extract article content from a live public webpage or from HTML supplied directly by your application.
- Structured editorial metadata: Receive the title, description, author, publication date, source, favicon, and article type in one record.
- Readable article body: Isolate the primary article content from surrounding navigation, promotional blocks, and page furniture.
- Links and image context: Capture page links, the lead image, image alternatives, and related visual context when available.
- Estimated reading time: Use the returned reading-time value to support previews, prioritization, and editorial planning.
- Research-ready content records: Standardize articles for monitoring, archiving, content analysis, and downstream knowledge workflows.
## 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 | | Target webpage URL. |
## API Response Parameters
| Name | Type | Remark |
| --- | --- | --- |
| DataStatus.StatusCode | integer | Application-level status code. |
| DataStatus.StatusDescription | string | Human-readable application status message. |
| DataStatus.ResponseDateTime | string | Time at which the response was generated. |
| DataStatus.DataTotalCount | integer | Number of matching or returned records for this request. |
| Data.url | string | Source URL of the article. |
| Data.title | string | Extracted article title. |
| Data.description | string | Article description/summary. |
| Data.links | array<string> | Array of links contained in the article. |
| Data.image | string | Main article image URL. |
| Data.content | string | Extracted article content (HTML format, with ads and navigation removed). |
| Data.author | string | Article author (if available, may be empty string). |
| Data.favicon | string | Website favicon URL. |
| Data.source | string | Source website domain (e.g., sohu.com). |
| Data.published | string | Article publication date/time (format: YYYY-MM-DD HH:MM). |
| Data.ttr | integer | Estimated reading time (Time to Read, in minutes). |
| Data.type | string | Article type (e.g., news, article, etc.). |
## 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. |
| 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. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
## cURL Example
```bash
curl --location 'https://api.gugudata.io/v1/article/extract?appkey=YOUR_APPKEY' --request POST --header 'Content-Type: application/json' --data '{
"url": "YOUR_VALUE"
}'
```