Links
GET /api/v1/links
Every link found on a page — internal and external — with its anchor text, rel attributes, dofollow status, link type and (for hreflang) language targeting. One call, no crawl task.
Query parameters
| Name | Type | Description |
|---|---|---|
url required | string | The page to extract links from. |
direction optional | string | Filter to internal or external. Default: both. |
check_status optional | boolean | If true, fetch each target to fill status_code and is_broken. |
Request
Response
200 · application/json
- {
- "url": "https://example.com",
- "totalCount": 4,
- "summary": {
- "total": 4,
- "internal": 3,
- "external": 1,
- "dofollow": 3,
- "nofollow": 1,
- "sponsored": 0,
- "ugc": 0,
- "emailLinks": 1,
- "telLinks": 0,
- "emptyAnchors": 2,
- "genericAnchors": 3
- },
- "items": [
- {
- "type": "anchor",
- "direction": "internal",
- "href": "https://example.com/about",
- "text": "About us",
- "dofollow": true,
- "rel": "",
- "statusCode": 200,
- "isBroken": false
- }
- ]
- }
Response fields
| Field | Type | Description |
|---|---|---|
type | string | anchor, image, canonical, alternate or meta. |
direction | string | internal or external. |
href | string | Absolute target URL. |
text | string | Anchor text (or image alt for image links). |
dofollow | boolean | False when rel="nofollow" (or sponsored/ugc). |
statusCode / isBroken | integer / boolean | Populated when check_status=true. |
summary.internal / summary.external | integer | Link mix: counts of internal vs external links. |
summary.dofollow / summary.nofollow / summary.sponsored / summary.ugc | integer | rel attribute breakdown across all links. |
summary.emailLinks / summary.telLinks | integer | Counts of mailto: and tel: links. |
summary.emptyAnchors | integer | Links with no anchor text — bad for SEO. |
summary.genericAnchors | integer | Non-descriptive anchors like "click here" / "read more". |
See Errors for status codes.