Webpage Link Extraction API

Extract links from public webpages for content inventories, navigation reviews, reference collection, and link-processing workflows.

Try the live demoView API details →

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.