API features
Article-focused image candidates
Collect the hero image and images from the readable article area instead of unrelated page furniture.
Absolute image URLs
Resolve relative and lazy-loaded sources against the final page URL for easier downstream use.
Best srcset candidate
Select the strongest available image candidate from responsive srcset declarations.
Stable order and deduplication
Preserve meaningful article order while removing repeated final image URLs.
Alt text and dimensions
Receive alternative text and declared width or height values when the page provides them.
SEO and media workflows
Build image audits, media inventories, content previews, accessibility checks, and editorial pipelines.
API Document
HTTP Protocol:HTTPS
HTTP Method:POST
HTTP Endpoint:https://api.gugudata.io/v1/websitetools/fetchcontentimages
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/websitetools/fetchcontentimages/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
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/extract-images-from-article-url-api-seo-guide/ | Complete public HTTP or HTTPS article URL, up to 2048 characters. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| url | string | Final page URL after redirects. |
| images | array<object> | Ordered, deduplicated article image candidates. |
| images.src | string | Selected image source value. |
| images.absoluteUrl | string | Final absolute HTTP or HTTPS image URL. |
| images.alt | string | Image alternative text, or an empty string. |
| images.width | string | null | HTML width attribute when available. |
| images.height | string | null | HTML height attribute when available. |
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 processed as a readable 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. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 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. |
Remote MCP
Use this API through GuGuData Remote MCP
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}Code Snippets
Frequently asked questions
What does the article image extractor return?
It returns an ordered, deduplicated list of image candidates from a public article URL. Each item can include src, absoluteUrl, alt, width, and height.
Does the API download the images for me?
No. The response contains image references and metadata. Download the images separately if your workflow needs local files, and check the source permissions before storing or republishing them.
Can it recognize products or read text inside an image?
No. This endpoint extracts image candidates from a webpage; it does not inspect image pixels, perform OCR, or return product attributes inferred from an image.
Are image dimensions and alternative text always available?
No. Width and height are reported from the HTML when available, and alt can be empty. These fields should not be treated as verified dimensions of every downloaded image.
Can I submit an image file instead of an article URL?
This endpoint accepts a public HTTP or HTTPS article URL, up to 2,048 characters. It does not accept an image upload or a standalone image-recognition request.
What does the 5 requests per second limit mean?
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
Is total paid usage limited?
There is no total request cap during an active paid subscription and no usage-based overage charge.
How does the free trial work?
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
How do renewal and cancellation work?
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
Service terms
Read our service terms and privacy policy before subscribing.




