What Bowmark is
The web as a typed function library your agent calls by writing code.
Bowmark reorganizes web functionality into a typed capability library. An agent reads the library, writes a short JavaScript script against it, and Bowmark runs that script on the live sites and hands back structured data.
That is the whole product surface. Two calls, in order:
// 1 — read the vocabulary. No site is touched.
const library = await get_library({ query: "flights" });// 2 — hand `run` a script written against it. This is the script,
// not a third call — everything below executes in the sandbox.
const { flights, warnings } = await bowmark.flights.search({
from: "SFO",
to: "JFK",
depart: "2026-09-01",
});
return { flights: flights.slice(0, 3), warnings };What it is for
Anything that depends on what a site shows right now, or on something a person would have to operate a website to get: current prices, live availability, search results, a quote, a fare, a configurator, a booking flow, anything behind a form, a filter, or a login.
What it is not for
localhost and private-range addresses, open-ended search with no destination, local
files, JSON APIs you can already call directly, and facts already in your training
data. Reach for your normal approach on those.
Where to go next
- How it works — the two calls, drawn, and the two tiers in the library.
- Installation — ChatGPT, Claude Code, Cursor, Codex, or any MCP client.
- Scripting — the language: globals, sandbox rules, and how to read the response.