Endpoint
Authentication
No authentication required. All endpoints useuserId for session isolation.
Path parameters
string
required
The unique identifier of the tab
Query parameters
string
required
User identifier for session isolation
integer
default:"50"
Maximum number of links to return per request (used for pagination)
integer
default:"0"
Starting index for pagination (0-based)
Response
array
Array of link objects
object
Pagination metadata
Link extraction behavior
- Only links with
hrefattribute are included - Only HTTP/HTTPS URLs are included (filters out
mailto:,tel:,javascript:, etc.) - Anchor text is trimmed and truncated to 100 characters
- Empty anchor text appears as empty string
"" - Links are returned in DOM order (top to bottom)
- No deduplication - duplicate URLs appear multiple times if they exist multiple times in the DOM
Error codes
400- Missing required parameter (userId)404- Tab not found500- Internal server error
Examples
Get first 50 links (default)
Get links with custom limit
Paginate through links
Get all links (large page)
Use cases
Site crawling
Extract all links from a page to build a crawl queue:Find specific link
Search for a link by text or URL pattern (client-side filtering):Verify navigation options
Check what links are available before choosing where to navigate:Filtering and deduplication
The endpoint does not perform server-side filtering or deduplication. To filter links:Client-side deduplication (bash + jq)
Filter by domain
Filter by anchor text
Comparison with snapshot
Best practices
- Use moderate limits: Start with
limit=50, increase only if needed - Scroll first for lazy-loaded links: Call
/scrollbefore/linksfor infinite-scroll pages - Deduplicate client-side: Use
jqor similar tools to remove duplicate URLs - Filter by domain: Avoid following external links when crawling a specific site
- Check
hasMore: Always verify pagination metadata before assuming you have all links