New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

webuplink

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webuplink

Official TypeScript SDK for WebUplink — the whole web, as function calls.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source
WebUplink

The whole web, as function calls.

npm version CI License: MIT

Official TypeScript SDK for WebUplink.

Installation

npm install webuplink

Quickstart

import { WebUplink } from 'webuplink';

const client = new WebUplink(); // reads WEBUPLINK_API_KEY from env

// Browse a page — get back structured, callable tools
const page = await client.browse('https://example.com');
console.log(page.summary);
console.log(page.tools); // [{ name: '...', description: '...', params: [...] }, ...]

// Execute a tool discovered on the page
const tool = page.tools[0];
const result = await client.browse({
  session_id: page.session_id,
  tool: tool.name,
  params: { [tool.params[0].name]: 'some value' },
});

// Clean up
await client.closeSession(page.session_id);

What you can build

  • AI agents that act on the web — browse any site, get back named, callable tool definitions, execute actions
  • No selectors, no scraping — WebUplink understands pages and generates callable tools automatically
  • Multi-step workflows — sessions persist across navigations, so your agent can search → filter → select → checkout
  • Any website, zero configuration — works on sites you've never seen before

Error handling

Every non-2xx response throws a typed WebUplinkError carrying the machine-readable code, HTTP statusCode, and requestId (cite it in support tickets):

import { WebUplink, WebUplinkError } from 'webuplink';

try {
  const page = await client.browse('https://example.com');
} catch (err) {
  if (err instanceof WebUplinkError) {
    console.log(err.code);       // e.g. 'QUOTA_EXCEEDED', 'SITE_BLOCKED'
    console.log(err.statusCode); // e.g. 429, 502
    console.log(err.requestId);  // 'req-abc-123'
  }
}

Transient error responses that carry retry_after (e.g. BROWSER_ERROR, AI_PROCESSING_ERROR) are retried automatically for observe-only requests. Raw transport failures for any browse POST are not retried and are marked retryable: false, because the server may already have received the request; idempotent GET/DELETE operations retain bounded transport retries. SITE_BLOCKED — the site served a bot-verification challenge or access-denied page; the request is not billed — carries no retry_after and is never auto-retried. Tool executions are never auto-retried (non-idempotent), and errors from tool-bearing calls expose retryable: false even when the server includes a diagnostic retry_after.

Full error reference at webuplink.ai/docs/errors.

Documentation

Full reference at webuplink.ai/docs.

Contributing

git clone https://github.com/webuplink-dev/webuplink-node.git
cd webuplink-node
npm install
npm test

License

MIT

Keywords

webuplink

FAQs

Package last updated on 02 Sep 2026

Related posts