Skip to main content
WebUplink

The whole web, as function calls.

PyPI version CI License: MIT

Official Python SDK for WebUplink.

Installation

pip install webuplink

Quickstart

from webuplink import WebUplink

client = WebUplink()  # reads WEBUPLINK_API_KEY from env

# Browse a page — get back structured, callable tools
page = client.browse("https://example.com")
print(page.summary)
print(page.tools)  # [Tool(name='...', description='...', params=[...]), ...]

# Execute a tool discovered on the page
tool = page.tools[0]
result = client.browse(
    session_id=page.session_id,
    tool=tool.name,
    params={tool.params[0].name: "some value"},
)

# Clean up
client.close_session(page.session_id)

Async

from webuplink import AsyncWebUplink

async with AsyncWebUplink() as client:
    page = await client.browse("https://example.com")
    print(page.tools)

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 raises a typed WebUplinkError carrying the machine-readable code, HTTP status_code, and request_id (cite it in support tickets):

from webuplink import WebUplink, WebUplinkError

client = WebUplink()

try:
    page = client.browse("https://example.com")
except WebUplinkError as err:
    print(err.code)         # e.g. 'QUOTA_EXCEEDED', 'SITE_BLOCKED'
    print(err.status_code)  # e.g. 429, 502
    print(err.request_id)   # '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 have 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-python.git
cd webuplink-python
pip install -e ".[dev]"
pytest

License

MIT

Metadata

Release files for webuplink 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webuplink 1.1.0
File Size Uploaded Provenance Actions
webuplink-1.1.0.tar.gz 18.3 kB With provenance Details for webuplink-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for webuplink 1.1.0
File Interpreter ABI Platform Actions
webuplink-1.1.0-py3-none-any.whl Python 3 none any Details for webuplink-1.1.0-py3-none-any.whl

Total release size: 32.9 kB

Security for webuplink 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page