Internal link inventories
Collect destinations and anchor text before reviewing navigation, contextual links, or orphan-page workflows.
Normalized links from one webpage
Turn the links in a public webpage into structured data without maintaining a separate parser. Each result keeps the destination, anchor text, relationship, and rel attributes together, while fetch evidence shows which page was actually processed.

Endpoint
POST /v1/linksSet your key once in a server-side environment variable, then send a JSON request.
curl --request POST \
--url "https://api.tooltrace.io/v1/links" \
--header "X-ToolTrace-Key: ${TOOLTRACE_KEY}" \
--header "Content-Type: application/json" \
--data '{
"url": "https://example.com"
}'Response scope
The response is structured for software, with source evidence kept beside the extracted or inspected data.
Practical uses
Collect destinations and anchor text before reviewing navigation, contextual links, or orphan-page workflows.
Compare normalized destinations before and after URL, template, or navigation changes without parsing each page by hand.
Turn a source page into a structured list for citation review, content research, and controlled downstream queues.
Implementation guidance
The endpoint extracts links from the requested page. It does not visit every destination or report whether those destinations are broken. Your application decides which URLs are in scope and whether to request more pages.
Relative destinations are resolved against the fetched page so the response can be filtered and deduplicated consistently. Keep the requested URL, final URL, and source-page context with stored results.
Anchor text can be empty, generic, or misleading. Values such as nofollow, sponsored, and ugc describe the publisher's relationship with a link, but they do not prove that the destination is safe, live, or indexable.
Send your key through the X-ToolTrace-Key header from server-side code. Read credit and rate-limit headers after every request. Validation, blocked destination, authentication, plan, and upstream fetch errors use structured responses that applications should handle by code rather than message text.
Use a dedicated key for each environment. Review current fields in the interactive API reference and compare usage limits on the pricing page.