Webpage Link Extraction API
Extract links from public webpages for content inventories, navigation reviews, reference collection, and link-processing workflows.
Webpage Link Extraction API
Extract links from a public webpage and receive an ordered list with an entry count. Use it to prepare content inventories, review navigation, or collect references for a separate processing workflow.
View API details or try the Demo.
Request
Send GET https://api.gugudata.io/v1/websitetools/url2links with both parameters
in the query string. No JSON body is needed.
| Parameter | Required | Description |
|---|---|---|
appkey |
Yes | Application key. Keep it in server-side configuration. |
url |
Yes | Complete public HTTP or HTTPS URL, up to 2,048 characters. |
URLs with credentials, IP addresses, or non-standard ports are not accepted. Encode the full source URL as one parameter so its own query string stays intact.
curl --get 'https://api.gugudata.io/v1/websitetools/url2links' \
--data-urlencode 'appkey=YOUR_APPKEY' \
--data-urlencode 'url=https://gugudata.io/'
Response
The following example illustrates the response shape, not a fixed homepage link inventory. Source pages and their links can change.
{
"dataStatus": {
"requestParameter": "url_host=gugudata.io&url_path=/",
"statusCode": 200,
"status": "SUCCESS",
"statusDescription": "successfully",
"responseDateTime": "2026-09-08 00:00:00+0000",
"dataTotalCount": 1
},
"data": {
"result": ["https://gugudata.io/list/"],
"count": 1,
"requestParameter": "url_host=gugudata.io&url_path=/"
}
}
| Field | Type | Meaning |
|---|---|---|
data.result |
Array of strings | Extracted link strings in returned order. |
data.count |
Integer | Number of entries in data.result. |
data.requestParameter |
String | Source host and path, without query parameters or credentials. |
An empty array is a successful result with count: 0. Duplicates are preserved.
Link strings can include fragments or non-HTTP destinations such as email links.
The API does not visit the returned links or verify their availability.
Treat links as untrusted input. Apply your own scheme and destination rules before opening them or using them in a crawler. Extraction is not a broken-link checker and does not guarantee that every element of a restricted page is accessible.
Demo
The Demo extracts links from the GuGuData homepage.
Successful results are cached for 15 minutes. Headers
X-GuGuData-Demo-Mode and X-GuGuData-Generated-At identify the
live or cached result and generation time.
The Demo’s request parameter identifies its public input URL.
Failed extraction is not replaced with a preset link list and is not cached. Use the authenticated endpoint for your own source URLs.
Errors
Check both the HTTP status and dataStatus.statusCode before using the result.
| HTTP status | Meaning |
|---|---|
400 |
Missing or invalid source URL; business status is 400. |
401 / 403 |
Missing, invalid, or unauthorized application key. |
429 |
Request limit reached. |
500 |
Unexpected service error. |
503 |
Extraction could not be completed; business status is 500. |
Unavailable or restricted pages and unusually large results may fail. Keep retries bounded, and avoid repeated requests for unchanged invalid input.