WebUplink
Guides

Browsing Pages

Learn how to open pages, read summaries, and extract data with WebUplink.

Browsing Pages

Browsing is the core operation in WebUplink. Every interaction starts with observing a page.

Opening a New Page

Pass a URL to create a new browser session:

const page = await client.browse('https://news.ycombinator.com');

console.log(page.session_id);  // "sess_abc123" — use for follow-up requests
console.log(page.url);         // Current URL (may differ due to redirects)
console.log(page.title);       // "Hacker News"
console.log(page.summary);     // "30 stories. #1: 'Flipper One'..."
console.log(page.tools);       // Available actions on this page

Reading the Summary

The summary field is a 1-3 sentence overview generated by AI. It's always present and designed for quick agent decisions:

"Hacker News front page. 30 stories.
#1: 'Flipper One – we need your help' (342 pts, 127 comments).
#2: 'Show HN: Open-source alternative to Linear' (89 pts, 23 comments)."

Using include_page_content

For data extraction tasks, request detailed page content:

const page = await client.browse({
  url: 'https://news.ycombinator.com',
  include_page_content: true,
});

console.log(page.page_content);
// "Hacker News front page showing 30 ranked stories:
// 1. Flipper One – we need your help (flipperdevices.com) — 342 pts
// 2. Show HN: Open-source alt to Linear (github.com) — 89 pts
// ..."

When to Use page_content

ScenarioUse summaryUse page_content
Quick decision making
"What is this page about?"
Data extraction (all items)
Reading documentation
Comparing prices/options

page_content is generated by a separate LLM call, so it adds latency. Only request it when your agent needs to parse specific items or read detailed content.

Usage Tracking

Every browse response includes usage metadata in the _usage field:

const page = await client.browse('https://example.com');

if (page._usage) {
  console.log(page._usage.actionCount);  // 42 — actions used this period
  console.log(page._usage.actionLimit);  // 1000 — plan limit
  console.log(page._usage.periodStart);  // "2026-06-01T00:00:00Z"
}

On this page