This site is not affiliated with or endorsed by Cloudflare, Inc. It simply showcases experiments built using Cloudflare services.
Cloudflare Experiments

Browser Links

Extract links from JavaScript-rendered pages using Browser Rendering

Load a page in a headless browser and return all unique anchor links after JavaScript rendering.

API Endpoint

url string (required)

The website URL to inspect (must be http or https)

Example Request

curl "https://your-worker.workers.dev/links?url=https://www.cloudflare.com"

Success Response

url string

The normalized URL that was loaded

linkCount number

Number of unique links returned

truncated boolean

Whether results were capped at 500 links

links array

Each item has href and text

{
  "url": "https://www.cloudflare.com/",
  "linkCount": 42,
  "truncated": false,
  "links": [{ "href": "https://www.cloudflare.com/plans/", "text": "Plans" }]
}

Error Codes

  • 400 - Missing or invalid url (INVALID_URL)
  • 502 - Navigation or extraction failed (LINKS_ERROR)

Use Cases

  • Crawl SPAs and client-rendered navigation
  • Build sitemaps from fully rendered pages
  • Compare static HTML links vs browser-rendered links

Deployment

Enable Browser Rendering

Browser Rendering must be enabled on your account.

Local Development

cd apps/experiments/browser-links
npm install
npm run dev

npm run dev uses wrangler dev --remote so a real browser instance is available.

Cloudflare Features Used

On this page