From raw webpages to deterministic agent actions — with full observability.
Most tools help agents load pages or read content.
SentienceAPI helps agents act — reliably.
Modern LLMs are good at deciding what they want to do.
They are unreliable at deciding where to do it on a real webpage.
Sentience fixes this by removing guesswork from action selection.
SentienceAPI sits between the browser and your LLM.
It converts live webpages into action-ready targets that agents can select deterministically — without brittle selectors or probabilistic vision.
(LLM + Logic)
Defines the goal
Natural language intent
(Python / TS)
WASM Ext
Gateway (Cloud)
Actions
(LLM + Logic)
Defines the goal
Natural language intent
(Python / TS)
(Cloud)
Your agent (LLM + logic) decides what it wants to do:
Sentience does not replace planning or reasoning.
Using the Sentience SDK (Python or TypeScript), your agent:
snapshot()This snapshot is not HTML or pixels — it's structured geometry with semantic rankings.
A lightweight browser extension captures:
No inference. No guessing. Just ground truth.
Raw geometry is sent to the Sentience Gateway, which:
This is the intelligence layer.
Your agent selects a target from the grounded action space:
The SDK executes the action exactly where intended, with no retries in most cases.
Want to see this in action?
Run a live example using the Sentience SDK — no setup required.👉Try it live
Browser infrastructure gives you a place to run code.
Sentience gives your agent certainty about where to act.
Without grounded action selection, agents still guess.
Scrapers are excellent for:
They do not tell an agent:
Reading ≠ acting.
Sentience is built for agents that must interact.
Instead of pixels or raw DOM, your agent gets:
Every step is recorded automatically:
These traces power:
Nothing is hidden. Nothing is guessed.
If your agent only reads text, Sentience is unnecessary.
If your agent must click, type, scroll, or submit — Sentience is the missing layer.
If you're building agents that must act, SentienceAPI is the missing layer.
Explore interactive SDK examples or test the API directly with real automation scenarios
Navigate to a login page, find email/password fields semantically, and submit the form.
1# No selectors. No vision. Stable semantic targets.
2from sentience import SentienceBrowser, snapshot, find, click, type_text, wait_for
3
4# Initialize browser with API key
5browser = SentienceBrowser(api_key="sk_live_...")
6browser.start()
7
8# Navigate to login page
9browser.page.goto("https://example.com/login")
10
11# PERCEPTION: Find elements semantically
12snap = snapshot(browser)
13email_field = find(snap, "role=textbox text~'email'")
14password_field = find(snap, "role=textbox text~'password'")
15submit_btn = find(snap, "role=button text~'sign in'")
16
17# ACTION: Interact with the page
18type_text(browser, email_field.id, "user@example.com")
19type_text(browser, password_field.id, "secure_password")
20click(browser, submit_btn.id)
21
22# VERIFICATION: Wait for navigation
23wait_for(browser, "role=heading text~'Dashboard'", timeout=5.0)
24
25print("✅ Login successful!")
26browser.close()Find elements by role, text, and visual cues - not fragile CSS selectors
Intelligent filtering reduces token usage by up to 73% vs vision models
Same input produces same output every time - no random failures
SentienceAPI focuses on execution intelligence. Browser runtimes and navigation engines are intentionally decoupled.