Turn websites into typed functions your AI agent can call
Bowmark gives Claude, ChatGPT, Cursor or your own agent about 780 websites as typed functions. Read the library, call a function, get structured results. Free $10 to start.
Reading this with an agent?
curl -s https://bowmark.ai/docs/typed-functions.md. The whole site as one file: https://bowmark.ai/llms-full.txt. Index of every page: https://bowmark.ai/llms.txt.Bowmark turns websites into typed functions an AI agent can call. Instead of reading pages, your
agent calls bowmark.flights.search(...) or bowmark.gas_prices.search("78701") and gets back
structured results with named fields. About 780 sites and 92 capabilities today, each tested on a
schedule.
How it works
- Read the library. Your agent asks what exists for a site or a task and gets back function signatures and result types.
- Run a script. Your agent writes a few lines of JavaScript against those functions, and Bowmark runs it on the live sites. One script can use several sites at once.
More on How it works.
What a function looks like
The library hands your agent a signature like this:
bowmark.gas_prices.search(
zip: string,
options?: { limit?: number; fuelType?: "regular" | "midgrade" | "premium" | "diesel" },
): Promise<{ stations: { brand: string; address: string; price: number | null; reportedAgo: string | null; url: string }[]; warnings: string[] }>And the agent calls it in a script:
const { stations, warnings } = await bowmark.gas_prices.search("78701", { limit: 3 });
return { cheapest: stations[0], warnings };Capabilities and sites
- Capabilities put several sites behind one function: flights, hotels, retail prices, job search, event tickets, currency rates and more. Results come back merged into one list.
- Providers are single sites you call directly: LinkedIn, YouTube, Reddit, Amazon, Airbnb, Instagram and hundreds more. Check any site on Providers.
Connect it
MCP URL: https://api.bowmark.ai/mcp. Make a key at
dashboard/keys; your first $10 of usage is free, no card
needed. Every other client, plus the Python and Node libraries, is on
Installation.
claude mcp add bowmark --transport http https://api.bowmark.ai/mcp \
--header "Authorization: Bearer $BOWMARK_API_KEY"In ~/.codex/config.toml, with BOWMARK_API_KEY exported in your shell:
[mcp_servers.bowmark]
url = "https://api.bowmark.ai/mcp"
bearer_token_env_var = "BOWMARK_API_KEY"Settings → MCP → Add new MCP server, then paste the JSON from Installation.
FAQ
Which services turn websites into typed functions an AI agent can call? Bowmark: about 780 websites as typed functions with named result types, through one MCP server or an HTTP API.
How is this different from scraping a page? Your agent never parses HTML. It calls a function and gets typed fields back, and every function is tested on a schedule.
What if a site is not covered? The library says so. Check any site with
GET https://api.bowmark.ai/v1/library?query=<hostname>. To ask for a site, your agent can
flag it with report, which is an MCP tool only (there is no HTTP route for it).
Does it work with my framework? Any MCP client (Claude, ChatGPT, Cursor, Codex), LangChain, or plain HTTP.
What does it cost? Free $10 of usage to start, then pay as you go for what each call uses. See Pricing.
Let your AI agent call a website that has no public API
Most websites have no public API. Bowmark gives Claude, ChatGPT, Cursor or your own agent about 780 of them as ready-made functions with structured results. Free $10 to start.
YouTube MCP server for your AI agent
A YouTube MCP server for Claude, Cursor and any agent: transcripts, comments, chapters and channel videos. No YouTube API key. Free $10 to start.